前の記事の『インバースキネマティクス(IK)で骨格を簡単に動かす(その2)』からの続きです。 引き続き、インバースキネマティクスの使用例を紹介します。
制御用ボーンの準備が終わりました。 ここからは、いよいよインバースキネマティクスの作業に入ります。
インバースキネマティクスの『起点のボーン』は下腿のボーンとし、『ターゲット』には足制御用ボーンと膝制御用ボーンを指定します。 曲げる関節は起点のボーンである下腿のボーンだけではなく、その親の大腿のボーンも含めます。
インバースキネマティクスのターゲットには2種類あり、1つは関節を曲げるためのもの、もう1つは関節をねじるためのものです。 今回は、関節を曲げるためのターゲットに足制御用ボーンを、関節をねじるためのターゲットに膝制御用ボーンを指定します。
では、インバースキネマティクスを設定していきましょう。 インバースキネマティクスの設定はポーズモードで実施します。
上図のようにポーズモードへ切り替えます。
ポーズモードで最初にやるべきことは、体の右側(画面向かって左側)のボーンを非表示にすることです。
では、キーボードのテンキーの1を押してください。
上図のように視点が正面図の位置へ移動します。 見ての通り、体の右側(画面向かって左側)のボーンは表示されています。
先ほどエディットモードで非表示にしましたが、このようにポーズモードには影響ありません。 ポーズモードでも非表示にしたければ、ポーズモードで非表示にする操作を行う必要があります。
では、非表示にするボーンを選択しましょう。
上図のように右側のボーンを選択します。 では非表示にしましょう。 キーボードのHを押します。
上図のように右側のボーンが非表示になります。 これで側面図での作業がしやすくなりました。
では、側面図に切り替えます。 キーボードのテンキーの3を押します。
上図のように視点が側面図の位置へ移動します。
では、インバースキネマティクスを設定しましょう。 まずは対象のボーンを選択する必要があります。 つまり、『起点のボーン』となる下腿のボーンを選択します。
上図のように下腿のボーンを選択します。 では、このボーンにインバースキネマティクスを設定しましょう。 具体的には、下腿のボーンと制御用ボーンの間にインバースキネマティクスのボーン制約を追加する、という作業になります。
上図のようにPropertiesのBone Constraint PropertiesタブにあるAdd Bone Constraintをクリックします。
上図のようにボーン制約の一覧が表示されますので、一覧から "Inverse Kinematics" を選択します。
これでインバースキネマティクスのボーン制約が追加されました。 続けて、追加したインバースキネマティクスのボーン制約の設定を行います。
上図のように追加したボーン制約の設定項目のTargetに "Armature" を、Boneに "IK-Foot_L" を設定します。 Targetがターゲットとするオブジェクトであり、Boneはそのオブジェクト内のボーンを指定します。
では、インバースキネマティクスをテストしてみましょう。 足制御用ボーンを選択してください。
上図のように足制御用ボーンを選択します。 では、このボーンを上に移動してみましょう。
上図のように体全体が影響を受けて傾いてしまいました。 なぜこんな事になったのかというと、曲げる関節数の上限を設定していないからです。
曲げたいのは下腿のボーンと大腿のボーンの2本ですが、上限を設定していないため大元の腰のボーンまでさかのぼって曲げられてしまったのです。
では、CTRL+Zを押して足制御用ボーンの位置を戻してください。
続いて、インバースキネマティクスの設定を変更します。 曲げる関節数の上限を 2 とします。 まずは、対象のボーンである下腿のボーンを選択します。
上図のように下腿のボーンを選択します。 では、インバースキネマティクスの設定を変更しましょう。
上図のようにChainを 0(ゼロ) から 2 に変更します。 なお、0(ゼロ) は上限なしを表しています。
では、再度テストしてみましょう。 足制御用ボーンを選択し、上に移動してみてください。
上図のように大腿が持ち上がりました。 テストは成功です。 関節を曲げるためのインバースキネマティクスの設定はこれで完成としましょう。
ではここで、CTRL+Zを押して足制御用ボーンの位置を戻してください。
続いては、関節をねじるためのインバースキネマティクスの設定を行います。 なお、起点のボーンは同じく下腿のボーンです。
つまり、新たにインバースキネマティクスのボーン制約を追加する必要はありません。 先ほど作成したインバースキネマティクスに設定を追加します。
まずは、対象のボーンである下腿のボーンを選択します。
上図のように下腿のボーンを選択します。 では、インバースキネマティクスの設定を変更しましょう。
上図のようにインバースキネマティクスの設定項目のPole Targetに "Armature" を、Boneに "IK-Knee_L" を設定します。 Pole Targetが軸ターゲットとするオブジェクトであり、Boneはそのオブジェクト内のボーンを指定します。
では、膝制御用ボーンでのポージングをテストしてみましょう。 脚を開く(ガニ股) / 閉じる(内股)という制御が行える予定です。
側面図の視点では確認しづらいので、キーボードのテンキーの4を4回押して視点を移動してください。
上図のように視点が斜め前の位置へ移動します。 これで、脚の開きが見やすくなりました。 では、膝制御用ボーンを選択してください。
上図のように膝制御用ボーンを選択します。 では、膝制御用ボーンを右へ動かしてください。 脚が開いてガニ股になるハズです。
上図のように脚が開いてガニ股になりました。 テストは成功です。 では、CTRL+Zを押して膝制御用ボーンの位置を戻してください。
足制御用ボーンで脚を曲げることができ、膝制御用ボーンで脚の開きを調整できるようになりました。 インバースキネマティクスに関する設定はこれで終了です。
Blenderでは、インバースキネマティクスはボーン制約の1つです。 起点のボーンを選択し、そのボーンに対してインバースキネマティクスのボーン制約を追加する、という流れになります。 なお、ボーン制約はポーズモードでなければ追加 / 修正 / 削除することはできません。
インバースキネマティクスのボーン制約を追加したら、続いて設定を行います。 関節を曲げるためのターゲットと、関節をねじるための軸ターゲットにそれぞれ制御用ボーンを指定します。 また、関節を曲げる上限をChainで指定する必要もあります。