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

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

SOP to POP の SOP→POP ジオメトリ変換機能を示す図

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

概要 📖 – SOP形状をPOP点群に変換

SOP to POPは、SOP の 3D ジオメトリを POP ジオメトリに変換し、点・頂点・プリミティブの各属性を POP の命名規則にリネームして引き継ぐ POPです。SOP の点リストはポイント属性に変換され、三角形・四角形はそのまま維持されますが、5 頂点以上のポリゴンやメッシュは設定したメニューに従って変換されます。

主な用途 🎯

  • SOP の 3D ジオメトリ (点・頂点・プリミティブ) を POP ジオメトリへ変換
  • SOP の属性 (P / uv / Cd / width / pscale) を POP 属性 (P / Tex / Color / LineWidth / PointScale) に自動リネームして引き継ぐ
  • 5 頂点以上のポリゴンを線ストリップ・三角形分割・無視のいずれかで POP 対応形状へ変換
  • メッシュプリミティブを四角形・線ストリップ・点プリミティブのいずれかに変換
  • 入力カラー空間と参照白を指定して SOP 由来の色を POP の作業色空間に正しく取り込む

データフロー 🔄

入力: SOP ジオメトリ (点 / 頂点 / プリミティブ + 属性)

属性リネーム (P→P, uv→Tex, Cd→Color, width→LineWidth, pscale→PointScale)

5+ ポリゴン / メッシュの変換方式を選択

出力: 32bit float 属性を持つ POP ジオメトリ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

SOP to Page 📋

SOP 参照 🔌

SOP .sop 🎯
SOP (変換元ジオメトリ) — POP ジオメトリに変換する入力 SOP のパスを指定します。
– 同一ネットワーク内の SOP を相対パス / 絶対パスのどちらでも指定可能。

5+頂点ポリゴン .polygons 🔺

5+ Points Polygons (5 頂点以上のポリゴン) — POP は 5 頂点以上のポリゴンを扱えないため、その処理方法を選ぶメニューパラメータです。

項目 内部名 説明
Ignore .ignore 5 頂点以上のポリゴンを出力に含めず無視します。
Triangulated .triangulated 5 頂点以上のポリゴンを三角形に分割して出力します。
Closed Line Strip .closedlinestrip 5 頂点以上のポリゴンを閉じた線ストリップとして出力します。

メッシュ変換 .mesh 🕸️

Meshes (メッシュプリミティブ) — 入力 SOP に含まれるメッシュプリミティブを POP 形状へどう変換するかを選ぶメニューパラメータです。

項目 内部名 説明
Ignore .ignore メッシュプリミティブを出力に含めず無視します。
Convert to Quads .quads メッシュを四角形プリミティブに変換します。
Convert Rows to Line Strips .rows メッシュの行方向を線ストリップに変換します。
Convert Columns to Line Strips .cols メッシュの列方向を線ストリップに変換します。
Convert Rows and Columns to Line Strips .rowscols メッシュの行・列の両方向を線ストリップに変換します。
Convert to Point Primitives .points メッシュを点プリミティブに変換します。

入力カラー空間 .inputcolorspace 🎨

Input Color Space (入力カラー空間) — SOP 由来の色データをどの色空間として解釈するかを上書き指定するメニューパラメータです。

項目 内部名 説明
Automatic .automatic ファイル内の色空間を使用、無ければ既定値を仮定します。
sRGB .srgb 標準 sRGB ガンマとして解釈します。
sRGB – Linear .srgblinear sRGB 原色のリニア (ガンマなし) として解釈します。
Rec.601 (NTSC) .rec601ntsc Rec.601 (NTSC) 色空間として解釈します。
Rec.709 .rec709 Rec.709 (HDTV) 色空間として解釈します。
Rec.2020 .rec2020 Rec.2020 (UHDTV) 色空間として解釈します。
Rec.2020 ST2084PQ .rec2020st2084pq Rec.2020 + ST2084 PQ 伝達関数として解釈します。
Rec.2020 HLG .rec2020hlg Rec.2020 + HLG 伝達関数として解釈します。
DCI-P3 .dcip3 DCI-P3 (劇場上映用) 色空間として解釈します。
DCI-P3 (D60) .dcip3d60 白色点 D60 の DCI-P3 として解釈します。
Display P3 (D65) .displayp3d65 白色点 D65 の Display P3 として解釈します。
Display P3 (D65) – Linear .displayp3d65linear Display P3 (D65) のリニアとして解釈します。
ACES2065-1 .aces2065-1 ACES2065-1 (AP0) 色空間として解釈します。
ACEScg .acescg ACEScg (AP1) 色空間として解釈します。
ACESproxy .acesproxy ACESproxy 色空間として解釈します。
Passthrough .passthrough 色変換せずそのまま通します。

入力参照白 .inputreferencewhite 🤍

Input Reference White (入力参照白) — 入力データに適用する参照白 (基準となる白レベル) の色空間を選ぶメニューパラメータです。

項目 内部名 説明
Default For Color Space .default 選択した色空間の既定の参照白を使用します。
Standard (SDR) .sdr 標準ダイナミックレンジ (SDR) の参照白を使用します。
High (HDR) .hdr ハイダイナミックレンジ (HDR) の参照白を使用します。
UI .ui UI 表示用の参照白を使用します。

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: SOP形状を点群POP化 🌐

Grid SOP → SOP to POP → Point POP → 下流 POP 処理

Grid SOP で生成した平面ジオメトリを SOP to POP に通して POP ポイントジオメトリに変換し、後段の Point POP で点単位の操作を加える基本フロー。SOP のモデリング資産をそのまま GPU 上の POP ワークフローへ持ち込むときの起点になります。

  1. Grid SOP で平面ジオメトリを生成
  2. SOP to POP の SOP パラメータで Grid SOP を参照
  3. 5+ Points Polygons と Meshes はデフォルトのまま (三角形・四角形は維持)
  4. 下流の Point POP で点単位の属性操作を実行

Example 2: 複雑ポリゴンを線で取り込む 🔺

Text SOP → SOP to POP (5+ Points Polygons=closedlinestrip) → Line Smooth POP

Text SOP のように 5 頂点以上のポリゴンを多く含むジオメトリを、SOP to POP の 5+ Points Polygons メニューで閉じた線ストリップとして取り込み、後段でラインベースの処理を行う用途。POP が直接扱えない多角形をワイヤフレーム表現に落として活かせます。

  1. Text SOP で文字アウトライン (5 頂点以上のポリゴンを含む) を生成
  2. SOP to POP の 5+ Points Polygonsclosedlinestrip に設定
  3. Meshes は ignore のまま (メッシュが無い前提)
  4. 出力を後段でライン用 POP に接続して整形

Example 3: SOPの色を属性に変換 🎨

Box SOP (Cd 付き) → SOP to POP (Input Color Space=srgb) → Math POP

頂点カラー (Cd) を持つ Box SOP を SOP to POP に通すと Cd が POP の Color 属性に自動リネームされます。Input Color Space を sRGB に指定して色を作業色空間へ正しく取り込み、後段の Math POP でカラー値を補正する色データ受け渡しの用途。

  1. Box SOP に頂点カラー (Cd) 属性を付与
  2. SOP to POP の SOP で Box SOP を参照 (Cd は自動的に Color へリネーム)
  3. Input Color Spacesrgb に設定して色空間を明示
  4. 下流の Math POP で Color 属性をスケーリング・オフセット

関連オペレータ 🔗

類似機能OP 🔍

  • CHOP to POP — CHOP チャンネルから POP ジオメトリを生成する同系統の入力変換 POP
  • DAT to POP — DAT テーブルから POP 属性を生成する同系統の入力変換 POP
  • SOP to CHOP — SOP のポイント属性を CHOP チャンネルに取り出す変換 (出力先が CHOP の SOP 版)

組み合わせ推奨OP 🔄

  • Math POP — 変換した属性 (P / Color 等) を後段で正規化・スケーリング
  • Attribute POP — リネームされた属性のさらなる名前変更・型変換・削除
  • Transform POP — 変換後の点群を平行移動・回転・スケール
  • Dimension POP — SOP to POP では失われる行/列の Dimension 情報を補完・再設定

前処理・後処理POP 🎯


Info POP情報 📊

SOP to POP は Info CHOP 経由でジオメトリの統計情報を取得します。

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: エラー数

POP 汎用情報 📡

  • num_points: 出力ジオメトリのポイント数
  • num_point_attribs: 出力ジオメトリのポイント属性数
  • num_vertex_attribs: 出力ジオメトリの頂点属性数
  • num_prim_attribs: 出力ジオメトリのプリミティブ属性数
  • num_prims: 出力ジオメトリのプリミティブ数
  • gpu_memory_used: この POP が使用している GPU メモリ量

共通オペレータ情報 📈

  • total_cooks: プロセス開始以降にこのオペレータがクックした回数
  • cook_time: 直近のクックにかかった時間 (ミリ秒)
  • cooked_this_frame: このフレームでクックされた場合は 1
  • errors: このオペレータのエラー数

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

よくある問題と解決策 🔧

❌ Problem: ポリゴンが出力に現れない
✅ Solution:

  • 5+ Points Polygonsignore になっていないか確認 (5 頂点以上のポリゴンが破棄される)
  • 三角形・四角形は常に維持されるため、欠けるのは 5 頂点以上のポリゴンに限られる点を確認
  • メッシュの場合は Meshes メニューが ignore でないか確認

❌ Problem: 属性名が下流で見つからない
✅ Solution:

  • SOP の uvTexCdColorwidthLineWidthpscalePointScale にリネームされる点を確認
  • Common Page の Delete Input Attributes パターンで属性が破棄されていないか確認
  • 属性スキーマを整えたい場合は後段に Attribute POP を接続

❌ Problem: 球・NURBS などが点だけになる
✅ Solution:

  • 球などの SOP プリミティブや Bezier / NURBS プリミティブは POP では点のみに変換される仕様である点を確認
  • 面として扱いたい場合は SOP 側で事前にポリゴン化 (Convert SOP 等) してから SOP to POP に渡す
  • 行/列の Dimension 情報が必要なら後段に Dimension POP を接続して復元

❌ Problem: 色が想定と異なる
✅ Solution:

  • Input Color Spaceautomatic のままで誤った色空間が仮定されていないか確認
  • 入力データの実際の色空間に合わせて srgb 等を明示指定
  • Input Reference White が SDR / HDR のどちらの基準かを確認

参考資料 📚

その他 🔗

公式リソース 📖

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