
概要 📖 – キーフレームアニメーション再生
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)
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
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 に接続することで一定速度のアニメーションが流れる。
- Animation COMP を作成し
editanimationパルスで Animation Editor を開く - Geometry COMP の Translate Y などにキーフレームを 2-3 点打つ
- Play Mode を
Sequential、Play をOn、Speed を1.0に設定 - 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 からのスクラブ操作も簡単に実装できる。
- Animation COMP の Play Mode を
Use Input Indexに設定 - Input Index Unit を
Fractionにして 0-1 正規化値で扱う - LFO CHOP や Slider COMP の出力を Animation COMP の CHOP 入力に接続
- 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 度だけカーブを描いておけば、後段で動的な入力値に対するカーブ評価ができる。
- Animation COMP でイージングカーブを Animation Editor で 1 本描く
- Play Mode を
Output Full Rangeに設定し全範囲を一括出力 - Lookup CHOP の Lookup チャンネルに Animation COMP の出力を接続
- 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 内で確認
参考資料 📚
その他 🔗
- TouchDesigner Wiki — COMP 概要
- TouchDesigner Wiki — Category:COMPs
- TouchDesigner Wiki — Category:Components
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Animation COMP
- TouchDesigner公式ドキュメント – Keyframe CHOP
- TouchDesigner公式ドキュメント – Animation Editor

