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

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

Import Select POP による USD/FBX ジオメトリ選択取出の図

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

概要 📖 – USD/FBXから取出す

Import Select POPは、親 USD/FBX COMP に取込済みのジオメトリ階層から、Geo Path で指定したオブジェクトをアニメーション付きで取出す POPです。USD COMP / FBX COMP が読込済みのアセット階層から、特定のジオメトリパスを選択して POP ストリームへ流し込めます。Play Mode (Sequential / Specify Index) と Trim / Cue / Extend を組合せれば、アニメーションの順次再生、外部 CHOP からのタイムラインスクラブ、区間ループや反転再生まで柔軟に制御できます。

主な用途 🎯

  • 親 USD COMP / FBX COMP に取込済みのジオメトリ階層から個別オブジェクトを抽出
  • Geo Path 指定によるシーン内の特定モデル・キャラクターの選択取出
  • Blend Shape 名を指定したモーフターゲット (表情・形状変形) 制御
  • 親 COMP アニメーションコントロールとの同期再生 (Use Parent Animation)
  • Specify Index モードによる外部 CHOP からのタイムラインスクラブ・部分再生
  • Trim / Cue / Extend Left / Extend Right を組合せた区間ループ・反転再生

データフロー 🔄

親 USD/FBX COMP (取込済みジオメトリ階層)

Import Select POP (Geo Path 指定 + 再生制御)

出力: ポイント・頂点・プリミティブ属性を持つ POP

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

General Page 📋

親COMP参照とパス 📂

Import Parent .parent 🎯
Import Parent (取込親 COMP) — 取込元となる USD COMP / FBX COMP のパスを指定
– 未指定の場合、Import Select POP は自身のパスを上に遡り、最初に見つかった import 親 COMP を自動的に検索対象とする

Geo Path .geometry 🛤️
Geo Path (ジオメトリパス) — 取込元ファイル内のどのジオメトリオブジェクトを選択するかを指定するパス文字列
– 例: /root/character/body のようにファイル内階層を辿ったパスで部分選択する
– 親 COMP が取込んだ全オブジェクトの中から、この POP で扱うジオメトリを 1 つ特定する

Reload .reload 🔄
Reload (再読込) — ジオメトリを再 import してロードし直すパルスパラメータ
– 親 COMP のソースファイルを差し替えた後にこのパルスを発火すると最新内容が POP に反映される

Blend Shape・接線 🎭

Blend Shape .blendshape 🎭
Blend Shape (ブレンドシェイプ) — 取込ファイル内に定義されたブレンドシェイプ (モーフターゲット) の名前を指定
– 指定したブレンドシェイプが読込まれ、表情変化やキャラクターの形状変形に利用できる
– 何も指定しなければベースのジオメトリのみが取出される

Compute Tangents .comptang 📐
Compute Tangents (接線計算) — 取込ジオメトリに対し接線ベクトルを計算するかどうかのトグル
– ノーマルマップを使うマテリアルでは接線情報が必要なため、PBR レンダリング時はオンにする
– 単純な拡散シェーディングのみで使う場合はオフでクック負荷を軽減できる


Playback Page ▶️

親アニメと速度 🎚️

Use Parent Animation .useparentanim 🔗
Use Parent Animation (親アニメーション使用) — 親 COMP 側のアニメーションコントロールに従って再生するかどうか
– オンにすると親 USD COMP / FBX COMP のタイムラインに同期、オフにするとこの POP 単独の Play / Index / Cue で制御する

Shift Animation Start .shiftanimationstart ↩️
Shift Animation Start (開始シフト) — 取込ファイルのアニメーション開始時刻を 0 にシフトして再生するかどうかのトグル
– ファイル側で開始時刻が中途半端 (例: フレーム 1001 開始) でも TouchDesigner 側の時刻 0 を起点に揃えて再生できる

Sample Rate .samplerate 🔢
Sample Rate (サンプルレート) — Sample Rate Mode = Custom 時のサンプルレート (Hz)
– 60 にすれば 60fps 駆動、24 にすれば映画系の 24fps 駆動として再生

Initialize .initialize 🟡
Initialize (初期化) — アニメーションを初期状態 (開始位置) に戻すパルスパラメータ
– ループ開始時や再生リセット時にトリガーする

Start .start 🟢
Start (開始) — アニメーションシーケンスの再生開始パルス
– Initialize の直後に発火させると先頭から再生開始できる

Play .play ▶️
Play (再生) — 再生のオン / オフ。オフでアニメーションを停止
– Play Mode = Sequential と組合せて使う

Speed .speed
Speed (速度) — 再生速度の倍率。1.0 が等速、2.0 で 2 倍速、0.5 でスローモーション
– 負値で逆再生も可能

Sample Rate Mode .sampleratemode 📐

サンプルレートの源を決定するモード

項目 内部名 説明
Custom .custom Sample Rate パラメータで指定したカスタムレート (Hz) を使用

Play Mode .playmode 🎮

アニメーション再生の制御方式 (インデックス指定 / シーケンシャル再生)

項目 内部名 説明
Specify Index .specifyindex Index パラメータの値で直接アニメーション位置を指定。外部 CHOP / DAT で Index を駆動してスクラブ・同期再生する用途に最適
Sequential .sequential Play / Speed / Start に従って時間経過で進行する標準的な再生モード。Cue / Trim 機能はこのモードでのみ有効

Cue・Index 📍

Cue .cue 📌
Cue (キュー) — オンにすると Cue Point の位置にジャンプし、そこで停止保持するトグル
– Play Mode = Sequential のときのみ有効

Cue Point .cuepoint 🎯
Cue Point (キュー位置) — Cue でジャンプする先のアニメーション位置
– 単位は右側の Cue Point UnitIndex / Frames / Seconds / Fraction から選択

Index .index 🔢
Index (インデックス) — Play Mode = Specify Index 時のアニメーション位置
– 単位は右側の Index UnitIndex / Frames / Seconds / Fraction から選択
– 外部 CHOP の値を Index にエクスポートすればタイムラインスクラブが可能

Trim 設定 ✂️

Trim .trim 🔘
Trim (トリム) — オンにすると Trim Start / Trim End で再生範囲を制限
– アニメーション全長の一部だけをループ・部分再生したい場合に使用

Trim Start .tstart ⏮️
Trim Start (開始位置) — トリム後の再生開始位置 (この時刻が新しい時刻 0 として扱われる)
– 単位は右側の Trim Start UnitIndex / Frames / Seconds / Fraction から選択

Trim End .tend ⏭️
Trim End (終了位置) — トリム後の再生終了位置
– 単位は右側の Trim End UnitIndex / Frames / Seconds / Fraction から選択

Extend Left .textendleft ◀️

Trim Start より前の時刻が参照されたときの振る舞い

項目 内部名 説明
Hold .hold Trim Start の値を保持し続ける (静止)
Cycle .cycle Trim 範囲を周期的にループ。境界で Trim End から Trim Start へジャンプ
Mirror .mirror Trim 範囲を反転再生してミラーリング。境界で正再生 / 逆再生が交互に切替わる

Extend Right .textendright ▶️

Trim End より後の時刻が参照されたときの振る舞い

項目 内部名 説明
Hold .hold Trim End の値を保持し続ける (静止)
Cycle .cycle Trim 範囲を周期的にループ。境界で Trim Start から Trim End へジャンプ
Mirror .mirror Trim 範囲を反転再生してミラーリング。境界で正再生 / 逆再生が交互に切替わる

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: USDキャラの選択描画 🏗️

USD COMP (.usd / .usda) → Import Select POP (Geo Path 指定) → Render TOP / Geometry COMP

USD COMP に読込ませた大規模シーン (.usd / .usda) の中から、Import Select POP で特定のキャラクターやプロップだけを Geo Path で取出す典型例。シーン全体を 1 つの POP に展開すると重いため、必要なオブジェクトのみを個別 POP として下流に流し、Render TOP でマテリアル付きでレンダリングする。

  1. USD COMP に .usd / .usda ファイルを読込ませる
  2. Import Select POP の Import Parent に親 USD COMP のパスを指定 (空欄なら上位階層を自動探索)
  3. Geo Path に取出したいオブジェクトのパス (例: /root/character/body) を入力
  4. Compute Tangents をオンにして PBR マテリアル用の接線情報を生成
  5. 下流の Render TOP でマテリアル付き (色・質感) を付与して最終描画

Example 2: FBXを親COMPと同期 🎞️

FBX COMP (.fbx, アニメーション付) → Import Select POP (Use Parent Animation オン) → Transform POP → Render TOP

Maya や Blender から書き出した FBX キャラクターアニメーションを FBX COMP に読込ませ、Import Select POP の Use Parent Animation をオンにして親 COMP のタイムラインに同期再生する例。Use Parent Animation をオフにすれば、この POP 単独の Play / Index / Cue でアニメーションを個別制御できる。

  1. FBX COMP にアニメーション付きの .fbx ファイルを読込ませる
  2. Import Select POP の Import Parent に FBX COMP のパスを指定
  3. Geo Path で再生したいスケルタル/メッシュオブジェクトのパスを選択
  4. Use Parent Animation をオンにして親 COMP のタイムラインに従って再生
  5. 下流の Transform POP / Render TOP で位置調整・着色を施す

Example 3: 外部CHOPでスクラブ 🕹️

LFO CHOP / Audio Spectrum CHOP → export → Import Select POP (Play Mode=Specify Index, Index) → 下流 POP

Use Parent Animation をオフにし、Play Mode を Specify Index に切替えて、Index パラメータに外部 CHOP の値をエクスポートする例。これにより、音楽の BPM や UI スライダーの値に合わせて取込ジオメトリのアニメーションをスクラブできる。Index Unit を Fraction (0〜1) にすると正規化済みの値で扱いやすい。

  1. Use Parent Animation をオフに切替
  2. Play Mode = Specify Index を選択
  3. Index UnitFraction に設定 (0=先頭 / 1=末尾の正規化制御)
  4. LFO CHOP / Audio Spectrum CHOP / Slider COMP 等から 0〜1 の信号を生成
  5. 右クリック → Export CHOP で生成した CHOP 値を Index パラメータへバインド

関連オペレータ 🔗

類似機能OP 🔍

  • Alembic In POP — Alembic (.abc) ファイルを直接読込む source 系 POP
  • File In POP — 汎用ジオメトリファイルを POP として読込む source 系 POP

組み合わせ推奨OP 🔄

  • Transform POP — 取込ジオメトリの位置・回転・スケールを下流で調整
  • Math POP — 取込頂点属性 (位置 / 法線等) の正規化・スケーリング
  • Attribute POP — 取込属性のリネーム・削除・スキーマ整形
  • Skin Deform POP — Blend Shape やスケルタル変形の下流処理
  • Cache POP — 取込ジオメトリを GPU キャッシュに保存し再利用

前処理・後処理POP 🎯


Info POP情報 📊

Import Select POP は Info CHOP / Info DAT による詳細情報取得に対応しています。

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

ジオメトリ・属性情報 🧬

  • num_points: 取込ジオメトリの出力ポイント数
  • num_point_attribs: 出力 POP の point 属性数 (位置 P / 法線 N / カラー Cd 等の合計)
  • num_vertex_attribs: 出力 POP の vertex 属性数 (UV 等の頂点単位属性数)
  • num_prim_attribs: 出力 POP の primitive 属性数
  • num_prims: 出力プリミティブ数 (取込ジオメトリのメッシュ / カーブ数)

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

よくある問題と解決策 🔧

❌ Problem: ジオメトリが何も出力されない
✅ Solution:

  • Import Parent に親 USD COMP / FBX COMP のパスが指定されているか確認 (空欄で自動検索が外れている場合あり)
  • Geo Path がファイル内の実在オブジェクトを指しているか親 COMP のコンテンツ一覧で確認
  • Reload パルスを発火してジオメトリを再読込
  • 親 COMP 側でファイルが正常に読込まれているか先にチェック

❌ Problem: アニメーションが再生されない / 静止したまま
✅ Solution:

  • Use Parent Animation のオン / オフを取り違えていないか確認 (オンなら親 COMP のタイムライン依存)
  • Play Mode が Sequential になっているか確認 (Specify Index では Play / Speed は無視される)
  • Play がオン、Start パルスが発火済みか確認
  • ファイル側のジオメトリがアニメーション付きで書き出されているか DCC 側のエクスポート設定を再確認

❌ Problem: Blend Shape が反映されない
✅ Solution:

  • Blend Shape に指定した名前が取込ファイル内に実在するかを再確認 (大文字小文字や階層プレフィックスに注意)
  • 親 USD COMP / FBX COMP がブレンドシェイプ情報を含めて書き出されているか確認
  • 下流の Skin Deform POP を併用して変形ウェイトを適用

❌ Problem: ノーマルマップが正しく見えない / 法線が滑らかでない
✅ Solution:

  • Compute Tangents をオンにして接線ベクトルを生成 (PBR マテリアルで必須)
  • Attribute POP で法線属性 N が出力に残っているか確認
  • 下流の Render TOP のノーマルマップ設定で接線基準が正しく参照されているか確認

❌ Problem: クック時間が長くフレーム落ちする
✅ Solution:

  • Compute Tangents が不要ならオフにしてクック負荷を軽減
  • Common Page の Delete Input Attributes で下流に渡す属性を最小限に絞り、VRAM・帯域を節約
  • Cache POP を下流に挟んでフレーム毎の再計算を抑制
  • Geo Path をシーン全体ではなく必要な部分のみに絞る

参考資料 📚

その他 🔗

公式リソース 📖

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