
概要 📖 – USD/FBX インポートのアニメーション再生選択
Import Select CHOPは、USD/FBX COMP からインポートしたアニメーションやブレンドシェイプを名前指定で再生し、Play Mode・Trim・Cue で位置制御する CHOPです。Import Parent (USD/FBX COMP) で取り込まれた 3D アセットのアニメーションクリップを、名前指定 + 再生制御パラメータ群で柔軟に取り出します。
主な用途 🎯
- USD/FBX COMP 内のアニメーションクリップを名前指定で再生
- ブレンドシェイプ (Blend Shape) チャンネルの抽出と再生制御
- Play Mode (Specify Index / Sequential / Output Full Range) によるアニメーション位置制御
- Trim Start / Trim End / Cue Point によるクリップ範囲の切り出し・頭出し
- Extend Left / Extend Right による Trim 範囲外の挙動 (Hold / Cycle / Mirror) 設定
データフロー 🔄
入力: USD/FBX COMP のインポートデータ
↓
Take Type 選択 (Animation / Blend Shapes)
↓
Animation / Blend Shape 名指定
↓
Sample Rate Mode 解決 (File FPS / Custom)
↓
Play Mode (Specify Index / Sequential / Output Full Range)
↓
Trim / Cue / Extend 適用
↓
出力: アニメーション値チャンネル
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
General Page 📋
Import Parent .parent 🎯
Import Parent .parent 🎯
– アセットを検索する Import Parent (USD/FBX COMP) のパスを指定
– 未指定時は自身のパス上で最初に見つかった Import Parent を自動で使用
Take Type .taketype 🔀
アニメーション再生とブレンドシェイプ再生のいずれを行うかを切り替えるメニュー
| 項目 | 内部名 | 説明 |
|---|---|---|
| Blend Shapes | .blendshapes |
ブレンドシェイプチャンネルを再生対象にする |
| Animation | .animation |
アニメーションクリップを再生対象にする |
Blend Shape .blendshape 🧬
Blend Shape .blendshape 🧬
– インポートファイル内で再生するブレンドシェイプ名を指定
– Take Type が Blend Shapes のときに有効
Reload .reload 🔄
Reload .reload 🔄
– Import Parent からアセットを再読み込みするパルスボタン
– 元ファイル更新後に最新内容を取り込みたいときに使用
Playback Page ▶️
Use Parent Animation .useparentanim 🔗
Use Parent Animation .useparentanim 🔗
– 親 COMP のアニメーション制御をそのまま使うか、本 OP で独自設定するかを切替
– オン: 親 COMP の再生設定を継承 / オフ: 以下のパラメータが有効化
Animation .animation 🎬
Animation .animation 🎬
– 再生するアニメーション名を指定
– Take Type が Animation のときに有効
Shift Animation Start .shiftanimationstart ⏩
Shift Animation Start .shiftanimationstart ⏩
– インポートファイルに記載されたアニメーション開始位置までシフトするか切替
– オン: 開始位置に合わせる / オフ: タイムライン基準で再生
Sample Rate Mode .sampleratemode 🎚️
FBX ファイルに埋め込まれた File FPS を使うか、Custom サンプルレートを設定するかを切り替える
| 項目 | 内部名 | 説明 |
|---|---|---|
| File FPS | .filefps |
FBX ファイルに埋め込まれた FPS を使用 |
| Custom | .custom |
Sample Rate パラメータで指定した値を使用 |
Sample Rate .samplerate 📈
Sample Rate .samplerate 📈
– Sample Rate Mode が Custom のときのサンプルレート値
– アニメーションのサンプリング密度を決める
Play Mode .playmode 🎮
アニメーション再生位置をどう決めるかのモードを選択する
| 項目 | 内部名 | 説明 |
|---|---|---|
| Specify Index | .specifyindex |
Index パラメータで再生位置を任意に指定 (ランダムアクセス用途) |
| Sequential | .sequential |
タイムラインに依らず連続再生 (Play / Speed / Cue / Cue Point が有効) |
| Output Full Range | .outputfullrange |
アニメーションの全範囲を一括出力 |
Index .index 🔢
Index .index 🔢
– Play Mode が Specify Index のときの再生位置を明示指定
– 単位は Index Unit メニュー (Index / Frames / Seconds / Fraction) で切替可能
Index Unit .indexunit 📐
Index パラメータの単位を切り替える (切り替え時に既存値が新単位に換算される)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Frames | .frames |
フレーム数で指定 |
| Seconds | .seconds |
秒で指定 |
| Fraction | .fraction |
0〜1 の割合 (パーセンテージ) で指定 |
| Index | .indices |
サンプルインデックスで指定 |
Play .play ▶️
Play .play ▶️
– Sequential モードのときの再生 ON/OFF トグル
– オンでアニメーション再生開始
Speed .speed ⚡
Speed .speed ⚡
– Sequential モード時の再生速度倍率 (1 = 通常 / 2 = 倍速 / 0.5 = 半速)
– 負値で逆再生も可能
Trim .trim ✂️
Trim .trim ✂️
– Trim Start / Trim End パラメータの有効化トグル
– オンで再生範囲をクリップ前後で切り詰める
Trim Start .tstart ⏮️
Trim Start .tstart ⏮️
– アニメーション開始からの切り詰め開始位置
– 単位は Trim Start Unit (Index / Frames / Seconds / Fraction) で切替
Trim Start Unit .tstartunit 📐
Trim Start パラメータの単位を切り替える (切り替え時に既存値が新単位に換算される)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Frames | .frames |
フレーム数で指定 |
| Seconds | .seconds |
秒で指定 |
| Fraction | .fraction |
0〜1 の割合 (パーセンテージ) で指定 |
| Index | .indices |
サンプルインデックスで指定 |
Trim End .tend ⏭️
Trim End .tend ⏭️
– アニメーション終端からの切り詰め終了位置
– 単位は Trim End Unit (Index / Frames / Seconds / Fraction) で切替
Trim End Unit .tendunit 📐
Trim End パラメータの単位を切り替える (切り替え時に既存値が新単位に換算される)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Frames | .frames |
フレーム数で指定 |
| Seconds | .seconds |
秒で指定 |
| Fraction | .fraction |
0〜1 の割合 (パーセンテージ) で指定 |
| Index | .indices |
サンプルインデックスで指定 |
Cue .cue 🎯
Cue .cue 🎯
– オンのとき Cue Point にジャンプしてその位置に停止
– Sequential モードのときのみ有効
Cue Pulse .cuepulse 🔘
Cue Pulse .cuepulse 🔘
– 押下するとアニメーションが Cue Point にジャンプして再生継続
– 頭出しトリガとして利用
Cue Point .cuepoint 📍
Cue Point .cuepoint 📍
– ジャンプ先となるアニメーション位置
– 単位は Cue Point Unit (Index / Frames / Seconds / Fraction) で切替
Cue Point Unit .cuepointunit 📐
Cue Point パラメータの単位を切り替える (切り替え時に既存値が新単位に換算される)
| 項目 | 内部名 | 説明 |
|---|---|---|
| Frames | .frames |
フレーム数で指定 |
| Seconds | .seconds |
秒で指定 |
| Fraction | .fraction |
0〜1 の割合 (パーセンテージ) で指定 |
| Index | .indices |
サンプルインデックスで指定 |
Extend Left .textendleft ⬅️
Trim Start より前のアニメーション位置 (例: Trim Start = 1, 現在位置 = -10) における挙動を決定する
| 項目 | 内部名 | 説明 |
|---|---|---|
| Hold | .hold |
Trim Start の値を保持し続ける |
| Cycle | .cycle |
Trim 範囲をループ再生 |
| Mirror | .mirror |
Trim 範囲を交互に往復再生 |
Extend Right .textendright ➡️
Trim End より後のアニメーション位置 (例: Trim End = 20, 現在位置 = 25) における挙動を決定する
| 項目 | 内部名 | 説明 |
|---|---|---|
| Hold | .hold |
Trim End の値を保持し続ける |
| Cycle | .cycle |
Trim 範囲をループ再生 |
| Mirror | .mirror |
Trim 範囲を交互に往復再生 |
Common Page 🔧
Time Slice .timeslice ⏱️
Time Slice モードの強制設定:
- オン: チャンネルを「タイムスライス」モードに強制
- タイムスライス: 前回のクックフレームから現在のクックフレームまでの時間
Scope .scope 🎯
影響を受けるチャンネルの絞り込み:
- Scope 文字列: 影響を受けるチャンネルを指定する文字列
- パターンマッチング:
*や[1-10]等のパターンが使用可能
Sample Rate Match .srselect ⚡
複数の入力 CHOP のサンプルレートが異なる場合の処理方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| Resample At First Input’s Rate | .first |
最初の入力のレートで他をリサンプル |
| Resample At Maximum Rate | .max |
最高サンプルレートでリサンプル |
| Resample At Minimum Rate | .min |
最低サンプルレートでリサンプル |
| Error If Rates Differ | .err |
レート不一致でエラー |
Export Method .exportmethod 📤
CHOP チャンネルをパラメータに接続する方法
| 項目 | 内部名 | 説明 |
|---|---|---|
| DAT Table by Index | .datindex |
DAT テーブルのインデックスでチャンネルとパラメータを対応付け |
| DAT Table by Name | .datname |
DAT テーブルの行名でチャンネルとパラメータを対応付け |
| Channel Name is Path:Parameter | .autoname |
チャンネル名を `path:parameter` 形式で記述し直接対応付け |
Export Root .autoexportroot 🌳
Channel Name is Path:Parameter モード時のパス基点:
- Export Root パス:
autonameモードでチャンネル名のパス部分を相対化する基点 OP のパス
Export Table .exporttable 📋
DAT Table エクスポート方式での参照 DAT:
- Export Table DAT:
datindex/datnameモード時に参照する DAT のパス
Rename from .commonrenamefrom 🔤
リネーム対象チャンネルのパターン:
- Rename from パターン: リネーム対象とするチャンネル名のパターンマッチング文字列
Rename to .commonrenameto 🔁
リネーム後の置換パターン:
- Rename to パターン: Rename from にマッチしたチャンネルの新しい名前パターン (デフォルトはリネームなし)
実践アイデア 💡
Example 1: FBX キャラクターアニメーションの再生 🎬
FBX COMP → Import Select CHOP (Take Type: Animation, Animation 名指定) → Geometry COMP
- FBX COMP に外部 FBX ファイルを読み込ませる
- Import Select CHOP の Import Parent に FBX COMP のパスを指定
- Take Type を Animation に設定し Animation 名を入力
- Play Mode を Sequential にしてジオメトリのアニメーションを再生
Example 2: ブレンドシェイプによる表情モーフ 🧬
USD COMP → Import Select CHOP (Take Type: Blend Shapes) → Geometry COMP のブレンドシェイプ重み
- USD COMP にブレンドシェイプを含むキャラクターアセットを読み込ませる
- Import Select CHOP の Take Type を Blend Shapes に切替
- Blend Shape パラメータでターゲットのブレンドシェイプ名を指定
- 出力ウェイトをジオメトリのブレンドシェイプチャンネルに Export して表情を駆動
Example 3: Specify Index による任意フレームのスナップショット 📸
FBX COMP → Import Select CHOP (Play Mode: Specify Index) → 任意フレームのポーズ出力
- Import Select CHOP の Play Mode を Specify Index に設定
- Index Unit を Frames にして Index に取得したいフレーム番号を入力
- そのフレーム時点の各ボーンチャンネル値が静止スナップショットとして取り出される
- ポーズライブラリやサムネイル生成のソースとして利用
関連オペレータ 🔗
類似機能OP 🔍
- File In CHOP — AIFF / WAV / CSV 等の外部ファイルから直接チャンネル読込。USD/FBX のアニメーション再生には非対応
組み合わせ推奨OP 🔄
- Select CHOP — Import Select の出力から特定チャンネルだけを抽出
- Math CHOP — ブレンドシェイプウェイトのスケーリング・オフセット調整
- Filter CHOP — アニメーション値のスムージングで急峻な動きを緩和
- Null CHOP — Import Select の出力に Null を挟んで参照ポイントとして固定
- Trail CHOP — アニメーション値の時間履歴を可視化してデバッグ
前処理・後処理CHOP 🎯
Info CHOP情報 📊
Import Select CHOPは Info CHOP による詳細情報取得に対応しています。
CHOP固有情報 🎚️
start: CHOPインターバルの開始(サンプル単位)length: CHOPのサンプル数sample_rate: フレーム毎秒のサンプルレートnum_channels: CHOPのチャンネル数time_slice: タイムスライス有効時は1、無効時は0export_sernum: Export接続の更新回数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間(ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: Animation / Blend Shape 名を指定してもチャンネルが出ない
✅ Solution:
- Import Parent (USD/FBX COMP) のパスが正しく解決されているか確認 (未指定なら自身のパス上で最初に見つかる Import Parent が対象)
- Take Type が再生対象に合っているか確認 (Blend Shape を出すなら Blend Shapes、アニメクリップなら Animation)
- 元ファイルに該当の名前が存在するか確認、Reload パルスでアセットを再読み込み
❌ Problem: Specify Index の Index 値を変えても再生位置が変わらない
✅ Solution:
- Play Mode が Specify Index になっているか確認 (Sequential では Index は無効)
- Index Unit を意図した単位に揃える (Frames / Seconds / Fraction / Index)
- Use Parent Animation がオンだと親 COMP の制御に上書きされるためオフにする
❌ Problem: Trim 範囲外で値が想定と異なる
✅ Solution:
- Extend Left / Extend Right の挙動 (Hold / Cycle / Mirror) を確認
- Hold を選ぶと Trim 端点で値が固定、Cycle はループ、Mirror は往復
- Trim Start / Trim End の単位 (Frames / Seconds / Fraction / Index) が一致しているか確認
❌ Problem: FPS が想定と異なりアニメーションが速すぎる/遅すぎる
✅ Solution:
- Sample Rate Mode が File FPS のとき、ファイル埋込 FPS が想定と一致しているか確認
- Custom に切替えて Sample Rate を明示指定 (例: 30 / 60)
- 後段のスムージングが必要なら Filter CHOP を挿入
参考資料 📚
その他 🔗
- TouchDesigner Wiki — CHOP 概要
- TouchDesigner Wiki — Category:CHOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

