
概要 📖 – スケルトン階層と IK ソルバーの構成要素
Bone COMPは、スケルトン階層と IK ソルバーの構成単位として機能する Object COMP で、ボーン長・関節可動範囲・ダンピング・キャプチャ領域を一括管理するです。キャラクターアニメーション・モーションキャプチャ・プロシージャルなリギングなど、関節構造を持つ 3D オブジェクトを動かしたい場面で使われる、スケルトンシステムの基本要素です。
主な用途 🎯
- キャラクター・リギングのスケルトン階層を組み立てるための基本単位 (Bone COMP の親子関係 = ボーンチェーン)
- Inverse Kinematics (IK) ソルバーで使うボーンチェーンの構成 (Rest Angles / Dampening / 角度制限で関節の挙動を制御)
- 関節の可動範囲制限を X / Y 軸独立の Angle Range + Damping Angle + Damping Rolloff で物理的に拘束 (肘や膝の逆方向曲げ防止)
- Capture Region (カプセル状の領域) を可視化して Skin SOP / Bone Group SOP のキャプチャ範囲を設計
- Bone Length と Display Link でビューポート上にボーン形状を表示し、スケルトン構造を視覚的に編集
データフロー 🔄
親 Bone COMP (上位の関節)
↓
本 Bone COMP (Bone Length で長さ・Rest Angles と Angle Range で可動範囲を定義)
↓
子 Bone COMP (下位の関節)
↓
IK ソルバー (Effector / Goal)
↓
Skin SOP / Geometry のデフォーム
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Bone Page 📁
Display Link .displaylink 👁️
ビューポート上での Bone リンク形状の表示切替:
- Display Link:
displaylink— オンの場合、ビューポート上に Bone COMP のリンクジオメトリ (骨形状) を表示。スケルトン構造の視覚的編集や IK 動作確認に必須
Rest Angles .restangles 🦴
IK ソルバーが参照する各軸の Rest Angles (X / Y / Z):
- Rest Angles:
restangles (restanglesx, restanglesy, restanglesz)— Bone の x / y / z 各軸まわりの回転に対する IK ソルバーの相対重み。値が大きい軸ほど IK が優先的にその軸で回転を解く
Bone Length .length 📏
Bone の長さと子 Bone の接続基準:
- Bone Length:
length— Bone COMP の長さ。ビューポート上のボーン形状サイズ、Capture Region のデフォルト範囲、子 Bone COMP の「先端」配置位置に影響。既定では先端はローカル -Z 方向に向く
Dampening .ikdamp 🌊
IK チェーン最大伸長付近の減衰係数:
- Dampening:
ikdamp— 0〜1 の範囲。値が大きいほどチェーンの伸びきりに対する減衰が強くなる。チェーンが最大伸長に近づくと End Affector が Bone 先端から少しドリフトしても許容され、最終姿勢付近で細かい制御が効くようになる
X Angle Range / Damping .xrange ↔️
X 軸の可動範囲・減衰角・ロールオフ:
- X Angle Range:
xrange (xrange1, xrange2)— X 軸まわりに許容する最小角度と最大角度 (度)。関節の逆方向曲がりや過回転を物理的に拘束 - X Damping Angle:
xdamp— X Angle Range 内の端から何度の範囲で減衰を発動させるかを決める角度 - X Damping Rolloff:
xrolloff— X Damping Angle 範囲内で減衰がどの程度の速さで強まるかを制御するロールオフ係数
Y Angle Range / Damping .yrange ↕️
Y 軸の可動範囲・減衰角・ロールオフ:
- Y Angle Range:
yrange (yrange1, yrange2)— Y 軸まわりに許容する最小角度と最大角度 (度) - Y Damping Angle:
ydamp— Y Angle Range 内の端から何度の範囲で減衰を発動させるかを決める角度 - Y Damping Rolloff:
yrolloff— Y Damping Angle 範囲内で減衰がどの程度の速さで強まるかを制御するロールオフ係数
Capture Page 📁
Display Capture Geometry .displaycapture 👁️
Capture Region (カプセル) の表示切替:
- Display Capture Geometry:
displaycapture— オンの場合、Bone のキャプチャ領域 (上下のヘミスフィアを持つカプセル形状) をビューポート上に可視化。Skin SOP のキャプチャ範囲設計に利用
Region Center .crcenter 🎯
キャプチャ領域中心の 3 軸座標:
- Region Center:
crcenter (crcenterx, crcentery, crcenterz)— キャプチャ領域の中心 (X / Y / Z)。Bone のローカル原点からのオフセットでカプセル中心を配置
Top Cap (上側) .crtop ⬆️
上側ヘミスフィアの高さと半径:
- Top Height:
crtopheight— Region Center から上側キャップまでの円柱高さ - Top Cap:
crtopcap (crtopcapx, crtopcapy, crtopcapz)— 上側ヘミスフィアの X / Y / Z 半径。非一様にすると楕円体的なキャップ形状になる
Bot Cap (下側) .crbot ⬇️
下側ヘミスフィアの高さと半径:
- Bot Height:
crbotheight— Region Center から下側キャップまでの円柱高さ - Bot Cap:
crbotcap (crbotcapx, crbotcapy, crbotcapz)— 下側ヘミスフィアの X / Y / Z 半径
Xform Page 📁
Transform Order .xord 🎛️
Translate / Rotate / Scale の適用順序を選択するメニューパラメータ。行列計算順序を決定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Rotate Translate | .srt |
T * R * S * Position の順 |
| Scale Translate Rotate | .str |
R * T * S * Position の順 |
| Rotate Scale Translate | .rst |
T * S * R * Position の順 |
| Rotate Translate Scale | .rts |
S * T * R * Position の順 |
| Translate Scale Rotate | .tsr |
R * S * T * Position の順 |
| Translate Rotate Scale | .trs |
S * R * T * Position の順 |
Rotate Order .rord 🎛️
X / Y / Z 軸回転の適用順序を選択するメニューパラメータ。回転行列の合成順序を決定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Rx Ry Rz | .xyz |
R = Rz * Ry * Rx |
| Rx Rz Ry | .xzy |
R = Ry * Rz * Rx |
| Ry Rx Rz | .yxz |
R = Rz * Rx * Ry |
| Ry Rz Rx | .yzx |
R = Rx * Rz * Ry |
| Rz Rx Ry | .zxy |
R = Ry * Rx * Rz |
| Rz Ry Rx | .zyx |
R = Rx * Ry * Rz |
Translate / Rotate / Scale / Pivot .trs 📐
Bone ローカルの Translate / Rotate / Scale / Pivot:
- Translate (t):
t (tx, ty, tz)— Bone の 3 軸並進量。親 Bone 座標系における関節位置のオフセット - Rotate (r):
r (rx, ry, rz)— Bone の 3 軸回転量 (度)。関節の現在角度 - Scale (s):
s (sx, sy, sz)— 3 軸方向の非一様スケール (キャラクターリギングでは通常 1.0 を維持) - Pivot (p):
p (px, py, pz)— スケール / 回転の基準ピボット点 - Uniform Scale:
scale— 3 軸を一様にスケールする倍率
Parent Transform Source .parentxformsrc 🌳
このオブジェクトの初期位置として使うトランスフォームソースを指定するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Parent (Hierarchy) | .parent |
通常のネットワーク階層 (親 Bone COMP) から取得。スケルトンチェーンを構成する標準設定 |
| Specify Parent Object | .specify |
Parent Object パラメータで指定した任意の Object COMP から取得 |
| World Origin | .worldorigin |
ワールド原点を起点とする (親トランスフォーム継承を無効化) |
Parent Object / Look At .parentlookat 👀
指定親オブジェクト・Look At 制約:
- Parent Object:
parentobject— Parent Transform Source がspecifyのとき制約先となる任意 Object COMP のパス - Look At:
lookat— 指定した別 Object COMP を常に向くように向きを自動制御 (頭ボーンが視線対象を追うなど)
Forward Direction .forwarddir 🎛️
Look At 計算で「前方向」とみなす軸を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| +X | .posx |
+X 軸方向を前方向とみなす |
| -X | .negx |
-X 軸方向を前方向とみなす |
| +Y | .posy |
+Y 軸方向を前方向とみなす |
| -Y | .negy |
-Y 軸方向を前方向とみなす |
| +Z | .posz |
+Z 軸方向を前方向とみなす |
| -Z | .negz |
-Z 軸方向を前方向とみなす (TouchDesigner 既定) |
Look At Up Vector .lookup 🎛️
Look At の up vector 計算方式を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Don’t Use Up Vector | .off |
up vector を使わない (ターゲットが Y 軸を通過しない場合に有効) |
| Use Up Vector | .on |
Up Vector パラメータの値で正確に回転を定義 |
| Use Quaternions | .quat |
四元数ベースの最短経路補間 |
Path SOP / Roll / Position .pathsop 🛤️
パス SOP 沿い移動と Auto-Bank パラメータ:
- Path SOP:
pathsop— 移動経路として使う SOP のパス - Roll:
roll— パス上の進行中における Object の回転 (角度) - Position:
pos— パス上の位置 (0=始点、1=終点、最大 10 で複数周回可) - Orient along Path:
pathorient— オンの場合、パスに沿って Object の +Z 軸を向ける - Auto-Bank Factor:
bank— パスの曲率に応じて自動的にロールを掛ける係数 (0 で自動バンク無効)
Orient Up Vector .up ⬆️
Orient along Path 有効時に +Y 軸が向く up vector を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| X | .upx |
X 軸を up として使用 |
| Y | .upy |
Y 軸を up として使用 (TouchDesigner 既定) |
| Z | .upz |
Z 軸を up として使用 |
Pre-Xform Page 📁
Pre-Transform 有効化 .pxform 🔘
Pre-Xform を Xform より先に適用するか:
- Apply Pre-Transform:
pxform— Pre-Xform ページの並進・回転・スケールを実際に適用するか
Pre Transform Order .pxord 🎛️
Pre-Xform ページの Translate / Rotate / Scale 適用順序を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Rotate Translate | .srt |
Xform Page と同義 |
| Scale Translate Rotate | .str |
Xform Page と同義 |
| Rotate Scale Translate | .rst |
Xform Page と同義 |
| Rotate Translate Scale | .rts |
Xform Page と同義 |
| Translate Scale Rotate | .tsr |
Xform Page と同義 |
| Translate Rotate Scale | .trs |
Xform Page と同義 |
Pre Rotate Order .prord 🎛️
Pre-Xform ページの X / Y / Z 軸回転適用順序を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Rx Ry Rz | .xyz |
R = Rz * Ry * Rx |
| Rx Rz Ry | .xzy |
R = Ry * Rz * Rx |
| Ry Rx Rz | .yxz |
R = Rz * Rx * Ry |
| Ry Rz Rx | .yzx |
R = Rx * Rz * Ry |
| Rz Rx Ry | .zxy |
R = Ry * Rx * Rz |
| Rz Ry Rx | .zyx |
R = Rx * Ry * Rz |
Pre Translate / Rotate / Scale / Pivot .ptrs 📐
Pre-Xform の Translate / Rotate / Scale / Pivot 値:
- Pre Translate (pt):
pt (ptx, pty, ptz)— Pre-Xform の 3 軸並進量 - Pre Rotate (pr):
pr (prx, pry, prz)— Pre-Xform の 3 軸回転量 - Pre Scale (ps):
ps (psx, psy, psz)— Pre-Xform の 3 軸スケール - Pre Pivot (pp):
pp (ppx, ppy, ppz)— Pre-Xform のスケール / 回転ピボット - Pre Uniform Scale:
pscale— Pre-Xform の一様スケール倍率
Reset / Commit / Matrix .prsetmatrix ♻️
Pre-Xform のリセット・コミット・行列直接指定:
- Reset Transform:
preset— Pre-Xform ページの並進・回転・スケールをゼロ / 初期値に戻すパルスボタン - Commit to Main Transform:
pcommit— Pre-Xform の現在のトランスフォームを Xform ページにコピーし、Pre-Xform 側をリセットするパルスボタン - Xform Matrix/CHOP/DAT:
xformmatrixop— 4×4 行列を直接指定するための CHOP / DAT パス。Pre-Xform のあとにXformMatrix * PreXForm * Positionの順で適用
Render Page 📁
Material / Render フラグ .material 🎨
Material と Render フラグ:
- Material:
material— Bone COMP 内部の Geometry に適用する MAT のパス - Render:
render— Render TOP に対する可視フラグ (コンポーネントの Render Flag と論理積)
Priority / Pick .priority 🔢
描画順序とピック優先度:
- Draw Priority:
drawpriority— 数値が小さいほど後に描画される。透過処理を整理するためによく使用 - Pick Priority:
pickpriority— Render Pick CHOP / DAT の検索範囲内で複数候補があるとき、高い値が優先的にピックされる
Wireframe Color .wcolor 📐
ワイヤフレーム表示時の色:
- Wireframe Color:
wcolor (wcolorr, wcolorg, wcolorb)— ワイヤフレーム表示時の R / G / B 各成分
Light Mask .lightmask 💡
Light Mask による適用ライト限定:
- Light Mask:
lightmask— Render TOP に渡されたライト群のうち、この Object に影響を与えるものをパスで指定。指定が空の場合は全ライトが適用される
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 へのパス
Node View .nodeview 👁️
ノードビューア (Network エディタ上のサムネイル) に表示する内容を決定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Default Viewer | .default |
コンポーネントタイプ標準のビューアを表示 |
| Operator Viewer | .opviewer |
指定した任意 OP のノードビューアを表示 |
Operator Viewer .opviewer 🖼️
Operator Viewer モード時に表示する対象 OP:
- Operator Viewer パス: 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: オンの場合、このコンポーネントは実際に必要となるまでメモリにロードされない (起動時間・メモリ消費の最適化)
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 📁
このコンポーネント内部での相対ファイルパスの解決基準
| 項目 | 内部名 | 説明 |
|---|---|---|
| Use Parent’s Behavior | .inherit |
親コンポーネントの設定を継承 |
| Relative to Project File (.toe) | .project |
.toe プロジェクトファイルからの相対パスとして解決 |
| Relative to External COMP File (.tox) | .externaltox |
外部 .tox ファイルからの相対パスとして解決 |
Parameter Color Space .parmcolorspace 🎨
このコンポーネント内の色パラメータをどの色空間として解釈するか
| 項目 | 内部名 | 説明 |
|---|---|---|
| sRGB | .srgb |
標準的な sRGB ガンマ空間 |
| sRGB – Linear | .srgblinear |
sRGB プライマリでガンマ線形 (1.0) |
| Rec.601 (NTSC) | .rec601ntsc |
Rec.601 NTSC 規格の色空間 |
| Rec.709 | .rec709 |
HDTV 用 Rec.709 色空間 |
| Rec.2020 | .rec2020 |
UHDTV / HDR 向け Rec.2020 広色域 |
| DCI-P3 | .dcip3 |
デジタルシネマ DCI-P3 色空間 |
| DCI-P3 (D60) | .dcip3d60 |
D60 白点 DCI-P3 |
| Display-P3 (D65) | .displayp3d65 |
D65 白点 Display-P3 (Apple ディスプレイ等) |
| ACES2065-1 | .aces2065-1 |
ACES アーカイブ用色空間 (AP0 プライマリ) |
| ACEScg | .acescg |
ACES CG 作業用色空間 (AP1 プライマリ) |
| Passthrough | .passthrough |
色変換を行わず値をそのまま扱う |
Parameter Reference White .parmreferencewhite ⚪
色パラメータの基準白色の扱い
| 項目 | 内部名 | 説明 |
|---|---|---|
| Default For Color Space | .default |
選択した色空間のデフォルト基準白を使用 |
| Standard (SDR) | .sdr |
標準ダイナミックレンジ (SDR) 基準白 |
| High (HDR) | .hdr |
ハイダイナミックレンジ (HDR) 基準白 |
| UI | .ui |
UI 表示用の基準白 |
実践アイデア 💡
Example 1: 2 関節腕で IK によるリーチング 💪
ルート Null COMP → 上腕 Bone COMP (length=2) → 前腕 Bone COMP (length=2) → IK Effector (手先 Null COMP) → Render TOP
Bone COMP の最も基本的な使い方として、肩 → 上腕 → 前腕の 2 関節構造を組み、IK Effector (手先のターゲット位置) に向かって 2 つの Bone が自動で曲がるように構成する。Bone Length でそれぞれの骨の長さを決め、X / Y Angle Range で肘が逆方向に曲がらないように拘束する。
- ルートとなる Null COMP を作り、その下に上腕用 Bone COMP を配置 (
lengthを 2 程度に設定) - 上腕 Bone COMP の下に前腕用 Bone COMP を配置 (こちらも
lengthを 2 程度に) - 前腕 Bone の X Angle Range を
(0, 150)に制限し、肘が逆方向に折れないように拘束 - Display Link をオンにして両 Bone のリンク形状をビューポートに可視化
- Effector となる Null COMP を作成し、Bone のチェーン先端 (前腕の先) に IK Goal として接続するスクリプトを組み、Effector を動かすと両 Bone が自動で IK 解
- Effector 位置がチェーン最大伸長に近づいたら Dampening を上げて (例
0.3)、ロボット的な硬直を回避
Example 2: Skin SOP と Bone Group SOP でデフォーム 🦴
複数の Bone COMP (チェーン階層) → Bone Group SOP (Bone 集合の生成) → Skin SOP (Geometry を Bone に Capture & Deform) → Geometry COMP
Bone COMP の Capture Region (上下キャップ付きカプセル) を可視化しながら設計し、Bone Group SOP でチェーンをまとめて Skin SOP に渡すと、3D メッシュが Bone の動きに追従して変形する。キャプチャ範囲は Region Center + Top Height / Top Cap + Bot Height / Bot Cap で形作る。
- デフォーム対象の Geometry を用意 (例: 単純な円柱メッシュ)
- メッシュの体軸に沿って Bone COMP のチェーンを配置 (関節位置で Bone Length を区切る)
- 各 Bone の Display Capture Geometry をオンにし、Region Center / Top Height / Top Cap / Bot Height / Bot Cap を調整してメッシュをカプセルで覆う
- Bone Group SOP でこれら Bone をまとめ、Skin SOP に Bone Group とメッシュを入力
- ルート Bone の角度を回すと、各 Bone のキャプチャ範囲に基づいてメッシュが追従変形 (スキニング)
Example 3: 頭ボーンに Look At で視線追従 👁️
首 Bone COMP (Look At = 視線ターゲット Null COMP / Forward Direction = +Z) → 視線ターゲット Null COMP → Render TOP
頭部に相当する Bone COMP の Look At パラメータに視線ターゲット (Null COMP) を設定すると、ターゲットの位置に応じて頭ボーンが自動で向きを変える。キャラクターがマウスカーソルや別キャラクターを常に見るインタラクティブ表現に直結する。Forward Direction でボーンの「正面」をどの軸とみなすか指定する。
- 首相当の Bone COMP を作り、視線ターゲットとなる Null COMP を別途配置
- 首 Bone の Look At パラメータに Null COMP のパスを指定
- Forward Direction を
negz(既定) のまま、頭モデルの正面方向がローカル -Z に揃っているか確認 - Look At Up Vector を
quatに切替えると、ターゲットが Y 軸を通過しても破綻せず四元数ベースで最短経路回転 - Null COMP を動かすと首 Bone が向きを変え、子に配置した頭モデルも追従
Example 4: Rest Angles で IK が解く軸を制御 🎚️
肩 Bone COMP (Rest Angles=(1,1,1)) → 上腕 Bone COMP (Rest Angles=(1,0,0)) → 前腕 Bone COMP (Rest Angles=(1,0,0)) → IK Effector
IK ソルバーがチェーンを解くとき、各 Bone の Rest Angles はその Bone がどの軸で優先的に回転するかの重み付けになる。前腕 Bone を (1, 0, 0) に設定すれば「肘は X 軸まわりにしか曲がらない」というヒンジ関節を表現でき、肩は (1, 1, 1) で 3 軸自由とすれば現実的な腕の関節構造になる。
- 肩 Bone COMP の Rest Angles を
(1, 1, 1)に設定 (3 軸自由) - 上腕 Bone の Rest Angles を
(1, 1, 0)に (Z 軸回転を抑制) - 前腕 Bone の Rest Angles を
(1, 0, 0)に (X 軸のみ = ヒンジ) - X / Y Angle Range も併せて設定すれば、ヒンジ範囲内でしか曲がらない物理的に妥当な関節になる
- Effector を動かして IK 解の挙動を確認 — 前腕は肘 (X 軸) だけが曲がる
関連オペレータ 🔗
類似機能OP 🔍
- Geometry COMP — 汎用の 3D Object COMP。Bone COMP は IK 専用に特化した Object COMP の派生
- Null COMP — トランスフォームのみ持つ軽量 Object COMP。IK Effector / 視線ターゲット用途で Bone と組み合わせて使われる
- Blend COMP — 親トランスフォームの加重合成 Object COMP。Bone チェーンと組み合わせて関節ブレンドや IK / FK 切替に利用
組み合わせ推奨OP 🔄
- Bone Group SOP — 複数 Bone COMP をまとめてスケルトンとして扱う SOP。Skin SOP のキャプチャ入力に使用
- Skin SOP — Bone Group に対して 3D メッシュをキャプチャ・スキニングしデフォームを実現
- Capture Region SOP — Bone のキャプチャカプセルをカスタム形状に置き換えるための SOP
- Geometry COMP — Bone COMP に親子付けして関節と一緒に変形する 3D メッシュコンテナ
前処理・後処理COMP 🎯
- 前処理: Null COMP、Geometry COMP
- 後処理: Geometry COMP、Null COMP、Blend COMP
Info COMP情報 📊
Bone 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: エラー数cook_abs_frame: 絶対時間基準でのクックフレーム番号cook_start_time: オペレータがクックを開始した時刻cook_end_time: クックが完了した時刻cooked_this_frame: 現在のフレームでクックされた場合は1
Object 固有情報 📊
tx / ty / tz: Bone の最終的なワールド位置 (Translate)rx / ry / rz: Bone の最終的な回転 (度) — IK ソルバーが解いた角度を含むsx / sy / sz: Bone の最終的なスケールlength: 現在の Bone Length 値
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ビューポート上に Bone のリンク形状が表示されない
✅ Solution:
- Display Link パラメータがオンになっているか確認 (既定はオフの場合あり)
- Bone Length が
0になっていないか確認 — 長さが 0 だとリンク形状が描画されない - 親 Bone COMP の Render フラグおよび Network エディタの Display Flag がオンになっているか確認
❌ Problem: IK で関節が逆方向や非現実的な角度に曲がる
✅ Solution:
- X Angle Range / Y Angle Range で物理的な可動範囲を制限 (例: 肘なら
(0, 150)等) - Rest Angles を関節タイプに合わせて設定 (ヒンジなら
(1, 0, 0)など、回りたい軸のみ重みを与える) - X / Y Damping Angle + Damping Rolloff で範囲端付近の挙動を滑らかにし、IK ソルバーが範囲外に飛ばないようにする
❌ Problem: Skin SOP でメッシュが期待通りに変形しない
✅ Solution:
- Bone の Capture Region (Region Center / Top Height / Top Cap / Bot Height / Bot Cap) がメッシュを十分覆っているか Display Capture Geometry で可視化して確認
- 複数 Bone が同一頂点をキャプチャしている場合、Skin SOP のキャプチャウェイト計算で各 Bone の影響度を再調整
- Bone Length が変わると Capture Region の既定範囲もずれるため、Bone Length 変更後は Capture パラメータを見直す
❌ Problem: IK チェーンが伸びきると動きがロボットのように硬くなる
✅ Solution:
- Dampening を 0 から徐々に上げる (例:
0.2〜0.5)。値が大きいほど伸びきり付近で Effector のドリフトが許容され滑らかな挙動になる - チェーン長 (各 Bone の Bone Length の合計) を Effector との距離より少し長めに設計し、完全伸長を避ける
- 視覚的に逆運動学だけでは表現しきれない場合は、Blend COMP で IK / FK の補間を別途用意
参考資料 📚
その他 🔗
- TouchDesigner Wiki — COMP 概要
- TouchDesigner Wiki — Category:COMPs
- TouchDesigner Wiki — Category:Components
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

