広告
広告

ボーンひとつで足をコントロールするリグを組む

カテゴリ:blender

これはReverse Foot Rig を組むをより複雑にしたものだ。ただしボーンひとつで踵立ちからつま先立ちまでコントロールできる。

リグのサンプル
ボーンひとつで足の動きをコントロール

上の動画のような、単純なコンストレイントでは組めないような動きはアクションコンストレイントを使うといい。アクションコンストレイントはアクションに記録された動きをボーンやオブジェクトの位置回転スケールでコントロールできる。

デフォーム用ボーン

以下のような典型的な脚のボーンを用意する。

脚の初期ボーン
デフォーム用ボーン

エディットモード で D_lowerLeg.L と D_foot.L と D_toe.L を複製して IK_lowerLeg.L, IK_foot.L, IK_toe.L を作る。 これはIK FK スイッチを作るときに必要になる。

頭の D_ はメッシュの頂点を動かすデフォーム用ボーンを意味しており、このボーンに直接キーを打つべきではない。後から変更される可能性が高いし、リグを再利用しにくい。

複製したボーンはすべてデフォームを無効(ポーズモードで Shift + w > 変形)にする。

IK_* のボーンの動きを D_* ボーンがそのままコピーするよう、デフォーム用ボーンに回転コピーをつける。 ポーズモードで IK_lowerLeg.L を選択し Shift を押しながら D_lowerLeg.L を選択する。 Ctrl + Shift + C > 回転コピーを選択する。 回転コピーの使用空間を両方ローカルにする。 残りの複製したボーンも同様に D_* ボーンに回転コピーをつける。

Copy Rotation の設定
Copy Rotation の設定

IK ターゲットの設定

エディットモードで IK_lowerLeg.L から押し出しで T_leg.L を作る。 親子づけを解除(Alt + P > 親子関係をクリア)しデフォームを無効にする。

IK_lowerLeg.L に IK を設定する。 ポーズモードで T_leg.L と IK_lowerLeg.L を選択し、 Shift + I > アクティブボーンを選択する。 IK の チェーンの長さは 2 にする。

IK の設定
IK の設定

ここまでで IK が動作するようになる。

IK の動作テスト
IK の動作テスト

脚と足は別々にコントロールできることが望ましい。 しかし現状では脚を動かしただけで足のボーンも回転してしまっている。 これを防ぐために D_foot.L と IK_foot.L の回転を継承のチェックを外す(Shift + W > 回転を継承)。

ポーズモードで IK_foot.L にチャイルドコンストレイントをつけることで、足の回転を T_leg.L で制御する。T_leg.L と IK_foot.L とを選択し、Ctrl + Shift + C > チャイルドを選択する。 ボーンが変な向きを向くときは「プロパティパネル > ボーンコンストレイント > チャイルド > 逆補正を設定」を押す。

ここまでで脚と足のおおまかな動作が可能になる。

足のテスト
IK をコントロールするボーンの動作テスト

足の回転軸用ボーンの設定

足は足先や指先、かかとで回転できると便利だ。そこで回転させたい位置にボーンを設置しコントロールできるようにする。

エディットモードで IK_toe.L から上方向へ押し出して M_pivotToe.L を作成する。IK_foot.L から上方向へ押し出して M_pivotFoot.L を作成する。かかとあたりに M_pivotAnkle.L を作成する。それぞれ親子づけを解除しデフォームを無効にする。

pivot ボーンの位置
pivot ボーンの位置

エディットモードで親子づけをする。 親から子の順番に M_pivotAnkle.L, M_pivotToe.L, M_pivotFoot.L, T_leg.L。 アウトライナでは以下のように表示される。

pivot ボーンの階層
pivot ボーンの階層

これらの pivot ボーンは以下のような動作になる。

pivot ボーンの動作テスト
pivot ボーンの動作テスト

足の動きの作成

足の動きは複雑なので、単純なコンストレイントでは制御できない。 そこで足の動きをアクションとして作成し、そのアクションをアクションコンストレイントとボーンとでコントロールする。

ドープシートのアクションエディタで新しいアクションを作成する。 フレーム1に初期位置で3つの pivot ボーンと IK_toe.L の回転のキーを打つ(I)。

フレーム1
フレーム1

フレーム 10 に移動し M_pivotFoot.L を60度回転する IK_toe.L を逆方向に 60度回転する。 M_pivotFoot.L と IK_toe.L の rotation のキーを打つ。

フレーム 1 から 30 は地面を蹴り、つま先から着地する動作を表現している。

フレーム10
フレーム10

フレーム 20 に移動しすべてのボーンの回転を解除する。 M_pivotToe.L を 70 度回転させる。 M_pivotToe.L と M_pivotFoot.L、IK_toe.L の回転のキーを打つ。

フレーム20
フレーム20

フレーム 30 に移動しフレーム1のキーをコピー(Shift + D)する。 フレーム1のドープシート概要のキーをクリックすればそのフレームのすべてのキーを選択できる。

フレーム30
フレーム30

フレーム 40 に移動し M_pivotAnkle.L を 45 度上に回転させる。 M_pivotAnkle.L の回転のキーを打つ。

これはかかとまわりの回転をコントロールするために使われる。

フレーム40
フレーム40

アクションをコントロールするボーンの設定

エディットモードでかかとから後ろ向きへボーン FootRoll.L を作る。デフォームを無効にする。

ポーズモードで FootRoll.L と M_pivotToe.L とを選択し、 M_pivotToe.L にアクションコンストレイントをつける(Ctrl + Shift + C > アクション)。

アクションコンストレイントを設定する。 アクションに:を kickGround(先ほど作成したアクション)にする。 ターゲットから:を X 回転、ローカルにする。 ターゲット範囲:を 0 から 45 にする。 アクション範囲:を 1 から 30 にする。 これらを M_pivotFoot.L と IK_toe.L にも同様に設定する。

地面を蹴るアクションの設定
地面を蹴るアクションの設定

FootRoll.L と M_pivotAnkle.L とを選択し、M_pivotAnkle.L にアクションコンストレイントをつける。アクションコンストレイントを同様に設定し Range を以下のように変更する。 ターゲット範囲:を 0 から -45 にする。 アクション範囲:を 30 から 40 にする。

かかとコントローラーの設定
かかとコントローラーの設定

ターゲット範囲:はボーンの可動範囲をきめる。この例では 45 度ですべてのアニメーションを再生し終える。アクション範囲:は再生するフレームの範囲をきめる。

FootRoll.L を回転させると以下のような動作ができる。

アクションの動作テスト
アクションの動作テスト

ポールターゲットと親子づけ

アニメーターが IK を操作するときに使うボーン Foot.L を作成する。足の下に足ぐらいのの大きさで作るのがいいだろう。この Foot.L のデフォームを無効にする。M_pivotAnkle.L と FootRoll.L と Foot.L とを選択し、Foot.L を親として親子づけ(オフセットを保持)する。

膝の先にポールターゲットとなるボーン P_leg.L を作成する。デフォームを無効にする。IK のターゲットにする。ポールの角度を 90(膝の先にくるよう)にする;反転する場合は -90。P_leg.L と Foot.L とを選択し、Foot.L を親として親子づけ(オフセットを保持)する。

IK の設定
IK の設定
リグの完成図
完成図
ボーン階層
ボーン階層

関連記事

Blender 記事の目次


広告
広告