
概要 📖 – 粒子の位置と速度を画像化
NVIDIA Flex TOPは、Actor COMP が保持する NVIDIA Flex シミュレーションから各粒子の位置または速度を読み取り、テクスチャとして出力する TOPです。Actor COMP パラメータでシミュレーションを保持するアクターを指定し、Output パラメータで取り出すデータを位置 (Position) と速度 (Velocity) から選びます。出力テクスチャは 1 粒子を 1 ピクセルとして格納するため、後段のインスタンス配置や速度連動の演出にそのまま流用できます。
主な用途 🎯
- NVIDIA Flex の物理シミュレーションで動く各粒子の位置データをテクスチャとして取り出す
- 各粒子の速度データを取り出して動きの強さや方向を後段で可視化・解析する
- 取り出した位置テクスチャをジオメトリのインスタンス配置データとして利用する
- 速度テクスチャをモーションブラーや色変化など速度連動の演出に流用する
- クロス・流体・ソフトボディなど Flex 系シミュレーションの結果を画像処理経路へ橋渡しする
データフロー 🔄
入力: Actor COMP (Flex シミュレーションのアクター)
↓
Output 設定に応じて各粒子の位置または速度を読み取り
↓
1 粒子 = 1 ピクセルとしてテクスチャに書き込み
↓
出力: 粒子データを格納したテクスチャ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
General Page 📋
アクター指定 🎭
Actor COMP .comp 🎭Actor COMP (アクター指定) — シミュレーションデータを読み取る Actor COMP を指定します。この TOP は指定されたアクターが保持する NVIDIA Flex の粒子状態を取り出します。
出力データ選択 .output 🎚️
Output (出力データ) — テクスチャに書き出すシミュレーションデータの種類を選択します。
| 項目 | 内部名 | 説明 |
|---|---|---|
| Position | .position |
Actor COMP 内の各粒子の位置を出力 |
| Velocity | .velocity |
Actor COMP 内の各粒子の速度を出力 |
実践アイデア 💡
Example 1: 粒子位置でインスタンス配置 ✨
Actor COMP (Flex) → NVIDIA Flex TOP (Position) → Geometry COMP (Instancing)
NVIDIA Flex で動く粒子の位置を NVIDIA Flex TOP の Position モードでテクスチャ化し、その値を Geometry COMP のインスタンス配置データとして渡すことで、シミュレーションに追従して大量のジオメトリをリアルタイム配置する基本フローです。
- Actor COMP で NVIDIA Flex のシミュレーションを構成
- NVIDIA Flex TOP の Actor COMP に上記を指定し Output を Position に設定
- 出力テクスチャを Geometry COMP のインスタンス位置データに割り当て
- シミュレーションの動きに合わせてインスタンスがリアルタイム追従
Example 2: 速度を色で可視化 🌈
Actor COMP (Flex) → NVIDIA Flex TOP (Velocity) → Lookup TOP → Out TOP
NVIDIA Flex TOP の Velocity モードで各粒子の速度をテクスチャ化し、Lookup TOP のカラーランプに通すことで、速い粒子と遅い粒子を色の違いとして可視化する用例です。動きのデバッグや速度連動の演出に活用できます。
- NVIDIA Flex TOP の Output を Velocity に設定して速度テクスチャを取得
- 出力を Lookup TOP に通し速度値をカラーランプにマッピング
- 速い粒子と遅い粒子を色の違いとして表示
関連オペレータ 🔗
類似機能OP 🔍
- NVIDIA Flow TOP — NVIDIA ライブラリを使うもう一方のシミュレーション TOP (煙・炎のボクセル流体)
組み合わせ推奨OP 🔄
- CHOP to TOP — 粒子データを CHOP 経由でテクスチャ化する別ルートとの比較・併用
- GLSL TOP — 粒子位置/速度テクスチャをシェーダ入力にしてカスタム処理
- Point File In TOP — 外部の点群データをテクスチャ化して同様にインスタンス利用
- Composite TOP — 出力結果を他のレイヤと合成して可視化
前処理・後処理TOP 🎯
Info CHOP情報 📊
NVIDIA Flex TOPは Info CHOP による解像度・ピクセルフォーマット・GPU メモリ使用量等の詳細情報取得に対応しています。
TOP固有情報 🖼️
resx: TOP の出力解像度 X (ピクセル単位)resy: TOP の出力解像度 Y (ピクセル単位)aspectx: アスペクト比 Xaspecty: アスペクト比 Ydepth: 3D テクスチャ / テクスチャ配列の深度 (2D テクスチャでは 1)gpu_memory_used: TOP が消費している GPU メモリ量 (MB 単位)
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: 出力テクスチャが真っ黒 / データが出ない
✅ Solution:
Actor COMPパラメータに有効な Actor COMP が指定されているか確認- 指定した Actor COMP が NVIDIA Flex シミュレーションを実行しているか確認
Outputが目的のデータ種別 (Position / Velocity) に設定されているか確認
❌ Problem: 粒子の位置がシーンと合わない
✅ Solution:
Outputが Position になっているか確認 (Velocity では位置ではなく速度が出力されます)- 後段でテクスチャ値をワールド座標として正しくスケール・オフセットしているか確認
- 値域を確認するため後段に Math CHOP 等を挟んでスケーリング
❌ Problem: 速度の値が小さく可視化しづらい
✅ Solution:
Outputを Velocity に設定したうえで後段でゲインを掛けて値を増幅- 後段に Math TOP を挟んで値域を正規化
- ピクセルフォーマットが浮動小数 (16-bit / 32-bit float) になっているか確認し微小値の精度を確保
参考資料 📚
その他 🔗
- TouchDesigner Wiki — Category:TOPs
- TouchDesigner Wiki — Pixel Formats 解説
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – NVIDIA Flex TOP
- TouchDesigner公式ドキュメント – Actor COMP (シミュレーションのアクター)
- TouchDesigner公式ドキュメント – NVIDIA Flow TOP (NVIDIA 系の流体シミュレーション)

