
概要 📖 – 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 ジオメトリ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
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 ワークフローへ持ち込むときの起点になります。
- Grid SOP で平面ジオメトリを生成
- SOP to POP の SOP パラメータで Grid SOP を参照
- 5+ Points Polygons と Meshes はデフォルトのまま (三角形・四角形は維持)
- 下流の 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 が直接扱えない多角形をワイヤフレーム表現に落として活かせます。
- Text SOP で文字アウトライン (5 頂点以上のポリゴンを含む) を生成
- SOP to POP の 5+ Points Polygons を
closedlinestripに設定 - Meshes は
ignoreのまま (メッシュが無い前提) - 出力を後段でライン用 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 でカラー値を補正する色データ受け渡しの用途。
- Box SOP に頂点カラー (Cd) 属性を付与
- SOP to POP の SOP で Box SOP を参照 (Cd は自動的に Color へリネーム)
- Input Color Space を
srgbに設定して色空間を明示 - 下流の 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 🎯
- 前処理: In POP、Merge POP
- 後処理: Transform POP、Math POP、Null 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: このフレームでクックされた場合は 1errors: このオペレータのエラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ポリゴンが出力に現れない
✅ Solution:
- 5+ Points Polygons が
ignoreになっていないか確認 (5 頂点以上のポリゴンが破棄される) - 三角形・四角形は常に維持されるため、欠けるのは 5 頂点以上のポリゴンに限られる点を確認
- メッシュの場合は Meshes メニューが
ignoreでないか確認
❌ Problem: 属性名が下流で見つからない
✅ Solution:
- SOP の
uvはTex、CdはColor、widthはLineWidth、pscaleはPointScaleにリネームされる点を確認 - 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 Space が
automaticのままで誤った色空間が仮定されていないか確認 - 入力データの実際の色空間に合わせて
srgb等を明示指定 - Input Reference White が SDR / HDR のどちらの基準かを確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — POP 概要
- TouchDesigner Wiki — Category:POPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – SOP to POP
- POP 概要 (Points, Vertices and Primitives in POPs)
- 属性 (Attribute) の基礎
- SOP to CHOP (SOP 属性を CHOP 化)

