Rectangle SOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

※当サイトにはプロモーションリンクが含まれます。

Rectangle SOP の矩形プリミティブ生成機能を示す図

記事更新の通知はXでアナウンス٩(๑❛ᴗ❛๑)
@maru6o6をフォロー

概要 📖 – 矩形プリミティブを生成

Rectangle SOPは、指定平面に四角形プリミティブを生成し、Size / Center / Anchor で配置と UV を制御する SOPです。Orientation で配置平面を選び、カメラビューフィット・入力 SOP のバウンディング追従・UV 付与など、矩形 1 枚を素早く作る基本オペレータです。

主な用途 🎯

  • 四角形ポリゴンの生成 (XY / YZ / ZX のいずれかの平面に Size と Center で配置)
  • カメラビューに自動フィットする矩形 (Orientation を Fill Camera View にしてビルボード・スクリーン面として使用)
  • 入力 SOP のバウンディングに沿った矩形配置 (Modify Bounds で入力ジオメトリの範囲に自動フィット)
  • UV 付き矩形面のレンダリング下地 (Texture Coordinates を Face にしてテクスチャ表示の素地を作る)
  • Anchor U / V による位置・スケール・回転の基準点制御で、変形やコピー配置時のピボットを精密に指定

データフロー 🔄

入力 (オプション): バウンディング元 SOP

Orientation で基準平面を決定

Size / Center / Anchor で矩形配置を指定

Texture Coordinates / Compute Normals で属性を付与

出力: 矩形プリミティブの SOP

Tips

初心者の方は、以下日本語書籍も手元にあると安心です。

まる。
まる。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!


パラメータ解説 ⚙️

Page 📁

Orientation .orient 🧭

矩形を配置する基準平面、またはカメラビュー追従モード

項目 内部名 説明
XY plane .xy XY 平面 (Z 軸が法線方向) に矩形を生成
YZ plane .yz YZ 平面 (X 軸が法線方向) に矩形を生成
ZX plane .zx ZX 平面 (Y 軸が法線方向) に矩形を生成
Fill Camera View .cam 指定したカメラの方向を向き、ビューを埋めるサイズに自動調整 (ビルボード・スクリーン面用途)

Camera 追従関連パラメータ 📷

Camera .camera 🎥
Camera (カメラ参照) — OrientationFill Camera View のときに参照する Camera COMP を指定
– パス入力欄に Camera COMP の OP path (例: /project1/cam1) を入れる

Camera Z .camz 📏
Camera Z (カメラ距離) — カメラからの距離を指定する任意の単位値
– 矩形をカメラから Camera Z 単位だけ離した位置に置き、その距離でビューを埋めるようにスケーリングする

Camera Aspect .cameraaspect 🖼️
Camera Aspect (カメラのアスペクト比) — 参照カメラのビューポートに矩形のアスペクト比を合わせる
cameraaspectx / cameraaspecty の 2 軸で指定、テクスチャをカメラビューにそのまま合わせやすい

バウンディング入力関連パラメータ 📐

Modify Bounds .modifybounds 🔧
Modify Bounds (バウンディング修正) — 入力 SOP が接続されているときのみ有効
– オンにすると入力ジオメトリのバウンディングに矩形をフィットさせつつ、下記 Size / Center で位置・スケールを追加修正できる
– オフのときは入力のバウンディングそのままで矩形が配置される

Size / Center 関連パラメータ 📏

Size .size 📏
Size (サイズ) — 矩形の X / Y 方向の寸法
sizex / sizey の 2 軸で指定
OrientationFill Camera View または入力 SOP 接続時はスケール係数として機能、それ以外は絶対サイズとして機能

Center .t 📍
Center (中心位置) — 矩形の中心を X / Y / Z 座標で指定
tx / ty / tz の 3 軸
– カメラ追従モードや入力 SOP 接続時はオフセットとして機能、それ以外は絶対位置として機能

Anchor 関連パラメータ ⚓

Reverse Anchors .reverseanchors ↔️
Reverse Anchors (アンカー反転) — Anchor U / Anchor V の方向を反転させる

Anchor U .anchoru 📍
Anchor U (Uアンカー) — X 方向で位置・スケール・回転の基準となるアンカー位置を指定
– コピーや変形の支点を矩形の左端・中央・右端などに精密に揃えるときに使う

Anchor V .anchorv 📍
Anchor V (Vアンカー) — Y 方向で位置・スケール・回転の基準となるアンカー位置を指定
– コピーや変形の支点を矩形の下端・中央・上端などに精密に揃えるときに使う

Texture Coordinates .texture 🎨

矩形面への UV テクスチャ座標割り当て方式

項目 内部名 説明
Off .off UV 座標を生成しない (UV アトリビュート無し)
Face .face 矩形の頂点に (0, 1) 範囲の UV 座標を割り当て (テクスチャ表示の標準設定)

法線関連パラメータ 🧭

Compute Normals .normals 🧮
Compute Normals (法線計算) — オンにすると矩形面のサーフェス法線 (N アトリビュート) を計算する
– レンダリングでライティングを正しく評価するために必要


実践アイデア 💡

Example 1: 基本矩形を 1 ノードで生成 🟢

Rectangle SOP (Orientation=XY plane, Size=2,2, Texture=Face) → Geometry COMP → Render TOP

Rectangle SOP デフォルト設定で 2×2 単位の矩形をXY 平面に生成し、Geometry COMP に渡してレンダリングする最小構成。スクリーン面・テクスチャ表示用 quad・床面の素地として頻繁に使う基本パターン。

  1. Rectangle SOP を配置し OrientationXY plane に設定
  2. Size を 2, 2 に、Center を 0, 0, 0 に設定して原点周りに展開
  3. Texture CoordinatesFace にして UV を生成
  4. Compute Normals をオンにしてライティング用法線を有効化
  5. Geometry COMP に接続し、Camera COMP / Light COMP / Render TOP でレンダリング結果を確認

Example 2: カメラ追従ビルボード 📷

Rectangle SOP (Orientation=Fill Camera View, Camera=/project1/cam1, Camera Z=5) → Geometry COMP

OrientationFill Camera View に切り替え、参照カメラを指定して矩形をカメラ正面の指定距離に配置する例。Movie File In TOP をテクスチャに割り当てれば、画面いっぱいに動画を表示するビルボードとして使える。

  1. Rectangle SOP を配置し OrientationFill Camera View に変更
  2. Camera に参照する Camera COMP の OP path (例: /project1/cam1) を入力
  3. Camera Z をカメラからの距離 (例: 5) に設定して矩形の前後位置を決定
  4. Camera Aspect をカメラのアスペクト比に合わせて矩形の縦横比を一致させる
  5. Geometry COMP に接続し、TOP テクスチャを MAT 経由で割り当ててカメラ正面の表示面として確認

Example 3: バウンディング追従マスク 📐

入力 SOP → Rectangle SOP (Modify Bounds=On, Size 倍率指定) → Geometry COMP

入力ジオメトリのバウンディング Box に矩形を自動フィットさせ、Modify Bounds をオンにしたうえで Size を倍率として与えてマスクや背景パネルを生成する例。後段で Copy SOP と組み合わせれば、複数オブジェクトのアウトラインを一括で囲む使い方もできる。

  1. 入力 SOP (Box SOP / Sphere SOP など) を Rectangle SOP の input 1 に接続
  2. Modify Bounds をオンにして入力ジオメトリのバウンディングに矩形をフィット
  3. Size を 1.2, 1.2 などにして入力バウンディングより少し大きい矩形に拡張
  4. Center でオフセットを掛けて矩形の位置を微調整
  5. Geometry COMP に接続して結果を確認、必要に応じて後段で MAT を割り当てる

関連オペレータ 🔗

類似機能OP 🔍

  • Grid SOP — 細かく分割された平面メッシュ (Rectangle に Rows / Cols 分割と NURBS / Bezier モードを追加したような上位互換)
  • Box SOP — 立方体・直方体プリミティブ (Rectangle は Box の 1 面に相当)
  • Circle SOP — 円・円盤プリミティブ (Rectangle と並ぶ 2D 基礎形状 SOP)

組み合わせ推奨OP 🔄

  • Transform SOP — Rectangle の出力にさらに移動・回転・スケールを掛ける
  • Copy SOP — Rectangle を複製してタイル状・パターン状に並べる
  • Noise SOP — Rectangle の頂点をノイズで揺らして歪んだ面を生成
  • Geometry COMP — Rectangle の出力をレンダリングパイプラインに投入

前処理・後処理SOP 🎯


Info CHOP情報 📊

Rectangle SOP は Info CHOP による詳細情報取得に対応しています。

ジオメトリ統計 📐

  • num_points: この SOP に含まれるポイント数
  • num_prims: この SOP に含まれるプリミティブ数
  • num_particles: この SOP に含まれるパーティクル数

GPU 転送タイミング 🎮

  • last_vbo_update_time: 別スレッドで SOP の CPU データを GPU 上のジオメトリデータに更新するのにかかった時間 (フレーム時間外)
  • last_meta_vbo_update_time: 別スレッドで metaball や NURBS のようなメタサーフェスジオメトリデータを GPU に更新するのにかかった時間 (フレーム時間外)

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始以降にこのオペレータがクックされた合計回数
  • cook_time: 直近のクック所要時間 (ミリ秒)
  • cook_frame: このオペレータが最後にクックされたフレーム番号
  • warnings: このオペレータの警告数
  • errors: このオペレータのエラー数

クック統計 ⏱️

  • total_cooks: total_cooks — プロセス開始以降にこのオペレータがクックされた合計回数
  • cook_time: cook_time — 直近のクック所要時間 (ミリ秒)
  • cook_frame: cook_frame — このオペレータが最後にクックされたフレーム番号

トラブルシューティング ⚠️

よくある問題と解決策 🔧

❌ Problem: Fill Camera View モードにしても矩形がカメラに追従しない
✅ Solution:

  • Camera パラメータに参照する Camera COMP の OP path が正しく入っているか確認 — 空または存在しないパスを指していると追従しない
  • Camera Z が 0 のままだとカメラ位置と一致して見えなくなる場合があるため、適切な距離 (例: 5 以上) を設定
  • Camera Aspect がカメラのビューポートと異なるとアスペクト比がずれるため、Camera COMP の Aspect と合わせる

❌ Problem: Modify Bounds が効かない
✅ Solution:

  • Modify Bounds は input 1 に SOP が接続されているときのみ有効になる仕様 — 上流に SOP を接続しているか確認
  • 入力 SOP のポイント数が 0 の場合はバウンディングが取得できないため挙動が無視される — 上流の SOP がジオメトリを出力しているか確認
  • Modify Bounds をオフのままだと Size / Center の変更が入力ジオメトリのバウンディングに上書きされて反映されない

❌ Problem: テクスチャが貼られない / UV が出ない
✅ Solution:

  • Texture CoordinatesOff のままだと UV が生成されない仕様 — Face に切り替えて (0, 1) 範囲の UV を付与
  • 矩形自体に UV があっても後段の SOP で UV を上書き / 削除している可能性があるため、レンダリング直前の SOP に Info DAT を当てて UV アトリビュートの有無を確認
  • MAT 側でテクスチャ参照が外れていないか (TOP path / Sampler の設定) も併せて確認

❌ Problem: Anchor U / V を変えても支点が思った位置にならない
✅ Solution:

  • Anchor U / Anchor V は -1 〜 1 の正規化座標で矩形の端から端を示す仕様 — 0 が中央、1 / -1 が端
  • 想定と逆方向に動く場合は Reverse Anchors をオンにしてアンカー方向を反転
  • Anchor は矩形ローカル座標で評価されるため、後段で Transform SOP を適用するとさらにワールド座標が変動する点に注意

参考資料 📚

その他 🔗

公式リソース 📖

この記事はLLMと共に内容を執筆、更新しています。
最新バージョンとの項目差異など、情報の不一致を見つけた心優しい方はXもしくはInsta、メールなどよりサイト管理者までご連絡ください😎


まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。
ご飯行きましょう。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
Math Combine POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED Select TOP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
ZED POP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Window COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】
Widget COMP 完全ガイド | 使い方・パラメータ解説【TouchDesigner】

タイトルとURLをコピーしました