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

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

Out POP がカスタム POP subnet の出力点として機能する図

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

概要 📖 – POP の出口になる

Out POPは、POP サブネットの出力点として、内部の最終 POP データを外部へ公開する中継 POPです。baseCOMP / Container COMP でカスタム POP subnet を構築するときに、内部の最終 POP データを subnet 外へ公開するために配置する出口ノードです。In POP と対になり subnet の I/O 構造を成立させ、複数の Out POP を並べることで multi-output な POP subnet も組めます。Select POP パラメータで入力未接続時のフォールバック POP を指定できる点が特徴です。

主な用途 🎯

  • カスタム POP subnet (baseCOMP / Container COMP) 内部の最終 POP を外部に公開する出力点
  • In POP と対になる接続点として subnet の I/O 構造を明示化
  • 入力未接続時のフォールバックSelect POP で指定し subnet 単体でも安全動作
  • 再利用可能な POP ロジックをカプセル化したカスタム subnet の最終出力点
  • Connect Order での順序制御により親 COMP 側の出力ピン並び順を整理

データフロー 🔄

入力: subnet 内部の POP チェーン (Transform / GLSL / Merge 等)

Out POP (subnet 内)

baseCOMP の出力ピン

出力: 親ネットワークの他 POP / Geometry COMP へ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Out Page 📤

Select POP .selectpop 🎯

入力未接続時に出力する POP の参照先:

  • Select POP: selectpop (選択 POP) — Out POP の入力が未接続のときに、出力として代用する POP への参照を指定します。subnet 内部で入力線が切れていても、ここで指定した POP のデータを出力にパススルーするため、subnet 単体でのテストやフォールバック動作に活用できます。

Label .label 🏷️

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

  • Label: label (ラベル) — この Component 出力ピンにカーソルがロールオーバーした際にポップアップ表示される識別ラベル。subnet 利用者がどのピンから何が出ているかを把握するためのヒントとして使用します。

Connect Order .connectorder 🔢

親 COMP の出力ピン並び順を決める接続順:

  • Connect Order: connectorder (接続順) — subnet 内に配置されたすべての Out POP の connectorder 値が比較され、親 COMP の出力ピンの並び順が決定されます。値が小さいほど左側 (若い番号) のピンに割り当てられます。

Common Page 🔧

Bypass .bypass 🚫

POP の処理をスキップして入力をパススルーする設定:

  • オン: 最初の入力 (input1) をそのまま出力にパススルー、POP 内部の処理を無効化
  • 用途: デバッグ時に特定 POP の効果を一時的に外して比較する際に使用

Free Extra GPU Memory .freeextragpumem 🧠

蓄積した GPU メモリの解放:

  • Free Extra GPU Memory パルス: 出力ポイント数が増減を繰り返した際に確保されたままの GPU メモリを明示的に解放するパルスパラメータ
  • 用途: 大規模パーティクル系で出力サイズが大きく変動した後、未使用メモリを返却して VRAM を節約

Delete Input Attributes .delinputattrs 🗑️

出力属性の絞り込みパターン:

  • Delete Input Attributes パターン: 出力に残したい属性名のパターン (例: P N Cd) を指定。指定外の属性は破棄される
  • 用途: 下流で不要な属性を切り落として分岐ブランチを軽量化、メモリ・帯域を節約

実践アイデア 💡

Example 1: サブネット出口に配置 📤

subnet 内部の POP チェーン (Transform / GLSL / Merge) → Out POP (subnet 内) → baseCOMP の出力ピン → 親ネットワークの Geometry COMP / 他 POP

再利用可能な POP 処理 (ジオメトリ変形や属性編集のチェーン) をカプセル化したカスタム POP subnet を構築するとき、subnet 内部の最終 POP データを外部に公開するための出口として Out POP を配置します。In POP と対になり subnet の I/O 構造を成立させる、最も基本的な使い方です。

  1. baseCOMP または Container COMP を作成しダブルクリックで内部へ入る
  2. subnet 内部に In POP を配置し、外部入力を内部に取り込む
  3. Transform POP / GLSL POP 等の処理 POP をチェーン状に接続し、最終出力にしたい POP を確定
  4. subnet 内部に Out POP を配置し、最終出力 POP の出力ピンに接続
  5. subnet 外側で baseCOMP の出力ピンに親ネットワークの Geometry COMP や他 POP を接続

Example 2: Select POPで補完 🎯

subnet 内部の POP (未接続) → Out POP の Select POP 参照先 → baseCOMP の出力ピン → 外部の Geometry COMP

subnet の入力線が未接続のままでも subnet 単体で挙動を確認したい場合、Out POP の Select POP パラメータに代替 POP への参照を書いておきます。入力が繋がっていれば入力が優先され、未接続のときだけ Select POP が出力に流れる仕組みです。プロトタイプ subnet の開発や、入力が任意な汎用 subnet を作るときに便利です。

  1. subnet 内部に Box POP など仮の POP を配置し、デフォルト形状として用意
  2. Out POP を配置し、Select POP パラメータに先ほどの Box POP の名前 (例: box1) を入力
  3. Out POP に入力線を繋がず subnet を閉じ、外部から subnet の出力を確認すると Box POP の形状が流れている
  4. 外部から baseCOMP の入力ピンに別の POP を接続すると、入力側が優先され Select POP は無視される
  5. subnet 内部の主処理 POP (Transform POP 等) の入力に baseCOMP の入力を繋ぎ、Out POP の入力にも繋ぐと完成

Example 3: 複数出口を並列公開 🔀

subnet 内部の POP チェーン → 複数の Out POP (各 Connect Order 値) → baseCOMP の複数出力ピン → 外部で個別接続

subnet 内部で生成した複数の異なる POP データを、それぞれ別の出力ピンとして外部に公開したい場合、出力したい POP の数だけ Out POP を並べます。各 Out POP は Label で識別し、Connect Order で親 COMP 側のピン並び順を制御します。マルチ出力 subnet を作るための定番パターンです。

  1. subnet 内部に Out POP 1 を配置し Label に「main」、Connect Order0 を入力
  2. もう一つ Out POP 2 を配置し Label を「mask」、Connect Order1 に設定
  3. subnet 外側の baseCOMP に 2 つの出力ピンが現れ、Connect Order の昇順で並ぶ
  4. subnet 内部で main 用と mask 用の POP データをそれぞれ別チェーンで作り、各 Out POP の入力に接続
  5. subnet 外側で各出力ピンを別個の Geometry COMP や下流 POP へ繋ぎ、用途別に分岐させる

関連オペレータ 🔗

類似機能OP 🔍

  • In POP — subnet の入力点。Out POP と対になり subnet の I/O 構造を成立させる
  • Alembic Out POP — Alembic ファイルへ POP データを書き出す別経路の出力 OP
  • File Out POP — ファイルへ POP データを書き出す出力 OP
  • Null POP — subnet 内部での中継/参照点として使う 1-in 1-out のパススルー POP

組み合わせ推奨OP 🔄

  • In POP — Out POP と対の入力点として subnet の I/O を構成、必須の組み合わせ
  • Base COMP — Out POP を内包するカスタム POP subnet のコンテナ
  • Container COMP — UI を伴う subnet を作る際の代替コンテナ
  • Geometry COMP — subnet 化された POP データを最終的にレンダリングする受け先
  • Merge POP — subnet 内で複数ストリームを 1 つにまとめてから Out POP へ送る統合点

前処理・後処理POP 🎯


Info POP情報 📊

Out POP は Info CHOP / Info DAT による詳細情報取得に対応しており、subnet 外へ出力される POP データの構造を読み取れます。

POP固有情報 ✨

  • num_verts: POP に含まれる頂点 (vertex) 数
  • num_points: POP に含まれるポイント数
  • num_prims: POP に含まれるプリミティブ数

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • cook_abs_frame: 最後にクックされた絶対フレーム番号 (アプリケーション起動からの累積)
  • cook_start_time: 最後のクック開始時刻 (ミリ秒)
  • cook_end_time: 最後のクック終了時刻 (ミリ秒)
  • cooked_this_frame: 現フレームでクックされたか (0 / 1)
  • warnings: 警告数
  • errors: エラー数

出力ポイント・属性情報 🧬

  • num_points: Out POP から出力されるポイント数 (= subnet 外に流れる POP のポイント数)
  • num_point_attribs: 出力 POP の point 属性数 (P / N / Cd 等)
  • num_vertex_attribs: 出力 POP の vertex 属性数 (主に uv 等のテクスチャ座標)
  • num_prim_attribs: 出力 POP の primitive 属性数 (面ごとの属性)
  • num_prims: 出力されるプリミティブ数 (面数)

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

よくある問題と解決策 🔧

❌ Problem: Out POP を配置しても subnet の外側に出力ピンが現れない
✅ Solution:

  • Out POP は baseCOMP / Container COMP の内部に配置されている必要があり、Root (/) や Geometry COMP の内部に置いても出力ピンは生成されない
  • ピンの順序は subnet 内の Connect Order 値の昇順で決まるため、複数の Out POP がある場合はそれぞれの connectorder 値を確認する
  • 親 COMP のネットワーク表示上で実際にピンが追加されているかを目視確認し、追加されていなければ subnet 内の Out POP を一旦削除して再配置

❌ Problem: Select POP の参照先を指定したが出力に反映されない
✅ Solution:

  • Select POP は Out POP の入力が 未接続のときだけ有効になる仕組みのため、入力線が繋がっていると参照先は無視される。入力線を外して挙動を確認する
  • selectpop パラメータに記入した POP 名のパスが、subnet 内部から見た相対パスとして正しいか確認 (例: subnet 内の Box POP なら box1、別 subnet 内なら ../othercomp/box1)
  • 参照先 POP 自体がエラーや未クック状態になっていないか、参照先を直接ビューに表示して確認

❌ Problem: 複数の Out POP がある subnet でピンの並び順が意図通りにならない
✅ Solution:

  • 各 Out POP の Connect Order 値を確認し、左から並べたい順に 0, 1, 2, ... と昇順で割り振る
  • Label パラメータで各ピンに識別名 (「main」「mask」等) を付けておくと、subnet 利用者がカーソルロールオーバー時にどのピンか判別しやすい
  • Connect Order 値が同じ Out POP が複数あると並び順が不定になるため、必ず一意な値を割り当てる

❌ Problem: subnet 出力で属性が一部消えている / 想定外の属性が出力されている
✅ Solution:

  • Common Page の Delete Input Attributes パターンが意図せず設定されていないか確認 (空欄ならすべての属性を維持)
  • subnet 内の上流 POP (Attribute Convert POP / Delete POP 等) が属性を変換・削除していないかチェーンを上から順に確認
  • Out POP の直前で Info CHOP を接続して属性一覧を確認し、想定外の属性が混じっていないかチェック

参考資料 📚

その他 🔗

公式リソース 📖

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