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

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

Import Select CHOP の USD/FBX アニメーション再生選択機能を示す図

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

概要 📖 – 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 適用

出力: アニメーション値チャンネル

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

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
  1. FBX COMP に外部 FBX ファイルを読み込ませる
  2. Import Select CHOP の Import Parent に FBX COMP のパスを指定
  3. Take Type を Animation に設定し Animation 名を入力
  4. Play Mode を Sequential にしてジオメトリのアニメーションを再生

Example 2: ブレンドシェイプによる表情モーフ 🧬

USD COMP → Import Select CHOP (Take Type: Blend Shapes) → Geometry COMP のブレンドシェイプ重み
  1. USD COMP にブレンドシェイプを含むキャラクターアセットを読み込ませる
  2. Import Select CHOP の Take Type を Blend Shapes に切替
  3. Blend Shape パラメータでターゲットのブレンドシェイプ名を指定
  4. 出力ウェイトをジオメトリのブレンドシェイプチャンネルに Export して表情を駆動

Example 3: Specify Index による任意フレームのスナップショット 📸

FBX COMP → Import Select CHOP (Play Mode: Specify Index) → 任意フレームのポーズ出力
  1. Import Select CHOP の Play Mode を Specify Index に設定
  2. Index Unit を Frames にして Index に取得したいフレーム番号を入力
  3. そのフレーム時点の各ボーンチャンネル値が静止スナップショットとして取り出される
  4. ポーズライブラリやサムネイル生成のソースとして利用

関連オペレータ 🔗

類似機能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、無効時は0
  • export_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 を挿入

参考資料 📚

その他 🔗

公式リソース 📖

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