
概要 📖 – IK ボーンアニメーションのエンドエフェクタ
Handle COMPは、ボーン階層を Target の位置へ引き寄せる IK エンドエフェクタとして動作する COMPです。Bone COMP の子として配置し、Target / Weight / Falloff を組み合わせてキャラクターのポージングや IK ベースのアニメーションを構築します。
主な用途 🎯
- IK (Inverse Kinematics) システムでボーンを目標位置に追従させるエンドエフェクタ
- キャラクターアニメーションの手先・足先を Target に合わせてポージング
- モーションキャプチャデータから取得した位置情報をボーン階層に流し込む
- 骨格チェーンの屈曲を Falloff と Weight でコントロールする物理風挙動
- Rotation Limit でボーン関節の可動域を制限し、自然な人体ポーズを実現
データフロー 🔄
入力: Target OP の位置 (Object COMP / Null COMP 等)
↓
Handle COMP が親 Bone COMP を Target 方向へ引き寄せ
↓
出力: Bone COMP 階層の rx/ry/rz 回転
初心者の方は、以下日本語書籍も手元にあると安心です😊

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Handle Page 📋
Target .target 🎯
Handle がボーンを引き寄せる対象 OP:
- Target:
target— Handle がボーンを引き寄せる対象 OP のパス (Object COMP / Null COMP 等のエンドエフェクタ)
Translate .t 📐
ボーン原点からの相対変位 (tx, ty, tz):
- Translate (tx, ty, tz):
t— Handle のアンカー点をボーン原点からtx,ty,tzだけ相対移動させる変位
Weight .weight ⚖️
複数 Handle 競合時の引き寄せ強度:
- Weight:
weight— 複数 Handle が同一ボーンに付与されている場合、Weight が高い Handle ほど Target に近づく優先度が高くなる
Twist Only .twistonly 🔄
Z 軸ねじり限定モードの切替:
- Twist Only:
twistonly— オンのとき Handle は Z 軸回転 (twist) のみをボーンに寄与し、オフのときは rx/ry/rz の 3 軸でボーンを Target に向ける
Falloff .falloff 📉
親ボーンへの影響度 (チェーンの柔軟性):
- Falloff:
falloff— 子ボーンが Target に到達するときに、その親階層がどの程度連動して回転するか。チェーン全体の柔軟性 (flexibility) をコントロールする
Rotation Limits X .dorxlimit 🔒
X 軸まわりの回転制限設定:
- Rotation Limits X:
dorxlimit— X 軸まわりの回転制限を有効化するかのトグル - Limit X:
lrx— X 軸まわりの回転範囲 (最小値・最大値) を度数で指定
Rotation Limits Y .dorylimit 🔒
Y 軸まわりの回転制限設定:
- Rotation Limits Y:
dorylimit— Y 軸まわりの回転制限を有効化するかのトグル - Limit Y:
lry— Y 軸まわりの回転範囲 (最小値・最大値) を度数で指定
Rotation Limits Z .dorzlimit 🔒
Z 軸まわりの回転制限設定:
- Rotation Limits Z:
dorzlimit— Z 軸まわりの回転制限を有効化するかのトグル - Limit Z:
lrz— Z 軸まわりの回転範囲 (最小値・最大値) を度数で指定
Render Page 🎨
Material .material 🖌️
内部ジオメトリに適用するマテリアル:
- Material:
material— Handle COMP 内部のジオメトリに適用する MAT へのパス
Render .render 👁️
Render TOP での可視化切替:
- Render:
render— このコンポーネントのジオメトリを Render TOP で可視化するかのトグル。COMP 自体の Render Flag と論理 AND される
Draw Priority .drawpriority 🔢
Render TOP での描画順 (Transparency 制御に使用):
- Draw Priority:
drawpriority— 値が小さい COMP ほど後から描画される。Transparency の制御に最も多用される
Pick Priority .pickpriority 🎯
Render Pick での検索優先度:
- Pick Priority:
pickpriority— Render Pick の Search Area に複数オブジェクトがヒットしたとき、値が高い COMP が優先的に選択される (描画順や同ピクセル上のオブジェクト選択には影響しない)
Wireframe Color .wcolor 🎨
ワイヤーフレーム表示時の R/G/B 色:
- Wireframe Color:
wcolor— ワイヤーフレームシェーディングモードで表示する際の R, G, B 値
Light Mask .lightmask 💡
このジオメトリに影響するライトのサブセット:
- Light Mask:
lightmask— Render TOP に登録されたライトのうち、このジオメトリに影響を与えるものをサブセット指定 (デフォルトでは全ライトが影響)
Common Page 🔧
Parent Shortcut .parentshortcut 🔗
コンポーネント内部からこの COMP へのパスとして使えるショートカット名:
- Parent Shortcut: コンポーネント内部の任意の場所からこの COMP を参照する際のショートカット名 (
parent.<name>形式で利用可能)
Global OP Shortcut .opshortcut 🌐
プロジェクト全体からこの COMP を参照するグローバル名:
- Global OP Shortcut: プロジェクト内のあらゆる場所からこの COMP へのパスとして使えるグローバル名 (
op.<name>形式で利用可能)
実践アイデア 💡
Example 1: Bone COMP 階層への IK Handle 装着 🦴
Null COMP (Target) → Handle COMP → Bone COMP 階層 → Actor COMP
Bone COMP で構築した腕の骨格チェーンの末端ボーンに Handle COMP を子として配置し、Null COMP を Target に指定することで、Null を動かすだけで腕全体が IK で追従する基本構成。
- Bone COMP で肩 → 肘 → 手首の 3 段階層を構築
- 手首ボーンの子として Handle COMP を配置
- シーン上に Null COMP を配置し、Handle の Target にそのパスを設定
- Null COMP を移動させると、肩〜手首ボーン全体が Falloff に従って屈曲しながら Null に追従
Example 2: モーションキャプチャ位置データの IK 適用 🎥
Kinect CHOP → CHOP to → Null COMP (Target) → Handle COMP → Bone COMP
Kinect 等のモーションキャプチャから取得した関節位置を Null COMP の Translate に流し込み、その Null を Handle COMP の Target に指定することで、キャプチャされた手先位置をキャラクター骨格に即時反映するパイプライン。
- Kinect CHOP / OSC In CHOP 等で手先の x/y/z 位置を取得
- 取得した位置をシーン上の Null COMP の Translate に Export
- Handle COMP の Target にその Null COMP を指定
- Weight や Rotation Limit でキャプチャノイズに対する応答性を調整
Example 3: Falloff と Weight による多関節制御 ⚙️
Target Null × 2 → Handle COMP × 2 → 同一 Bone 階層
1 つのボーンチェーンに複数の Handle COMP を装着し、それぞれの Weight と Falloff を変えることで、メインの引き寄せ Handle と補助 Handle を組み合わせた自然な屈曲ポーズを作る応用例。
- ボーンチェーンの異なる位置に Handle COMP を 2 個配置
- メイン Handle は Weight=1.0、補助 Handle は Weight=0.3 程度に設定
- Falloff を調整して、各 Handle が親ボーンに与える影響範囲を制御
関連オペレータ 🔗
類似機能OP 🔍
- Bone COMP — Handle が付与される骨格ボーン本体
組み合わせ推奨OP 🔄
- Bone COMP — Handle の親として配置し、Handle により Target 方向に引き寄せられる骨格
- Null COMP — Handle の Target として最頻出の OP (位置のみのアンカー)
- Actor COMP — Bone 階層を内包し、Handle と組み合わせて IK ベースのキャラクターを構成
- Geometry COMP — Bone のスキニング対象となるジオメトリ
前処理・後処理COMP 🎯
- Handle が配置される親 COMP: Bone COMP、Actor COMP
- Handle の Target として配置する COMP: Null COMP、Geometry COMP、Base COMP
Info CHOP情報 📊
Handle COMP は Info CHOP による詳細情報取得に対応しています。
COMP 固有情報 📦
num_children: コンポーネント内部の子 OP の総数num_dats: 内部 DAT の数num_chops: 内部 CHOP の数num_tops: 内部 TOP の数num_sops: 内部 SOP の数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数
汎用 COMP 情報 📊
cook_time: このコンポーネントの最後のクック時間 (ミリ秒)total_cooks: このコンポーネントの累計クック回数cpu_memory: コンポーネントが使用している CPU メモリ量 (バイト)gpu_memory_used: コンポーネントが使用している GPU メモリ量 (バイト)num_children: コンポーネント内部の子ノード数
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ボーンが Target に追従しない
✅ Solution:
- Handle COMP が対象 Bone COMP の子ノードとして配置されているか確認 (兄弟配置では効かない)
- Target パラメータに指定した OP のパスが正しいか、対象 OP が存在しているかを確認
- Weight が 0 になっていないか確認
❌ Problem: Bone 階層が想定外の方向に曲がる
✅ Solution:
- Falloff の値を調整し、親ボーンへの影響度を変えてみる (値を上げると親まで連動)
- Rotation Limits X/Y/Z を有効化し、各軸の可動範囲を
lrx/lry/lrzで制限する - Twist Only をオンにすると Z 軸ねじりのみが効くため、不必要な rx/ry の暴れを抑制可能
❌ Problem: 複数 Handle が干渉して挙動が安定しない
✅ Solution:
- 各 Handle の Weight を異なる値に設定し、優先度を明示的に分ける
- 補助的な Handle の Falloff を小さくして、影響範囲を局所化する
- 不要な Handle は Render OFF にし、無効化して挙動を切り分けながら原因を特定
❌ Problem: Wireframe で Handle が見えない・選択できない
✅ Solution:
- Render Page の
renderパラメータがオンになっているか確認 - Wireframe Color が背景色と同色になっていないか確認
- Pick Priority を上げて、他オブジェクトより優先して選択されるよう設定
参考資料 📚
その他 🔗
- TouchDesigner Wiki — COMP 概要
- TouchDesigner Wiki — Category:COMPs
- TouchDesigner Wiki — Category:Components
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
関連まとめ 🔗
ファミリー別一覧 📑
厳選オペレータ ⭐
- 初心者必見!必須オペレータまとめ
- よく使うCHOP厳選15選
- よく使うTOP厳選15選
- よく使うSOP厳選14選
- よく使うMAT厳選6選
- よく使うDAT厳選9選
- よく使うCOMP厳選8選
- よく使うPOP厳選13選


