MRが楽しい

MRやVRについて学習したことを書き残す

Blender標準テクニック[ローポリキャラクター制作で学ぶ3DCG]を試す その53(インバースキネマティクス)

本日は書籍「Blender標準テクニック[ローポリキャラクター制作で学ぶ3DCG]」の実施枠です。

今回は「インバースキネマティクス(IK)」を行います。
f:id:bluebirdofoz:20180226002712j:plain

ボーンの動きの伝播には2つの種類があり、今まで取り扱っていたのは「フォワードキネマティクス(FK)」となります。

フォワードキネマティクス(FK)

ボーンの影響が親から子へ伝播していく仕組みを指します。
例えば、肩の関節を回転させるとすると、それに付随して子の上腕・前腕・手が全て回転しますし。
逆に足先を動かしても、その回転は親の太腿に影響を及ぼしません。
正確な動きの調整を行うには全てのボーンの回転角度などを手動で設定していく必要があります。

インバースキネマティクス(IK)

ボーンの影響が子から親へ伝播する仕組みを指します。
例えば、手の位置を決めるだけで肩と肘の角度を自動的に設定してくれます。
間接の曲がる角度や方向を制限することができ、腕が脚がありえない角度や方向に曲がることを回避できます。


この辺り、書籍でもかなり密度が高いので一つ一つ作業を実施していきます。今回は足のIK作成です。
まず、足のすね側のボーンのテール、つま先前のボーンのテールから、真っ直ぐ下向きのボーンを追加します。
f:id:bluebirdofoz:20180226002725j:plain
これらは「ターゲット」ボーンとして利用されます。

次に膝の正面に(X方向の位置を一致)どこのボーンからの押出でもよいので、ボーンを追加作成します。
f:id:bluebirdofoz:20180226002750j:plain
これは「ポールターゲット」ボーンとして利用します。

次につま先側の「ターゲット」ボーンと「ポールターゲット」ポーンの親ボーンを、かかと側の「ターゲット」ボーンとします。
接続は切っておく必要があります。
f:id:bluebirdofoz:20180226002804j:plain

最後にかかと側の「ターゲット」ボーンを削除します。
f:id:bluebirdofoz:20180226002834j:plain


これでボーンの準備は完了です。実際に IK を設定していきます。つま先側の「ターゲット」ボーンからです。
まず、ポーズモードに切り替えます。
つま先側の「ターゲット」ボーンを選択し、次に足の甲のボーンを選択します。
この状態で Shift+I キーで「IKのターゲット選択」メニューを表示し、「アクティブボーン」を選択します。
f:id:bluebirdofoz:20180226002846j:plain

すると、足の甲のボーンに「ボーンコンストレイント」が設定されます。
「ボーンコンストレイント」画面を開いて、「チェーンの長さ」を 1 に設定します。
f:id:bluebirdofoz:20180226002912j:plain

この状態で試しに「ターゲット」ボーンを動かしてみると、足の甲のボーンが動くことが確認できます。
f:id:bluebirdofoz:20180226002923j:plain

次はかかと側の「ターゲット」ボーンを設定します。
ポーズモードでかかと側の「ターゲット」ボーンを選択し、次にすね側のボーンを選択します。
この状態で Shift+I キーで「IKのターゲット選択」メニューを表示し、「アクティブボーン」を選択します。
f:id:bluebirdofoz:20180226002933j:plain

こちらでは「ボーンコンストレイント」画面で、「チェーンの長さ」を 2 に設定します。
チェーンの長さは影響を受けるボーンの数を示しています。
この設定ではすねのボーンに加えて、その親のもものボーンも影響受けるようになります。
f:id:bluebirdofoz:20180226002941j:plain

更に膝のを制限するため、先ほどの「ポールターゲット」ポーンを利用します。
「ボーンコンストレイント」画面で、「ポールターゲット」の欄にアーマチュアオブジェクト名と「ボーン」欄に作成した「ポールターゲット」ポーンを指定します。
f:id:bluebirdofoz:20180226002949j:plain

これでかかと側の「ターゲット」ボーンを動かしてみます。
f:id:bluebirdofoz:20180226002959j:plain
連動して、すねとももが動きましたが、関節が変な方向に曲がってしまいました。

書籍には、関節の曲がる方向の制御方法は書かれていないようでした。
調べた結果ですが、これに関する最も手っ取り早い解決方法は、膝部分を曲がってほしい方向に少し押し出しておくことです。
f:id:bluebirdofoz:20180226003028j:plain

かかと側の「ターゲット」ボーンを動かすと、関節が曲がってほしい方向に曲がるようになりました。
f:id:bluebirdofoz:20180226003020j:plain

IK の設定は自動でミラーはしないので、右足側も同じ設定を行います。
注意点として、右足ではポールターゲット設定するとき、「ポールの角度」を 180 度に設定する必要があります。
これはポールの方向はIKの設定したボーンのX軸方向で決定されているためです。
f:id:bluebirdofoz:20180226003041j:plain

膝を曲げると、足がスカートを突き抜けることが分かったので、ウェイトペイントで突き抜けを回避しておきます。
f:id:bluebirdofoz:20180226003052j:plain

とりあえずはこれでOKかな。
f:id:bluebirdofoz:20180226003100j:plain
上手くスカートの裾を動かしたい場合、やはりボーンを仕込んで制御する必要があるようです。