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

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

Bone COMP の機能を示す図

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

概要 📖 – スケルトン階層と 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 のデフォーム

Tips

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

まる。
まる。

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


パラメータ解説 ⚙️

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: renderRender 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 で肘が逆方向に曲がらないように拘束する。

  1. ルートとなる Null COMP を作り、その下に上腕用 Bone COMP を配置 (length を 2 程度に設定)
  2. 上腕 Bone COMP の下に前腕用 Bone COMP を配置 (こちらも length を 2 程度に)
  3. 前腕 Bone の X Angle Range(0, 150) に制限し、肘が逆方向に折れないように拘束
  4. Display Link をオンにして両 Bone のリンク形状をビューポートに可視化
  5. Effector となる Null COMP を作成し、Bone のチェーン先端 (前腕の先) に IK Goal として接続するスクリプトを組み、Effector を動かすと両 Bone が自動で IK 解
  6. 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 で形作る。

  1. デフォーム対象の Geometry を用意 (例: 単純な円柱メッシュ)
  2. メッシュの体軸に沿って Bone COMP のチェーンを配置 (関節位置で Bone Length を区切る)
  3. 各 Bone の Display Capture Geometry をオンにし、Region Center / Top Height / Top Cap / Bot Height / Bot Cap を調整してメッシュをカプセルで覆う
  4. Bone Group SOP でこれら Bone をまとめ、Skin SOP に Bone Group とメッシュを入力
  5. ルート 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 でボーンの「正面」をどの軸とみなすか指定する。

  1. 首相当の Bone COMP を作り、視線ターゲットとなる Null COMP を別途配置
  2. 首 Bone の Look At パラメータに Null COMP のパスを指定
  3. Forward Directionnegz (既定) のまま、頭モデルの正面方向がローカル -Z に揃っているか確認
  4. Look At Up Vectorquat に切替えると、ターゲットが Y 軸を通過しても破綻せず四元数ベースで最短経路回転
  5. 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 軸自由とすれば現実的な腕の関節構造になる。

  1. 肩 Bone COMP の Rest Angles(1, 1, 1) に設定 (3 軸自由)
  2. 上腕 Bone の Rest Angles を (1, 1, 0) に (Z 軸回転を抑制)
  3. 前腕 Bone の Rest Angles を (1, 0, 0) に (X 軸のみ = ヒンジ)
  4. X / Y Angle Range も併せて設定すれば、ヒンジ範囲内でしか曲がらない物理的に妥当な関節になる
  5. 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 🎯


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 Length0 になっていないか確認 — 長さが 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 の補間を別途用意

参考資料 📚

その他 🔗

公式リソース 📖

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