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

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

Select SOP がネットワーク内の別の場所にある SOP をパス参照で取得して下流に提供する図

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

概要 📖 – 別の場所のSOPを参照

Select SOPは、ワイヤー接続を使わず、ネットワーク内の別の場所にある SOP をパス文字列で指定して参照する選択中継 SOPです。Select SOP は Null SOP と類似した中継ノードですが、Null SOP が上流ワイヤー接続を必要とするのに対し、Select SOP は sop パラメータに指定したパス文字列で SOP を取得する点が異なります。これによりネットワーク図上の配線を増やさずに別 COMP 内・親階層・templates 配下の SOP を参照でき、動的なジオメトリ切替や集中管理レジストリ的な使い方が可能になります。さらに参照先が 1 つだけの場合は内部でメモリを共有するため、ジオメトリデータを複製せず効率的に取得できます。

主な用途 🎯

  • ワイヤー接続なしで遠隔の SOP を参照し、ネットワーク図の配線を増やさずに別 COMP 内のジオメトリを取得
  • 動的なジオメトリ切替として、sop (参照先 SOP のパス) パラメータにエクスプレッションを書き状況に応じて参照先を切替
  • ジオメトリレジストリ風の集中管理として、共有 SOP 群を 1 箇所にまとめ Select SOP 群からパス参照
  • カスタム COMP の外部 SOP 参照として、サブネット内から親階層・別ブランチ・templates 配下の SOP を取得
  • メモリ共有による効率化として、1 つの SOP のみ参照する場合は内部メモリを共有し、ジオメトリの複製を避ける

データフロー 🔄

参照元: ネットワーク内のいずれかの SOP (Box / Sphere / File In 等)
↓ (パス参照、ワイヤー無し)
Select SOP が sop パスで取得

出力: 下流 SOP または Geometry COMP の SOP 参照先

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Select Page 🎯

参照先 SOP .sop 🎯

取得対象 SOP のパスを指定:

  • SOP (参照先 SOP): sop (参照先 SOP のパス) — 取得対象 SOP のパス。相対パス (例: ../geo/box1) でも絶対パス (例: /project1/registry/main_geo) でも指定可能。エクスプレッションを記述すれば動的切替も可能。なお参照先が 1 つだけの場合は内部メモリが共有され、ジオメトリデータは複製されません

実践アイデア 💡

Example 1: 別 COMP を配線レス参照 🔌

/project1/source_geo/box1 (別 COMP 内) → Select SOP (sop = /project1/source_geo/box1) → Geometry COMP

別 COMP 内に置いたジオメトリ生成 SOP を、ワイヤー接続を引き回さずに参照したい場面で使う基本パターン。ネットワーク図が散らからず、subnet 境界をまたいだ参照も簡単に書けます。

  1. 参照元として Box SOP を別 COMP (例: /project1/source_geo) 内に配置
  2. 参照したい場所に Select SOP を新規作成
  3. Select SOP の sop パラメータに参照元のパス /project1/source_geo/box1 を入力
  4. Select SOP の出力をそのまま Geometry COMP や下流の SOP に接続
  5. 参照元 Box SOP のパラメータを変更すると、Select SOP 経由で下流にも即座に反映される

Example 2: 式で参照先を動的切替 🔀

複数の SOP 候補 (geo_box / geo_sphere / geo_torus) → Select SOP (sop = エクスプレッション) → Geometry COMP

Select SOP の sop パラメータにエクスプレッションを書くことで、外部条件 (Constant CHOP の値・スイッチ・タイマー等) に応じて参照する SOP を実行時に切替できます。Switch SOP 方式 (全候補をワイヤー接続) では実現できない、パス文字列レベルでの軽量な動的選択が可能です。

  1. 用意するジオメトリ (例: geo_box / geo_sphere / geo_torus) を同階層に配置
  2. 切替制御用に Constant CHOP を作成し、チャンネル idx0 / 1 / 2 を入れる
  3. Select SOPsop パラメータに次のエクスプレッションを入力: ['geo_box','geo_sphere','geo_torus'][int(op('constant1')['idx'])]
  4. Geometry COMP の SOP パラメータに Select SOP のパスを指定
  5. Constant CHOP の idx 値を変更すると、Select SOP が参照する SOP が切替り、表示ジオメトリが動的に変化する

Example 3: 形状を集中管理 📚

ジオメトリ集約 COMP (/project1/geo_registry に Box / Sphere / Torus / File In SOP 多数) → 各シーン側の Select SOP 群がパス参照 → それぞれの Geometry COMP

プロジェクト規模が大きくなると、複数のシーンや COMP で同じジオメトリを使い回したくなります。Select SOP を使えばジオメトリ定義を 1 つの「ジオメトリレジストリ COMP」に集約し、各シーン側からはパス参照だけで取得できます。定義変更も 1 箇所で済み、メモリ共有も働くため効率的です。

  1. プロジェクトルート直下に ジオメトリレジストリ COMP (例: /project1/geo_registry) を作成
  2. そこに使いまわす SOP を全て配置 (Box SOP / Sphere SOP / Torus SOP / File In SOP 等を命名付きで整理)
  3. 各シーンに Select SOP を配置し、sop/project1/geo_registry/<geo_name> を指定
  4. Geometry COMPSOP 指定先は手元の Select SOP に統一 (シーン内で完結)
  5. ジオメトリ定義を変更したいときは /project1/geo_registry/ 内の SOP を 1 箇所更新するだけで全シーンに反映される

関連オペレータ 🔗

類似機能OP 🔍

  • Null SOP — ワイヤー接続経由でジオメトリを中継するパススルー SOP。Select SOP が「パス文字列で取得」するのに対し Null SOP は「ワイヤー接続で中継」する点が差別化要素
  • In SOP — カスタム SOP subnet の入力点。subnet 内部から外部 SOP を受取る用途で、Select SOP のような任意パス参照ではなく subnet I/O に限定される
  • Out SOP — カスタム SOP subnet の出力点。In SOP と対になる subnet I/O 専用 SOP
  • Object Merge SOP — 複数の SOP パスを一度にマージ取得できる兄弟 OP。Select SOP が「1 つの参照」なのに対し Object Merge SOP は「複数パスをまとめて統合」する用途

組み合わせ推奨OP 🔄

  • Geometry COMPSOP パラメータに Select SOP のパスを指定する代表的な下流 COMP
  • Switch SOP — 複数のジオメトリをインデックスで切替える兄弟 OP。Switch SOP がワイヤー前提なのに対し Select SOP はパス文字列で切替できる、用途で使い分け
  • Merge SOP — Select SOP で取得した複数ジオメトリを 1 つに統合する後段 SOP
  • Transform SOP — Select SOP で取得したジオメトリを下流で移動・回転・スケールするための変形 SOP
  • Replicator COMP — 複製した Geometry COMP 群が共通の Select SOP を SOP 参照することで、複製先全体のジオメトリを一括制御

前処理・後処理SOP 🎯


Info CHOP情報 📊

Select 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 — プロセス開始以降に Select SOP がクックされた合計回数
  • cook_time: cook_time — 直近のクック所要時間 (ミリ秒)
  • cooked_this_frame: cooked_this_frame — 当該フレームでクックされた場合は 1

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

よくある問題と解決策 🔧

❌ Problem: Select SOP を指定したのに下流にジオメトリが流れない (空 SOP になる)
✅ Solution:

  • sop (参照先 SOP のパス) パラメータに指定したパスが正しいか確認。スペルミス・大文字小文字・相対パスの基準位置を見直し、ノードビューで対象 SOP が存在するか目視で確かめる
  • 参照先の SOP が無効化・Bypass 状態になっていないか、その SOP 自体が正常にクックしているかを Info CHOP で確認 (num_points / num_prims が 0 でないか)
  • 参照先 SOP がエラー状態になっている場合は、Select SOP からもエラーが伝播するため、参照先のエラーをまず解消する

❌ Problem: エクスプレッションでパスを切替えても参照先 SOP が更新されない
✅ Solution:

  • エクスプレッションの結果が文字列として有効な SOP パスを返しているか、sop パラメータを右クリック → Show Parameter Value で実際の評価結果を確認
  • エクスプレッション内で参照している CHOP / DAT が正常にクックしているか、依存元のクックタイミングを Info CHOP で確認
  • Geometry COMP のクック順序が問題でキャッシュが古い場合は、ネットワーク全体のクックを強制更新 (Force Cook) する

❌ Problem: Select SOP がパフォーマンスを圧迫する / メモリ使用量が予想より多い
✅ Solution:

  • 同じ参照先を指す Select SOP が複数ある場合、各 Select SOP は独立してデータを取得します。参照元を 1 つの Select SOP に統一し、その出力を下流で分岐する構成に変える
  • 参照先 SOP が頻繁にクックされる重い処理の場合は、上流側にも Null SOP を挟んでキャッシュ点を作る
  • 参照先が 1 つだけの場合は内部メモリ共有が働くため、不要な Select 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をコピーしました