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

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

Object Merge SOP がネットワーク上の離れた複数の SOP ジオメトリをパス指定で集約する図

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

概要 📖 – 離れたSOPを集めて統合

Object Merge SOPは、ネットワーク上の離れた場所にある複数の SOP ジオメトリをパス指定で集めて 1 つに統合する SOPです。入力ワイヤを直接つなぐ Merge SOP と異なり、別のコンポーネント内にあるジオメトリもパスやワイルドカードで参照して取り込めます。基準オブジェクトを指定すれば各ジオメトリを共通の座標系へ揃えてから合成できます。

主な用途 🎯

  • 離れた場所のジオメトリ収集として、別のコンポーネント内にある複数の SOP をワイヤ接続なしでパス指定して 1 つにまとめる
  • 共通座標系への統合として、各コンポーネントのジオメトリを基準オブジェクトの座標へ揃えてから合成
  • ワイルドカードによる一括取り込みとして、geo*/OUT のようなパターンで複数ノードの出力を動的に集約
  • シーン構築のハブとして、分散配置したモデリング結果を 1 か所に集めてレンダリングや書き出しの入口を一本化
  • ネットワーク整理として、長距離のワイヤ配線を避けつつ遠方のジオメトリを参照して取り込む

データフロー 🔄

入力: 指定したパス先の複数 SOP ジオメトリ (別コンポーネントも可)

基準オブジェクトの座標へ変換 (Transform Object 指定時)

パス順に合成

出力: 統合された単一ジオメトリ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Object Merge Page 📋

取り込み設定 .objectmerge 🔗

Transform Object .xform 🧭
Transform Object (基準オブジェクト) — 取り込んだ全ジオメトリを、ここで指定したジオメトリコンポーネントの座標系へ相対変換します。
別々のコンポーネントにあるジオメトリは本来それぞれ独自の座標を持つため、基準を 1 つ決めて揃えることで位置関係が正しく統合されます。空欄のままにすると変換は行わず、各ジオメトリの元の座標のまま合成します。

Merge .merge
Merge (取り込み元の並び) — 合成する取り込み元を並べたシーケンスパラメータです。
末尾の + ボタンで取り込み元を追加でき、追加した数だけ下記の SOP パス指定欄が増えていきます。複数の離れた SOP を 1 つの Object Merge SOP にまとめて取り込めます。

SOP .merge0sop 📁
SOP (取り込む SOP のパス) — 取り込み元ごとに、対象となる SOP のパスを指定します。
完全なパス (例: /project1/geo1/torus1) を 1 つ指定するほか、ワイルドカード (例: geo*/OUT) で複数ノードの出力をまとめて取り込むこともできます。各取り込み元は別々のコンポーネントに置かれていても構いません。


実践アイデア 💡

Example 1: 複数COMPの集約 🏗️

/project1/geoA/OUT・/project1/geoB/OUT → Object Merge SOP → Geometry COMP

別々の Geometry COMP に分けて作ったモデルを、ワイヤ配線なしで 1 つの Object Merge SOP にパス指定で集約し、シーン全体のジオメトリを一括で扱えるようにする基本的なシーン構築フローです。各 COMP は独立して編集でき、合成側は触らずに済みます。

  1. 取り込みたいジオメトリを持つ各コンポーネントの出力 SOP の名前を確認 (例: geoA/OUT, geoB/OUT)
  2. Object Merge SOP を配置し、Merge シーケンスの SOP 欄に各パスを追加
  3. 全コンポーネントのジオメトリが 1 つにまとまって出力されることをビューアで確認
  4. 後段に Null SOP を置いてシーンの共通参照点とする

Example 2: ワイルドカード一括取込 ✨

geo*/OUT (動的マッチ) → Object Merge SOP → 後段処理

命名規則を揃えたコンポーネント群を、ワイルドカードパターン 1 行でまとめて取り込む使い方です。新しいコンポーネントを命名規則に沿って追加するだけで自動的に合成対象へ含まれるため、ノードを増やすたびに配線をやり直す必要がありません。

  1. 取り込み対象のコンポーネントを共通の命名規則で揃える (例: geo1, geo2, geo3 …)
  2. 各コンポーネントの出力 SOP 名も統一する (例: いずれも OUT)
  3. Object Merge SOP の SOP 欄に geo*/OUT のようなワイルドカードパターンを 1 行入力
  4. 命名規則に沿った新コンポーネントを追加すると、配線変更なしで自動的に合成対象へ加わる

Example 3: 共通座標へ統合 🧭

離れた複数COMPのジオメトリ → Object Merge SOP (Transform Object 指定) → 整列した単一ジオメトリ

それぞれ独自の位置に配置されたコンポーネントのジオメトリを、基準オブジェクトを 1 つ決めてその座標系へ揃えてから合成する使い方です。位置関係をバラバラにせず、統合後も意図した配置を保ったまま 1 つのジオメトリとして扱えます。

  1. 統合の基準にしたいジオメトリコンポーネントを 1 つ決める
  2. Object Merge SOP の Transform Object 欄に、その基準コンポーネントのパスを指定
  3. SOP 欄に取り込みたい各コンポーネントのジオメトリパスを追加
  4. 全ジオメトリが基準の座標系へ揃えられた状態で合成されることを確認

関連オペレータ 🔗

類似機能OP 🔍

  • Merge SOP — 入力ワイヤを直接つないで合成する、Object Merge はパス指定で遠方も取り込む
  • Select SOP — 別 OP のジオメトリ 1 つをパス参照で取り込む、Object Merge は複数を同時参照
  • In SOP — コンポーネントの入力ポートから受け取る、Object Merge は外部のパスを直接参照

組み合わせ推奨OP 🔄

  • Transform SOP — 取り込み後の統合ジオメトリ全体を移動・回転・拡縮で配置調整
  • Convert SOP — 種別の異なるジオメトリを集約した後にポリゴン化等で種別を揃える
  • Null SOP — 集約結果を Null に渡してシーン全体の共通参照アンカーにする
  • Geometry COMP — Transform Object として基準座標系を提供し、合成結果の描画先にもなる

前処理・後処理SOP 🎯


Info SOP情報 📊

Object Merge 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: このオペレータのエラー数

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

よくある問題と解決策 🔧

❌ Problem: 指定したジオメトリが取り込まれない
✅ Solution:

  • SOP 欄のパスが正しいか確認 (実在しないパスやタイプミスがあると取り込み元が空になる)
  • ワイルドカード (例: geo*/OUT) を使う場合は対象ノード名が命名規則どおりか確認、マッチするノードが無いと結果は空になる
  • 取り込み元の出力 SOP 自体が空でないか確認、上流側の Out SOP やビューアでジオメトリが見えるか検証

❌ Problem: ジオメトリの位置がずれて合成される
✅ Solution:

  • 各コンポーネントが独自の座標に配置されているため、Transform Object (基準オブジェクト) を 1 つ指定して共通座標系へ揃える
  • Transform Object を空欄にすると変換せず元座標のまま合成されるため、意図した配置になっているか確認
  • 合成後にさらに位置調整が必要な場合は後段の Transform SOP でジオメトリ全体を再配置

❌ Problem: 取り込み元を増やすと表示が重い
✅ Solution:

  • 取り込み対象を必要な SOP だけに絞る、過度に広いワイルドカードは多数のノードをマッチさせ負荷が増える
  • 取り込み元側で Convert SOP 等を使い静的な形状を一度確定させ、毎フレームの再計算を減らす
  • 合成結果を Null 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をコピーしました