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

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

Grid SOP の平面格子メッシュ生成機能を示す図

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

概要 📖 – 平面格子メッシュ・NURBS・Bezier サーフェスの生成

Grid SOPは、平面格子状のメッシュ・NURBS・Bezier サーフェスを Rows / Cols 分割と Primitive Type で生成する SOPです。入力 SOP がある場合は Modify Bounds でバウンディング Box にフィットさせ、Rows / Cols で頂点密度を、Texture Coordinates で UV を制御できます。

主な用途 🎯

  • 平面格子ポリゴンメッシュの生成 (XY / YZ / ZX のいずれかの平面に Size と Rows / Cols で展開)
  • Rows / Cols による頂点密度制御で、後段 Noise SOP / Deform 系の変形解像度を確保
  • 入力 SOP のバウンディングに沿った Grid 配置 (Modify Bounds で入力ジオメトリの範囲に自動フィット)
  • NURBS / Bezier サーフェスの生成 (Primitive Type で切替、U Order / V Order でスプライン次数を指定)
  • Connectivity と Texture Coordinates の切替で頂点接続方式 (Rows / Cols / Triangles / Quads 等) と UV 生成方式を選択

データフロー 🔄

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

Size / Center / Anchor でジオメトリ配置を決定

Rows / Cols でメッシュ分割密度を指定

Primitive Type と Connectivity で表現方式を選択

出力: 平面格子の Mesh / NURBS / Line SOP

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Page 📁

Primitive Type .type 🧱

Grid を生成する際のプリミティブ表現方式

項目 内部名 説明
Mesh .mesh ポリゴンメッシュとして Grid を生成 (一般的な用途・後段 Deform 系と互換)
NURBS .nurbs NURBS サーフェスとして Grid を生成 (U Order / V Order でスプライン次数を指定)
Bezier .bezier Bezier サーフェスとして Grid を生成 (U Order / V Order でスプライン次数を指定)

※ 注意: Primitive Type を選択した時点で、その方式に対応しない一部の SOP パラメータは無効化されます。

引用元: 公式 docs

Connectivity .surftype 🔗

メッシュ / ポリゴンの頂点接続方式 (Mesh の場合のみ可視)

項目 内部名 説明
Rows .rows 横方向 (行) のラインのみで構成
Columns .cols 縦方向 (列) のラインのみで構成
Rows and Columns .rowcol 行と列の両方のラインで構成 (ワイヤフレーム表示では Quads に見えるが、ポリゴンは open)
Triangles .triangles 三角形ポリゴンで Grid を構成
Quadrilaterals .quads 四角形ポリゴンで Grid を構成 (デフォルト)
Alternating Triangles .alttriangles 対角を交互に反転させた三角形で Grid を構成

※ 注意: Connectivity は Primitive Type が Mesh のときにのみ結果が反映されます (NURBS / Bezier では無視)。

引用元: 公式 docs

Orientation .orient 🧭

Grid を配置する基準平面

項目 内部名 説明
XY Plane .xy XY 平面 (Z 軸が法線方向) に Grid を生成
YZ Plane .yz YZ 平面 (X 軸が法線方向) に Grid を生成
ZX Plane .zx ZX 平面 (Y 軸が法線方向) に Grid を生成

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

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

Size / Center 関連パラメータ 📏

Size .size 📏
– Grid の X / Y 方向のスケール (寸法)
sizex / sizey の 2 軸で指定

Center .t 📍
– Grid の中心位置を X / Y / Z 座標で指定
tx / ty / tz の 3 軸

Anchor 関連パラメータ ⚓

Reverse Anchors .reverseanchors ↔️
– Anchor U / V の方向を反転させる

Anchor U .anchoru 📍
– X 方向で位置・スケール・回転の基準となるアンカー位置を指定

Anchor V .anchorv 📍
– Y 方向で位置・スケール・回転の基準となるアンカー位置を指定

Rows / Columns 分割パラメータ 🔢

Rows .rows
– 横方向のラインの本数 (行数)
– 2 Rows × 2 Cols で 1 つの四角形になり、1 Row × 2 Cols で Connectivity が Rows のときは単一の横ライン
– NURBS / Bezier サーフェスでは Rows の本数は対応する U Order を下回ってはならない

Columns .cols
– 縦方向のラインの本数 (列数)
– Rows と組み合わせて頂点密度を決める。後段 Noise SOP / Deform 系の解像度はここで決まる
– NURBS / Bezier サーフェスでは Cols の本数は対応する V Order を下回ってはならない

NURBS / Bezier Order 関連パラメータ 📈

U Order .orderu 🔢
– U 方向 (X 軸方向) のスプライン基底の次数 + 1
– Primitive Type が NURBS / Bezier のときのみ有効。Rows の本数より大きく設定するとエラー

V Order .orderv 🔢
– V 方向 (Y 軸方向) のスプライン基底の次数 + 1
– Primitive Type が NURBS / Bezier のときのみ有効。Cols の本数より大きく設定するとエラー

End Point Interpolate in U .interpu 📌
– U 方向の端点をサーフェスが通るように補間
– Primitive Type が NURBS / Bezier のときに端点位置を厳密に揃えたい場合にオン

End Point Interpolate in V .interpv 📌
– V 方向の端点をサーフェスが通るように補間
– Primitive Type が NURBS / Bezier のときに端点位置を厳密に揃えたい場合にオン

Texture Coordinates .texture 🎨

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

項目 内部名 説明
Off .off UV 座標を生成しない
Row & Columns .rowcol Rows / Cols の分割に基づいて UV 座標を生成

法線関連パラメータ 🧭

Compute Normals .normals 🧮
– オンにすると Grid 面のサーフェス法線を計算する
– レンダリングでライティングを正しく評価するために必要


実践アイデア 💡

Example 1: 基本平面メッシュを 1 ノードで生成 🟢

Grid SOP (Primitive Type=Mesh, Connectivity=Quads, Size=2,2, Rows=2, Cols=2) → Geometry COMP → Render TOP

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

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

Example 2: 高解像度 Grid を Noise SOP で変形して地形を生成 🌊

Grid SOP (Rows=100, Cols=100, Connectivity=Triangles) → Noise SOP → Geometry COMP

Grid SOP の Rows / Cols を 100×100 に設定して頂点密度を上げ、後段の Noise SOP で Y 方向に変位させてプロシージャル地形を生成する典型パターン。Rows / Cols が変形のディテール解像度を決める。

  1. Grid SOP を配置し RowsColumns をともに 100 に設定して頂点密度を上げる
  2. ConnectivityTriangles にして変形時に面が破綻しにくい三角形分割を選択
  3. OrientationZX Plane にして Y 軸を法線方向 (上方向) に揃える
  4. Noise SOP を後段に接続し、Y 軸方向の Amplitude / Frequency / Roughness で地形の起伏を調整
  5. Geometry COMP に接続して結果を確認

Example 3: NURBS サーフェスとしての Grid を生成 ✨

Grid SOP (Primitive Type=NURBS, Rows=8, Cols=8, U Order=4, V Order=4) → Point SOP → Geometry COMP

Primitive Type を NURBS に切り替え、U Order / V Order でスプライン次数を指定したスムーズなサーフェスを生成する例。後段の Point SOP でコントロールポイントを動かすことで滑らかな曲面を造形できる。

  1. Grid SOP を配置し Primitive TypeNURBS に変更
  2. RowsColumns を 8 に、U Order / V Order を 4 に設定
  3. End Point Interpolate in U / End Point Interpolate in V をオンにして端点を厳密に通すよう補間
  4. Point SOP を後段に接続し、コントロールポイントの Y 座標を式や Noise で操作してサーフェス形状を整形
  5. Geometry COMP に接続してスムーズな NURBS 曲面を確認

関連オペレータ 🔗

類似機能OP 🔍

  • Rectangle SOP — 矩形プリミティブ (Grid SOP の Rows=2 / Cols=2 相当の最小構成)
  • Box SOP — 立方体・直方体プリミティブ (Grid SOP は Box の 1 面に相当)
  • Circle SOP — 円・円盤プリミティブ (Grid と並ぶ 2D 基礎形状 SOP)

組み合わせ推奨OP 🔄

  • Noise SOP — Grid の頂点をノイズで変位させて地形・波・有機形状を生成
  • Transform SOP — Grid の出力にさらに移動・回転・スケールを掛ける
  • Copy SOP — Grid を複製してタイル状やパターン状に並べる
  • Geometry COMP — Grid の出力をレンダリングパイプラインに投入

前処理・後処理SOP 🎯


Info CHOP情報 📊

Grid 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: Rows / Cols を増やしても変形のディテールが上がらない
✅ Solution:

  • 後段の Noise SOP / Deform 系は Grid の頂点位置にしか作用しないため、RowsColumns の本数が変形解像度の上限になる仕様 — 必要な解像度に合わせて Rows / Cols を増やす
  • ConnectivityQuadrilaterals のままだと変形時に四角形が破綻して見えやすいので Triangles に切り替えると安定する
  • 頂点数を増やしすぎるとクックコストが急増するため、Info CHOPnum_points でポイント数を確認しつつ調整

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

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

❌ Problem: NURBS / Bezier に切り替えるとエラーになる
✅ Solution:

  • U OrderRows の本数より大きい、または V OrderColumns の本数より大きいとエラーになる仕様 — Rows / Cols を Order 以上に増やすか、Order を Rows / Cols 以下に下げる
  • Connectivity は NURBS / Bezier では無視される — 形状が想定と違う場合は Primitive TypeMesh に戻す
  • 後段に Convert SOP を接続して NURBS / Bezier をポリゴンに変換すると下流の SOP との互換性が確保できる

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

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

参考資料 📚

その他 🔗

公式リソース 📖

この記事は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をコピーしました