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

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

NVIDIA Flex TOP の粒子シミュレーションデータ取得機能を示すサムネイル

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

概要 📖 – 粒子の位置と速度を画像化

NVIDIA Flex TOPは、Actor COMP が保持する NVIDIA Flex シミュレーションから各粒子の位置または速度を読み取り、テクスチャとして出力する TOPです。Actor COMP パラメータでシミュレーションを保持するアクターを指定し、Output パラメータで取り出すデータを位置 (Position) と速度 (Velocity) から選びます。出力テクスチャは 1 粒子を 1 ピクセルとして格納するため、後段のインスタンス配置や速度連動の演出にそのまま流用できます。

主な用途 🎯

  • NVIDIA Flex の物理シミュレーションで動く各粒子の位置データをテクスチャとして取り出す
  • 各粒子の速度データを取り出して動きの強さや方向を後段で可視化・解析する
  • 取り出した位置テクスチャをジオメトリのインスタンス配置データとして利用する
  • 速度テクスチャをモーションブラーや色変化など速度連動の演出に流用する
  • クロス・流体・ソフトボディなど Flex 系シミュレーションの結果を画像処理経路へ橋渡しする

データフロー 🔄

入力: Actor COMP (Flex シミュレーションのアクター)

Output 設定に応じて各粒子の位置または速度を読み取り

1 粒子 = 1 ピクセルとしてテクスチャに書き込み

出力: 粒子データを格納したテクスチャ

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

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 のインスタンス配置データとして渡すことで、シミュレーションに追従して大量のジオメトリをリアルタイム配置する基本フローです。

  1. Actor COMP で NVIDIA Flex のシミュレーションを構成
  2. NVIDIA Flex TOP の Actor COMP に上記を指定し Output を Position に設定
  3. 出力テクスチャを Geometry COMP のインスタンス位置データに割り当て
  4. シミュレーションの動きに合わせてインスタンスがリアルタイム追従

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: アスペクト比 X
  • aspecty: アスペクト比 Y
  • depth: 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) になっているか確認し微小値の精度を確保

参考資料 📚

その他 🔗

公式リソース 📖

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