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

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

Convert POP のプリミティブ変換機能を示す図

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

概要 📖 – 形状の種類を変換する

Convert POPは、入力ジオメトリの既存プリミティブを別の種類のプリミティブ (Triangles / Line Strips / Points 等) に変換する POPです。Quads → Triangles の三角形化、Line Strips ↔ Lines の相互変換、Close/Open Line Strips のループ切替、Keep Points のポイント抽出など、下流処理の形式要件に合わせてプリミティブタイプを揃える役割を担います。

主な用途 🎯

  • Quads を Triangles に変換してトライアングルベースのレンダラ・シェーダに渡す
  • Line Strips と Lines の相互変換で下流処理 (描画モード) の要求形式に合わせる
  • Triangle / Quad / Line を Line Strips に集約してワイヤーフレーム表示用ジオメトリを生成
  • Close Line Strips / Open Line Strips でラインストリップのループ状態を切替
  • Keep Points, Delete Primitives でプリミティブを破棄しポイントクラウド状態に戻す

データフロー 🔄

入力: 既存プリミティブを持つジオメトリ

変換タイプ (Convert メニュー) を選択

出力: 別タイプのプリミティブに置換されたジオメトリ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Convert Page 📋

Convert .convert 🔄

入力ジオメトリのプリミティブまたはポイントに適用する変換操作を決定するメニューパラメータ

項目 内部名 説明
None .none 変換を行わず入力をそのまま出力 (バイパス相当)
Keep Points, Delete Primitives .deleteprims すべてのプリミティブを破棄しポイントのみを残す (ポイントクラウド状態に戻す)
Points to Point Primitives .topointprims 各ポイントを独立したポイントプリミティブに変換 (プリミティブを持たないポイント群に明示的な Point 型を付与)
Line Strips to Lines .linestripstolines 連続したラインストリップを 2 点ずつ独立した線分プリミティブに分解
Triangle, Quads and Lines to Line Strips .tolinestrips Triangles / Quadrilaterals / Lines をラインストリップに集約 (ワイヤーフレーム表現や軽量パス化に有効)
Quads to Triangles .quadstotriangles 四角形プリミティブを 2 つの三角形に分割 (トライアングルベースのレンダラ・シェーダに渡す前段として使用)
Close Line Strips .closelinestrips オープンなラインストリップを閉じてループ状 (始端と終端を接続) に変換
Open Line Strips .openlinestrips 閉じたラインストリップを開いて非ループ状 (始端と終端の接続を切断) に変換

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: Quads を Triangles に変換してレンダーに渡す 🔺

Grid POP → Connectivity POP (Connectivity=quads) → Convert POP (Convert=quadstotriangles) → Render TOP

Grid POP + Connectivity POP で生成した Quadrilaterals サーフェスを Convert POP で三角形に分割し、トライアングルベースのレンダラ・シェーダで安定描画できる形に揃える基本フロー。

  1. Grid POP で 2 次元ポイント配列を生成
  2. Connectivity POP の Connectivity を quads に設定して四角形サーフェスを構成
  3. Convert POP の Convert を quadstotriangles に設定
  4. Render TOP を接続してマテリアルを割当て
  5. 三角形ベースのサーフェスが描画されることを確認

Example 2: オープンパスを Close Line Strips でループ化 🔁

Curve POP → Convert POP (Convert=closelinestrips) → Render TOP

Curve POP 等で生成したオープンなラインストリップを Convert POP の Close Line Strips モードで始端と終端を繋ぎ、閉じたループパス (リング・ポリゴン輪郭等) として下流に渡す用途。

  1. Curve POP 等でオープンなラインストリップを生成
  2. Convert POP の Convert を closelinestrips に設定
  3. Render TOP で始端と終端が接続された閉ループとして描画されることを確認

Example 3: プリミティブを破棄してポイントクラウド再利用 ✨

Box POP → Convert POP (Convert=deleteprims) → Particle POP → Render TOP

Box POP 等のサーフェス出力から Convert POP の Keep Points, Delete Primitives でプリミティブを破棄してポイントクラウド状態に戻し、ポイントを Particle POP の発生源として再利用するワークフロー。

  1. Box POP 等のサーフェス系 POP で初期ジオメトリを生成
  2. Convert POP の Convert を deleteprims に設定 (プリミティブ破棄、ポイントのみ残存)
  3. Particle POP の入力に接続してポイントを発生源として利用
  4. Render TOP でパーティクルが元サーフェスのポイント位置から発生することを確認

関連オペレータ 🔗

類似機能OP 🔍

  • Connectivity POP — Convert がプリミティブの「タイプ変換」を行うのに対し、Connectivity は接続情報を持たないポイントから「新規プリミティブを生成」する
  • Convert SOP — SOP 系の同等オペレータ。CPU 側 SOP ワークフローでのプリミティブタイプ変換を担う

組み合わせ推奨OP 🔄

  • Grid POP — 2 次元ポイント配列の生成元、Connectivity → Convert の前段入力として典型
  • Connectivity POP — 新規プリミティブを構成した直後に Convert でタイプ変換するチェーンが頻出
  • POP to SOP — Convert でタイプ整形したジオメトリを SOP ワークフローに引き渡し
  • Curve POP — オープンパスを生成し Convert の Close Line Strips でループ化する組合せが頻出

前処理・後処理POP 🎯


Info POP情報 📊

Convert 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 汎用情報 (Info CHOP 経由) 📊

  • num_points: 出力ジオメトリのポイント数
  • num_prims: 変換後のプリミティブ数 (Quads → Triangles なら入力の約 2 倍、Keep Points, Delete Primitives なら 0)
  • num_point_attribs: 出力ジオメトリのポイント属性数
  • num_vertex_attribs: 出力ジオメトリの頂点属性数
  • num_prim_attribs: 出力ジオメトリのプリミティブ属性数
  • gpu_memory_used: この POP が使用している GPU メモリ量

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

よくある問題と解決策 🔧

❌ Problem: Convert を切替えても出力が変わらない / プリミティブ数が同じ
✅ Solution:

  • 入力ジオメトリに変換元のプリミティブタイプが存在するか確認 (例: quadstotriangles は Quadrilaterals が入力に無いと無効)
  • Info CHOP で num_prims を変換前後で比較し、想定通り増減しているか検証
  • 前段に Connectivity POP を挟んで意図した接続タイプ (Quads / Line Strips 等) を確実に構成

❌ Problem: Quads to Triangles でプリミティブ数が想定の倍にならない
✅ Solution:

  • 入力プリミティブが本当に Quadrilaterals か Info CHOP で確認 (Triangle 等は変換対象外)
  • Connectivity POP で quads 接続を選択して 4 点ずつの Quadrilaterals を構成しているか確認
  • 下流の Render TOP がトライアングル描画モードに対応しているか確認

❌ Problem: Close Line Strips で始端と終端が繋がらない / 視覚的に閉じない
✅ Solution:

  • 入力プリミティブが Line Strips であることを確認 (Lines だと先に tolinestrips で集約が必要)
  • 始端と終端のポイント座標が大きく離れている場合、見た目上の長い接続線が発生するため上流で座標を近接させる
  • 閉じた状態で再オープンが必要なら openlinestrips を別の Convert POP で適用

❌ Problem: Keep Points, Delete Primitives 後に下流の Render TOP が描画されない
✅ Solution:

  • プリミティブが破棄されているためマテリアル描画は不可、Particle POP 等ポイント前提のオペレータに繋ぐ
  • サーフェスとして再描画したい場合は後段に Connectivity POP を挟んで再度プリミティブを生成
  • Common Page の Delete Input Attributes で必要な属性 (P / N / Cd 等) が誤って破棄されていないか確認

参考資料 📚

その他 🔗

公式リソース 📖

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