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

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

In SOP がカスタムジオメトリ subnet の入力点として機能する図

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

概要 📖 – 外部形状を取り込む

In SOPは、サブネットの入力点として、外部 SOP の形状データを内部に公開する中継 SOPです。baseCOMP や Geometry COMP でカスタムジオメトリ subnet を構築するときに、外部 SOP を内部へ取り込むために配置するノードです。Out SOP と対になり subnet の入出力構造を成し、再利用可能なジオメトリ処理ユニットを作る際の基礎部品として使用されます。

主な用途 🎯

  • カスタムジオメトリ subnet (baseCOMP / Geometry COMP) に外部 SOP を公開する入力点
  • Out SOP と対になる接続点として subnet の入出力構造を明示化
  • 再利用可能なジオメトリ処理をカプセル化したカスタム SOP subnet の構築
  • 複数入力 SOP subnet (multi-input ジオメトリ合成) の入口
  • 形状データのパススルーとして subnet 内部からの参照経路を一本化

データフロー 🔄

入力: COMP 外部の SOP (Geometry / Particle / File In 等)

In SOP が subnet 内に公開

subnet 内の他 SOP / Geometry COMP が参照

出力: 通常 Out SOP を経て subnet 外へ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

In Page 📥

Label .label 🏷️

Component 入力ピンに表示されるロールオーバーラベル:

  • Label: label (識別ラベル) — この Component 入力ピンにカーソルがロールオーバーした際にポップアップ表示される識別用文字列。複数の In SOP を並べた際にピンの用途を区別するのに使います。

実践アイデア 💡

Example 1: サブネットの入力口 📥

外部 SOP (Box / Sphere / File In 等) → baseCOMP の入力ピン → In SOP (subnet 内) → subnet 内の処理 SOP → Out SOP → subnet 外へ

再利用可能なジオメトリ処理をカプセル化したカスタム SOP subnet を構築するとき、subnet 外部から入ってきた形状データを内部に公開する入口として In SOP を配置します。Out SOP と対になり subnet の入出力構造を成立させる、最も基本的な使い方です。

  1. baseCOMP または Geometry COMP を作成しダブルクリックで内部へ入る
  2. subnet 内部に In SOP を作成 (作成すると COMP の外側に入力ピンが追加される)
  3. subnet 内部の処理 SOP (Transform SOP / Copy SOP 等) の入力に In SOP を接続して外部形状を参照
  4. subnet 内部に Out SOP を配置し、subnet の最終出力を接続
  5. subnet 外側で、baseCOMP の入力ピンに外部 SOP (Box SOP / File In SOP 等) を接続

Example 2: 複数入力で合成 🔀

外部 SOP A / SOP B → baseCOMP の入力ピン 1, 2 → In SOP 1, 2 (subnet 内) → Merge SOP / Switch SOP → Out SOP

複数のジオメトリストリームを切替・合成するカスタム subnet を作るとき、入力ピンの数だけ In SOP を並べることで、subnet 外部から複数の形状を受け取れます。In SOP の配置順がピンの順序になり、Label パラメータでピンの用途を識別します。

  1. subnet 内部に In SOP 1 を配置し Label パラメータに「base」等の識別名を設定
  2. もう一つ In SOP 2 を配置し Label を「overlay」等に設定
  3. subnet 外側の baseCOMP に 2 つの入力ピンが現れる (順序は subnet 内の配置順)
  4. subnet 内部で Merge SOP / Switch SOP 等に両 In SOP を接続して合成または切替ロジックを実装
  5. subnet 外から異なる SOP を 2 ピンに接続すれば subnet 全体のジオメトリが切替わる

Example 3: ジオメトリCOMP内 🎨

外部 SOP (Sphere / Alembic SOP 等) → Geometry COMP 入力ピン → In SOP (内部) → Geometry COMP の レンダー対象

Geometry COMP は内部に SOP を含み 3D シーンのジオメトリとしてレンダリングします。外部で前処理済みの SOP を Geometry COMP の中身として使いたい場合、Geometry COMP 内部に In SOP を置くことで外部 SOP が内部の最終ジオメトリとして公開されます。

  1. Geometry COMP をダブルクリックで内部に入り、デフォルトの torus1 を削除
  2. Geometry COMP 内部に In SOP を 1 つ配置し、その出力を render/display フラグ ON にする
  3. Geometry COMP 外側の入力ピンに、外部で組み上げた SOP チェーン (Sphere SOP → Transform SOP 等) を接続
  4. Geometry COMP がレンダラに認識され、外部 SOP の形状がそのままレンダリング対象になる
  5. 外部 SOP を差し替えれば Geometry COMP のジオメトリが一括で切り替わる

関連オペレータ 🔗

類似機能OP 🔍

  • Out SOP — subnet の出力点。In SOP と対になり subnet の入出力構造を成立させる
  • Null SOP — 中継・参照用パススルー。subnet 内部の参照ハブとして近い役割

組み合わせ推奨OP 🔄

  • Out SOP — In SOP と対の出力点として subnet 入出力を構成、必須の組み合わせ
  • Base COMP — In SOP を内包するカスタム SOP subnet のコンテナ
  • Geometry COMP — subnet 化された SOP を 3D レンダー対象として公開するコンテナ
  • Merge SOP — 複数の In SOP を 1 本のジオメトリストリームに統合する
  • Switch SOP — 複数 In SOP の入力をインデックスで切替
  • Select SOP — 別の SOP を path 参照で取り込む代替手段 (subnet 構造を介さない場合)

前処理・後処理SOP 🎯


Info情報 📊

In 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: In SOP を配置しても subnet の外側に入力ピンが現れない
✅ Solution:

  • In SOP は baseCOMP / Geometry COMP 等のコンテナ COMP の内部に配置されている必要がある。Root (/) や非コンテナ OP の内部に置いても入力ピンは生成されない
  • ピンの順序は subnet 内の In SOP の配置順 (左から右、上から下) に従う。意図した順序にならない場合は In SOP を一旦削除して再配置するか、内部名 (in1 / in2) を確認する
  • 親 COMP の Inputs パラメータ (Component Editor) でピン構成を確認すると、実際に何本の SOP 入力が生成されているか分かる

❌ Problem: 外部から接続した SOP が subnet 内部で参照できない / 何も表示されない
✅ Solution:

  • subnet 内の下流 SOP で In SOP を入力に接続したか確認 (パラメータ参照ではなく、ノードの接続線で繋ぐ)
  • 外部の SOP 出力が実際にジオメトリを生成しているか、外部側で単体テストする (Geometry COMP に直接割当てて表示確認)
  • baseCOMP の入力ピンが SOP 入力として認識されているか、親 COMP の Component Editor で In SOP が正しく検出されているか確認

❌ Problem: Geometry COMP 内部の In SOP がレンダリングされない
✅ Solution:

  • In SOP (またはその下流 SOP) の render フラグおよび display フラグが ON になっているか確認
  • Geometry COMP 外側の入力ピンに実際に SOP が接続されているか、未接続のままだと In SOP は空のジオメトリを出力する
  • 前処理で Null SOP を挟んで Display フラグを Null SOP に集約し、レンダリング対象を 1 箇所に固定するとデバッグしやすい

参考資料 📚

その他 🔗

公式リソース 📖

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