[blender]脚のリグを作ろう

blender2.82使用
ところでリグ(rig)って何でしょうね?
私は例えば人型ボーンを構築して、それにIKなどのコンストレイントやドライバーを追加して使いやすくした物を「リグ」と呼ぶという認識ですが。ボーンを構築した時点でリグなのかな?

まあいずれにしろ、今回は脚にIKなどを設定します。
リグはやり過ぎると「策士策に溺れる」状態になりがちなのでほどほどが重要です。
何パターンか段階を踏んで作っていくので丁度良い設定を見つけてく
ださい。












まずは脚のボーンを作らないと始まりません。
今回は片脚だけ作ります。

1.アーマチュアオブジェクトを追加します。




2.編集モードに入り、ボーンを上に移動します。これは腰になります。




3.ボーンの根本を選択しEの押し出しで斜め下に伸ばします。




4.テンキーの3を押してサイドビューにして押し出しでボーンを伸ばしていきます。




5.脚の付け根のボーンはいらないので削除します。


6.分かりやすくするためボーンに名前をつけます。
上から

  • weist
  • upper_leg
  • lower_leg
  • foot
  • toe
とします。(名前は好みです)




7.upper_legの親をweistにします。

これで脚のアーマチュアは完成しました。


IKを設定する

1.lower_legの先端を選択しEでY軸に押し出し。これが脚のIK用のボーンになります。

2.押し出したボーンの名前を「IK_leg」にし、接続のチェックを外しペアレントを削除します。
変形にも影響しないので変形のチェックも外しておきます。(ボーンを制御するボーンの為)




3.ポーズモードにして、lower_legを選択しボーンコンストレイントのIKを追加。ターゲットにIK_legを指定します。




4.上の状態だと腰まで一緒に動いてしまっています。
チェーンの長さを2に設定します。
lower_legから遡ってupper_legまでの2本のボーンを動かす対象にするという意味です。

5.このままだとfootボーンがフラフラしてしまっています。
これでは不便なので設定を追加します。
まず編集モードにしてfootボーンをShift+D→右クリックでその場に複製します。
そして名前を「IK_foot_rot」に変更、ペアレントをIK_legにし、変形のチェックを外します。

6.IK_foot_rotは同位置にあるので選択しにくいです。
IK_foot_rot自体は直接操作する事もないので、IK_legと共に別のボーンレイヤーに移動しましょう。
(Shiftを押しながらボーンレイヤーをクリックする事で複数レイヤーに含ませる事もできます)

7.ポーズモードでfootを選択し、ボーンコンストレイントの回転コピーを追加。
ターゲットに先ほどのIK_foot_rotを指定します。
これで足の回転がIK_legの回転で制御できます。
ついでにIK_foot_rotをHキーで隠してしまいましょう。
ちなみにボーンレイヤーはShiftを押しながらクリックする事で複数レイヤーを表示できます。


8.lower_legは膝なので一方向にしか回転しません。IKも合わせて動きを制限しましょう。
肘や膝などはクォータニオン座標よりもオイラー座標が適しています。
ローカル座標に切り替えて回転する軸を確認しましょう。

ここまでシンプルなIKはできました。








ドライバーを設定してIK、FKを切り替える
IKは便利な機能ですが何事にも一長一短はあります。時にはFK(普通のアニメーション法)に切り替えたい時もあるでしょう。しかしIK用にいくつかボーンコンストレイントを設定しました。切り換えるたびに全ての影響を変えるのは面倒なのでドライバーでどれか一つの影響度を参照するようにします。そうすれば一つ変えるだけでIK関連のコンストレイントが全て変更できます。

今回はlower_legに設定したIKの影響を値を参照させます。
つまりIKの影響を0にすれば他の回転コピーも無効になるという事です。

1.ポーズモードでlower_legのIKコンストレイントの影響の所で右クリックをして「データパスをコピー」します。




2.footを選択して回転コピーコンストレイントの影響で右クリックして「ドライバーを追加」します。
その後の設定は動画をご覧ください。


これでIKコンストレイントの影響で回転コピーコンストレイントの影響も制御できるようになりました。







更にIKを改良する
今作ったIKでもシンプルで使い易くメンテナンスもしやすいので個人的には好みなんですが、このIKでは背伸び立ちやかかと立ちに対応できません。それらに対応するリグを作ります。
が、少し複雑になります。

1.編集モードでfootを選択してその場で複製し、アーマチュアメニュー→向きの反転を実行します。





2.複製したボーンを「IK_foot」にし変形のチェックを外します。
ポーズモードにして回転コピーコンストレイントも削除しておきましょう。

3.ボーンレイヤーの表示を変更してIK_legボーンも表示します。
そして編集モードでIK_legのペアレントにIK_footを指定します。
これでIK_footの移動で脚のIKが制御でき、また回転する事で背伸び立ちが出来るようになりましたがつま先も一緒に回転してしまい完全ではありません。
この時点でIK_legを直接ポーズモードで操作する事はありませんので非表示にしても構わないです。





4.編集モードでtoeを選びその場に複製します。名前を「IK_toe_rot」に変更し、ペアレントは削除します。
分かりやすいようにIK_toe_rotをY方向に伸ばしておくと良いでしょう。
変形のチェックも外します。




5.ポーズモードでIK_toe_rotに位置コピーコンストレイントを追加しIK_footを指定します。


6.toeを選択し回転コピーコンストレイントを追加して、IK_toe_rotを指定します。
これで背伸び立ちが出来るようなりました。その代わりに足の向きを変える時は足とつま先をそれぞれ回転させる必要がありますので注意が必要です。






7.背伸び立ちは出来ました。後はかかと立ちです。編集モードでShift+Aを押してボーンを一本追加します。それを地面と水平かつ根本をかかとの位置に配置してください。そして変形のチェックを外してください。


8.先ほど追加したボーンの名前を「IK_foot_root」に変えます。
IK_toe_rotとIK_footのペアレントをIK_foot_rootにします。
これでIK_foot_rootを回転させる事でかかと立ちができ、移動で脚のIKを制御出来ます。
背伸び立ちはIK_footの回転で制御します。








ボーンレイヤーを整理しよう
色々とボーンを追加したので画面がややこしくなってきました。
ボーンレイヤーを整理して見やすくしましょう。

まずupper_legですがこれはIK、FKどちらにも必要なので二つのレイヤーに表示させます。Shiftを押しながら二つのレイヤーをクリックしましょう。
他のIKとつくボーンは2番目のボーンレイヤーに移動しましょう。
これで見やすくなります。
見やすさは作業効率にも直結する大事な事です。



ドライバーを追加
ちょっと複雑になってきたリグですが、ドライバーの追加は一箇所だけです。
toeの回転コピーコンストレイントの影響をlower_legのIKコンストレイントの影響を参照するだけです。


以上です。
いかがだったでしょうか?
これよりもっと凝ったリグを作る事ももちろん出来ますが、便利さが状況によっては逆に仇になってしまう事もあります。大事なのはリグの構造を自分が把握する事でしょう。高機能なリグはたくさんありますが他人の作ったリグも構造が分からないと応用が効かないですからね。