Blender で IK/FK 一致スクリプトを書く

カテゴリ:blender

ポーズボーンのアーマチュア座標は matrix メンバから取得できる. mathutils をインポートすれば matrix の decompose() で位置・回転・スケールをそれぞれ取得できる. これを使えば行列計算をせずに FK/FK 一致スクリプトを実装できる. この記事では腕を例として説明する.

解説

IK to FK

IK ターゲットを FK ボーンの先端へ移動し,ポールターゲットは肘ボーンの位置に移動する. ポールターゲットの位置が気に入らない場合は,上腕の子としてポールターゲットの移動先ボーンを配置するといい.

FK to IK

親から子へ行列をコピーするだけだ.

IK の影響力で IK/FK の切り替えをする場合

このスクリプトは IK の影響力を直接ドライバーで操作する方法 のボーン構造で使える.

.blend ファイルダウンロード

ボタンを表示させるには,テキストエディタの Run Script を押す必要がある.

IK 用のボーンと FK 用のボーンとデフォーム用のボーンを Copy Rotation で操作する場合

この項目はボーン構造が IK 用のボーンと FK 用のボーンとデフォーム用のボーンを Copy Rotation で操作する方法 のボーン構造で使える.

スクリプト

使用する場合は,スクリプト中のボーン名を適宜変更する.

.blend ファイルダウンロード

ボタンを表示させるには,テキストエディタの Run Script を押す必要がある.

関連記事

IK-FK 切り替えスイッチ

Blender 記事の目次