Blenderを覚える日記

箱うし本でBlender基礎の習得を目指す、3DCG初心者の日記。

【箱うし本】STAGE 3-2 ボーンにIKを設定してみる

LESSON-15、キャラクターのボーンにIK設定を行う

今回はIK(インバースキネマティクス)を扱います。

f:id:komanotes:20200607204622p:plain
初期状態
この人、狐じゃなくて犬だったみたい。

左脚にIKを設定する

左足(左足首のボーン)の位置や回転を変えることで、脚の2本のボーンが自動的に動くようにします。

f:id:komanotes:20200607204629p:plain
足首のペアレントを解除
下準備として、足首関節の接続を切り離しました。

これは、子が親を動かすという状況になるのを防ぐためです。もし親子関係のままIKを設定すると、足首を移動することができなくなります。

だそうです。つまり…?
今回は足首ボーンの動きによって脚ボーンが動くようにIKを設定する。だから親子関係を切らないと、子が親を動かすようになってしまうのでNG。ということか。


続いて脚のボーン、すねの方にIKを追加する。
プロパティウィンドウに[ボーンコンストレイント]タブがあり、ここに[インバースキネマティクス(IK)]を追加する。

f:id:komanotes:20200607204634p:plain
[ボーンコンストレイント]-[インバースキネマティクス]
メニューを見るとたくさんのボーンコンストレイントが並んでいる、いろんなボーンの使い方、制御ができそう。「Limit Scale」というのも見えるので、これを使えば前回自分が気にしてた「ボーンの可動範囲を制限する」こともできるのでは。

IKの設定はそのままプロパティウィンドウでできる。

f:id:komanotes:20200607204638p:plain
IKの設定
IKの「ターゲット」(オブジェクト)にArmature、「ボーン」(実際にターゲットになるボーンのこと?)を選択。
「チェーンの長さ」を2にした。

チェーンの長さによって、IKでコントロールされるボーンの数が変わるみたい。
いくつ親のボーンまでコントロールするのか、ということで、今回の場合はIKを設定したすねボーンから数えて、2つ目の腿ボーンまでということになる。
ちなみに初期値の0だと、何も動かないのではなくつながってるすべてのボーンが動いた。

ここまで設定したIKの動作を確認してみる。

f:id:komanotes:20200607204643p:plain
IKの効果
足首ボーンを動かしただけで脚全体が動くようになった。

ポールターゲットを追加する

さらに、膝の向きもIKで指定できるように、ポールターゲットというものを作る。

膝関節からまっすぐ前方を向けた新しいボーンを作る。

f:id:komanotes:20200607204648p:plainf:id:komanotes:20200607204652p:plain
ボーン追加。押し出しで作ってからペアレントをクリアした。
ポールターゲット用のボーンは足首ボーンとセットで動くようにしたいので、足首ボーンを親としてペアレントしておく。

ボーンを追加したら、すねボーンのIKのプロパティに戻って設定をする。

IKの「ポールターゲット」とその「ボーン」に、Armatureとポールターゲット用に作ったボーンを指定する。
ここで意図しない方向に関節が折れてしまうときは、「ポールの角度」の数値を調整する。
これで、ポールターゲットにしたボーンを動かすことで、IKによって曲がった関節(膝)の向く方向を動かすことができるようになった。

右脚も同様に設定する

ここまでの作業を右脚にも行って、脚のIK設定は完了。

f:id:komanotes:20200607204656p:plain
足首ボーンとポールターゲットのみを動かしてのポージング
2つのボーンを動かしただけで脚全体のポージングができるようになった。
IKさん……なかなかやるなあ……。

カスタムオブジェクトを設定する

IKのターゲットとした足首のボーンが、小さくてちょっと選択しづらいよね。
ということで、ボーンの見た目を変える方法があるらしい。


ボーンの代わりに表示するためのオブジェクトをシーンに追加する。
今回はデフォルトのキューブの、面のみ削除した状態のものを作った。名前をわかりやすいように付けておくとよし。

f:id:komanotes:20200607204705p:plain
面を削除したキューブ
ここまでできたら、残りの設定はボーン側のプロパティで行う。


f:id:komanotes:20200609122300p:plain
ボーンの見た目を変更する
足首のボーンを選択して、[ボーンプロパティ]-[ビューポート表示]から、カスタムオブフェクトにさっき作ったキューブを指定することで、ビュー上ではボーンがキューブに置き換わる。
カスタムオブジェクトの大きさは設定次第で、デフォルトの設定だと元のボーンに合わせた大きさになるみたい。

完成!

これでキャラクターをIKで動かすための設定ができました!


f:id:komanotes:20200607204718p:plain
ポーズ