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

カテゴリ:blender

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

IK to FK

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

FK to IK

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

スクリプト

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

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

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

関連記事
Blender 記事の目次