Blender でリバースフットリグを組む
目次
概要
足の回転軸となるボーンの親子構造がデフォーム用ボーンのそれと逆向きになっていることから、このリグ Reverse Foot Rig と呼ばれる。
IK のみ必要な場合
通常のボーンの向きは体の重心から先端へ向かう。しかしこのボーンの向きではつま先立ちを作りにくい。つま先立ちを作りやすくするためには、つま先の位置に回転軸となるボーンを配置しそのボーンを軸に IK ターゲットを回転させるといい。
この状態でもつま先立ちはできる。しかしすでにデフォームボーンがあってそれにリグを追加しなければならなかったり、IK/FK の切り替えが必要な場合はこのまま使うわけにはいかない。
FK ボーン上にリグを組む場合
デフォーム用ボーン
ここで重要なのは、D_foot.L と D_toe.L の Z 座標だ。Track to でボーンを動かすため、回転軸ボーンとデフォーム用ボーンの Z 軸の向きを一致させなければならない。ここではボーンの Z 軸を上に設定してある。ローカル座標軸の設定はボーンのローカル座標軸設定を参照。
IK の設定
適当な位置に IK ターゲットボーン T_leg.L を作成し、D_lowerleg.L に IK を設定する。IK の Chain length は 2、T_leg.L のデフォームを無効にする(Shift + W > Deform)。
回転軸となるボーンの設定
以下のように回転軸となるボーンを作成する。M_rot_heel.L はかかとの回転軸になるので、メッシュによって位置は変わる。M_rot_toe.L と M_rot_foot.L とはデフォーム用ボーンと同じ位置に配置する。先にも言ったように Z の回転軸をデフォーム用ボーンと一致させる。
M_rot_foot.L を親として T_leg.L を親子づけする。つまり回転軸となるボーンが IK ターゲットを動かすことで足の動きを制御している。
D_foot.L と D_toe.L とにそれぞれ Track to をつける。Traget Z にチェックを入れておくと、アニメーションの途中で Z 軸をまたいでもボーンが反転しなくなる。
M_rot_foot.L と M_rot_heel.L を動かすと以下のような動作になる。
このままではリグを選択しにくいのでコントローラー用ボーンを作成するか、カスタムシェイプを設定する。
コントローラー用ボーンの設定
これらふたつのボーンをコントロールするボーン foot_roll.L を作る。場所はどこでもいいが、かかとあたりに配置するのが普通だ。このボーンを前に回転させると M_rot_foot.L が回転し、後ろに倒すと M_rot_heel.L が回転する。
この動きは M_rot_foot.L と M_rot_heel.L とに copy rotation と limit rotation とをつけることで実現する。それぞれ以下のように設定する。回転量はモデルに合わせて適宜修正する。
あとはアニメーターが足の位置をコントロールするボーン foot.L を作成し、それを親として M_rot_heel.L と foot_roll.L とを親子づけする。
つま先立ち
M_rot_toe.L を回転させればつま先立ちもできる。つま先あたりにボーン toe_roll.fk.L を作成し、Copy Rotation でそのボーンをコントロールする。M_rot_toe.L は M_rot_heel.L を親として親子づけする。
IK 後に FK で調整できるリグ
FK のボーン構造を保存する必要がない場合、デフォームボーンをリバースフットボーンの子にすることで IK 後に FK で調整できる。この方法は IK/FK スイッチを作るのが面倒な時に重宝する。
作り方は簡単で、足の FK ボーンを足の位置にあるリバースフットボーン親として親子付けする。
つま先のボーンの「回転を継承」のチェックを外し、ワールドーワールドで回転コピーをつける。回転コピーにはオフセットにチェックを入れる。
外部リンク
アニメーション練習用リグ 配布(Blender 簡易リバースフット付き)
足の甲の FK ボーンのないリバースフットリグ。構造が単純で理解しやすい。