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

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

Animation COMP のキーフレーム再生機能を示す図

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

概要 📖 – キーフレームアニメーション再生

Animation COMPは、Animation Editor で作成したキーフレームアニメーションを CHOP チャンネルとして再生する COMPです。Play Mode で再生方式 (Sequential / Use Input Index / Output Full Range) を切替え、内部の Keyframe CHOP がカーブを評価して出力します。

主な用途 🎯

  • Animation Editor で作成したキーフレームカーブを CHOP チャンネルとして再生
  • Play Mode 切替による Sequential / Input Index / Output Full Range の使い分け
  • Cue Point 機能を使った任意位置への即時ジャンプ再生
  • Use Input Index モードでの外部 CHOP からの index 制御 (ランダムアクセス)
  • Output Full Range モードでカスタムルックアップカーブを生成し他 OP のパラメータ駆動に再利用

データフロー 🔄

入力: index CHOP (任意・Use Input Index モード時)

Animation COMP 内部の Key DAT + Attributes DAT を Keyframe CHOP で curve lookup

出力: アニメーションチャンネル (Play Mode に応じ Sequential / Index駆動 / Full Range)

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

Animation Page 🎬

Time Reference .timeref 🕒

時間情報の参照元:

  • Time Reference: timeref — Animation COMP が時間情報を参照する場所。Range Page の Type が Timeline のとき、チャンネルのデフォルト範囲とレートを決定する基準となる

Play Mode .playmode 🎛️

アニメーションの再生方式またはカーブ全体出力を切替えるメニューパラメータ

項目 内部名 説明
Use Input Index .input Animation COMP の CHOP 入力で再生位置を指定。Input Index Unit でチャンネル単位を変更可能。任意位置へのランダムアクセスが必要な場合に使用
Sequential .sequential タイムラインに依存せず継続再生 (Index パラメータは無効化)。Reset / Speed / Cue が有効になる
Output Full Range .outputrange アニメーションチャンネルの全範囲を一括出力。カスタムルックアップカーブを生成する用途に有効

Sequential 再生制御 ▶️

Sequential モード時のみ有効な再生制御パラメータ:

  • Play: play — オンで再生、オフで停止。Play Mode が Sequential のときのみ有効
  • Speed: speed — 再生速度倍率 (1 = 等倍, 2 = 倍速, 0.5 = 半速, 負値で逆再生)。Play Mode が Sequential のときのみ動作
  • Cue: cue — 1 に設定すると Cue Point にジャンプ。Play Mode が Sequential のときのみ有効
  • Cue Pulse: cuepulse — クリックで即時に Cue Point へジャンプするパルスパラメータ
  • Cue Point: cuepoint — ジャンプ先となるアニメーション内インデックス。Play Mode が Sequential のときのみ有効
  • Cue Point Unit: cuepointunit — Cue Point パラメータの単位 (samples / frames / seconds 等)

Input Index Unit .inputindexunit 🎛️

Play Mode が Use Input Index のとき、index 入力チャンネルの単位を選択するメニューパラメータ

項目 内部名 説明
Samples .samples サンプル単位で index を指定
Frames .frames フレーム単位で index を指定
Seconds .seconds 秒単位で index を指定
Fraction .fraction アニメーション範囲を 0-1 の正規化値として index を指定
X Units .xunits 内部 key DAT テーブルのキー情報をそのまま使用 (attributes DAT のカスタム設定を無視)

Cyclic Range .cyclic 🎛️

巡回入力 index に対するアニメーション範囲の扱いを選択するメニューパラメータ

項目 内部名 説明
Automatic .auto 各チャンネルの右端延長条件 (cycle / mirror なら巡回扱い) を見て自動判定
Yes .yes index がアニメーション範囲外でも出力を巡回させる (index 0.0 と 1.0 が滑らかに繋がる)
No .no index がアニメーション範囲外でも出力を巡回させない

Edit Attributes ✏️

Animation Editor 表示時の原点・レート上書き設定:

  • Specify Edit Attributes: specifyedit — オンで下記 Edit Origin / Edit Rate を有効化
  • Edit Origin: editorigin — Animation Editor 表示・再生時のチャンネル原点を変更 (内部 key DAT のデータには影響なし)
  • Edit Rate: editrate — Animation Editor 表示・再生時のチャンネルレートを変更 (内部 key DAT のデータには影響なし)
  • Edit Animation…: editanimation — クリックで Animation Editor を開きこの COMP のカーブを編集

Range Page 📐

Type .rangetype 🎛️

Animation COMP の動作範囲を決定するメニューパラメータ

項目 内部名 説明
Custom .custom 下記 Start / End パラメータでカスタム範囲を指定

Start / End 📏

Custom 範囲の開始・終端位置と単位:

  • Start: start — Custom 範囲の開始位置 (samples / frames / seconds 単位)
  • Start Unit: startunit — Start パラメータの単位選択 (Samples / Frames / Seconds)
  • End: end — Custom 範囲の終端位置 (samples / frames / seconds 単位)
  • End Unit: endunit — End パラメータの単位選択 (Samples / Frames / Seconds)

Trim Left .tleft 🎛️

End 位置より後の出力動作を決定するメニューパラメータ (Output Full Range では Keyframe CHOP の Extend に従う)

項目 内部名 説明
Hold .hold チャンネルの現在値を保持
Slope .slope チャンネル開始前の傾きを延長
Cycle .cycle チャンネルを巡回繰返
Mirror .mirror 1 サイクルごとに反転しながら巡回
Default Value .default Default Value パラメータで指定した定数値を出力

Trim Right .tright 🎛️

Start 位置より前の出力動作を決定するメニューパラメータ (Output Full Range では Keyframe CHOP の Extend に従う)

項目 内部名 説明
Hold .hold チャンネルの現在値を保持
Slope .slope チャンネル終端後の傾きを延長
Cycle .cycle チャンネルを巡回繰返
Mirror .mirror 1 サイクルごとに反転しながら巡回
Default Value .default Default Value パラメータで指定した定数値を出力

Trim Default .tdefault 📏

Default Value 選択時の定数値:

  • Trim Default: tdefault — Trim Left / Trim Right が Default Value モードのとき出力する定数値

Common Page 🔧

Parent Shortcut .parentshortcut 🔗

コンポーネント内部からこの COMP へのパスとして使えるショートカット名:

  • Parent Shortcut: コンポーネント内部の任意の場所からこの COMP を参照する際のショートカット名 (parent.<name> 形式で利用可能)

Global OP Shortcut .opshortcut 🌐

プロジェクト全体からこの COMP を参照するグローバル名:

  • Global OP Shortcut: プロジェクト内のあらゆる場所からこの COMP へのパスとして使えるグローバル名 (op.<name> 形式で利用可能)

Internal OP .iop 📎

Internal OP シーケンス (コンポーネント内部 OP への名前付き参照):

  • Shortcut: iop0shortcut — コンポーネント内部の OP に対するショートカット名
  • OP: iop0op — このコンポーネント内部の対象 OP へのパス

Operator Viewer .opviewer 🖼️

Operator Viewer モード時に表示する対象 OP:

  • Operator Viewer パス: opviewer — Node View が opviewer モードのとき、そのビューア内容として表示する OP のパス

Cloning .cloning 🧬

マスター COMP の内容を複製する Cloning 設定:

  • Enable Cloning: enablecloning — Clone Master の内容を継続的に複製するかを切替
  • Enable Cloning Pulse: enablecloningpulse — その瞬間だけ Clone Master の内容を瞬時に複製
  • Clone Master: clone — 複製元となるマスターコンポーネントへのパス

Load on Demand .loadondemand

必要時のみメモリにロードする遅延ロード設定:

  • Load on Demand: loadondemand — オンの場合、このコンポーネントは実際に必要となるまでメモリにロードされない (起動時間・メモリ消費の最適化)

External .tox .externaltox 💾

外部 .tox ファイルとの連携設定:

  • Enable External .tox: enableexternaltox — 起動時に外部 .tox ファイルからロード
  • Enable External .tox Pulse: enableexternaltoxpulse — 外部 .tox ファイルから即時リロード
  • External .tox Path: externaltox — ディスク上の .tox ファイルへのパス
  • Reload Custom Parameters: reloadcustom — コンポーネントのカスタムパラメータ値を再読み込み
  • Reload Built-In Parameters: reloadbuiltin — コンポーネントの組み込みパラメータ値を再読み込み
  • Save Backup of External: savebackup — .toe ファイル内に外部 .tox のバックアップコピーを保存
  • Sub-Component to Load: subcompname — .tox 内部の特定 COMP のみを取り出してロード

Relative File Path Behavior .relpath 📁

相対ファイルパスの解決基準:

  • Relative File Path Behavior: relpath — このコンポーネント内の子ファイルパスを .toe / 外部 .tox / 親 COMP のいずれを基準に解決するかを選択

実践アイデア 💡

Example 1: Sequential 再生で連続アニメーションを流す ▶️

Animation COMP (Sequential + Play=On) → CHOP 出力 → Geometry COMP の Translate

Animation Editor でキーフレームを打った後、Play Mode を Sequential にして Play パラメータをオンにすると、タイムラインに依存せずに連続再生される。出力をジオメトリの Translate に接続することで一定速度のアニメーションが流れる。

  1. Animation COMP を作成し editanimation パルスで Animation Editor を開く
  2. Geometry COMP の Translate Y などにキーフレームを 2-3 点打つ
  3. Play Mode を Sequential、Play を On、Speed を 1.0 に設定
  4. Animation COMP の出力を Geometry COMP の Translate に接続

Example 2: 外部CHOPで再生位置を制御 🎚️

Slider (LFO CHOP / Constant CHOP) → Animation COMP (Use Input Index) → CHOP 出力 → Light COMP の色

Play Mode を Use Input Index に設定し、CHOP 入力 (例えば LFO や手動スライダ) で再生位置を直接指定する。Input Index Unit で単位を Frames / Seconds / Fraction などに切替えできるため、UI からのスクラブ操作も簡単に実装できる。

  1. Animation COMP の Play Mode を Use Input Index に設定
  2. Input Index Unit を Fraction にして 0-1 正規化値で扱う
  3. LFO CHOP や Slider COMP の出力を Animation COMP の CHOP 入力に接続
  4. Animation COMP の出力を Light COMP のカラーパラメータに接続

Example 3: Output Full Rangeでカーブ生成 📈

Animation COMP (Output Full Range) → Lookup CHOP の lookup channel → Math CHOP

Output Full Range モードはアニメーションチャンネルを 1 つの長い CHOP として一括出力するため、Lookup CHOP のルックアップテーブルやイージングカーブの素材として再利用できる。Animation Editor で 1 度だけカーブを描いておけば、後段で動的な入力値に対するカーブ評価ができる。

  1. Animation COMP でイージングカーブを Animation Editor で 1 本描く
  2. Play Mode を Output Full Range に設定し全範囲を一括出力
  3. Lookup CHOP の Lookup チャンネルに Animation COMP の出力を接続
  4. Lookup CHOP の Index 入力で動的な値を流し込み、カーブ経由で出力値を得る

関連オペレータ 🔗

類似機能OP 🔍

  • Keyframe CHOP — Animation COMP 内部で実際にカーブ評価を行う CHOP。COMP 経由ではなく直接 CHOP として使う場合の選択肢
  • Timer CHOP — セグメントベースで時間制御を行う CHOP。複数イベントの順次トリガーが必要な場合の代替

組み合わせ推奨OP 🔄

  • Lookup CHOP — Output Full Range と組み合わせてカスタムカーブの動的評価を実現
  • LFO CHOP — Use Input Index モードへ位相信号を流し、周期的にアニメーションを駆動
  • Geometry COMP — Animation COMP の出力をジオメトリの Translate / Rotate にエクスポート
  • Trigger CHOP — 外部イベント検知に応じて Cue Pulse をトリガーし任意位置へジャンプ

前処理・後処理COMP 🎯


Info CHOP情報 📊

この COMP は Info CHOP / Info DAT による詳細情報取得に対応しています。

COMP 固有情報 📦

  • num_children: コンポーネント内部の子 OP の総数
  • num_dats: 内部 DAT の数
  • num_chops: 内部 CHOP の数
  • num_tops: 内部 TOP の数
  • num_sops: 内部 SOP の数

汎用オペレータ情報 🔄

  • total_cooks: プロセス開始からのクック回数
  • cook_time: 最後のクック時間 (ミリ秒)
  • cook_frame: 最後にクックされたフレーム番号
  • warnings: 警告数
  • errors: エラー数

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

よくある問題と解決策 🔧

❌ Problem: Play パラメータをオンにしても再生されない
✅ Solution:

  • Play Mode が Sequential になっているか確認 (Play / Speed / Cue は Sequential 専用)
  • Speed が 0 になっていないか確認
  • editanimation パルスで Animation Editor を開き、実際にキーフレームが打たれているかを確認

❌ Problem: Use Input Index モードで再生位置が想定とズレる
✅ Solution:

  • Input Index Unit が想定単位 (Frames / Seconds / Fraction 等) と一致しているか確認
  • Cyclic Range が Yes / No / Automatic のどれになっているかを確認 (巡回 index 使用時は Yes 必須)
  • Range Page の Start / End が想定範囲を覆っているか確認 (範囲外は Trim Left / Trim Right の設定で出力)

❌ Problem: Output Full Range で期待した長さのカーブが出ない
✅ Solution:

  • Range Page の Type / Start / End が想定範囲になっているか確認
  • End Unit と Start Unit が一致しているか確認 (Samples / Frames / Seconds 混在で長さがずれる)
  • 内部 Keyframe CHOP の Extend Conditions が Output Full Range 時の出力範囲外動作を決定するため、Animation Editor 内で確認

参考資料 📚

その他 🔗

公式リソース 📖

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