おもちゃラボ

Unityで遊びを作っていきます

【Blender】足を動かして学ぶIK入門

IKって便利そうだけど、設定がなんかヤヤコシイ・・・と感じている方が多いように思います。ボーンにIKの設定をするだけなんですが、ボーンの構造の複雑度に応じてIKの設定も大変になります。

f:id:nn_hokuson:20180320200753j:plain

最初はメッシュとの関連付けなどはせずに、素のボーンだけを使ってIKの設定と動きを理解しましょう!

単純なIKを設定する

まずは簡単なボーンの構造を使ってIKの理解を深めていきましょう。

オブジェクトモードでShift+Aを押してメニューを表示し、アーマチュア→単一のボーンを選択してください。ボーンが1つ追加されます。

f:id:nn_hokuson:20180320192813j:plain:w500

オブジェクトモードから編集モードに変更し、gキーでの移動とeキーでの押し出しを使って次のようなボーンを作ってください。

f:id:nn_hokuson:20180320193250g:plain:w250

上2つのボーンがそれぞれ太ももボーンとすねボーン、最後の一本がコントロール用のボーンという想定です。想像力大切(笑)

f:id:nn_hokuson:20180320193822j:plain

さて、それではIKを設定していきましょう。流れは次のとおりです。

  1. コントロール用ボーンを切り離す
  2. すねボーンにIKを設定する
  3. IKコンストレイントにコントロールボーンを指定する

まずはコントロール用のボーンをすねボーンから切り離しましょう。編集モードでコントロール用のボーンを選択し、ボーンのパネルから「接続」のチェックを外して、次に親の欄のバツボタンを押してください。「接続」→「親」という順番が大切です。

f:id:nn_hokuson:20180320194105j:plain

次にすねボーンにIKを設定します。「ポーズモード」ですねボーンを選択し、ボーンコンストレイントのパネルからトラッキング→インバースキネマティクス(IK)を選択してください。

f:id:nn_hokuson:20180320194401j:plain

最後にボーンコンストレイントの設定をします。ターゲットにArmature、ボーンにコントロール用ボーン(ここではBone.002)を指定し、チェーンの長さを「2」に設定します。

f:id:nn_hokuson:20180320194449j:plain

チェーンの長さを設定することで、コントロール用のボーンから何個さかのぼってIKの計算をするかを指定することが出来ます。ここではすねボーン(IKボーン)→太ももボーンと2つさかのぼってIKの挙動を計算するのでチェーンの長さを「2」にしています。

動作させると次のような感じになります。

f:id:nn_hokuson:20180320194556g:plain:w250

簡単なIKの設定方法がわかったところで、もう少し複雑なボーンのIKにも挑戦してみましょう。

足先まで含めたIKを考える

上では太ももとすねの2つだけのボーンでIKを設定しました。動物の場合はこれでも良いのですが、人間の場合は足先のボーンまで作らないと不自然な動きになってしまいます。

先程のボーンにつなげる感じで、足先ボーンも作りましょう。すねボーンの先端(コントロールボーンとの接続部分)を選択して、eキーで押し出し、足先ボーンを作ります。

f:id:nn_hokuson:20180320195011g:plain:w250

この状態でコントロールボーンを動かしてみましょう。足を持ち上げると同時に足先が回転してしまっているため、このままでは、非常に使いにくいですね。

f:id:nn_hokuson:20180320195102g:plain:w250

これは足先のボーンがIKを設定したすねのボーンの影響を受けていることが原因です。そこで一旦すねボーンと足先ボーンの接続を切ります。

編集モードで足先ボーンを選択し、ボーンパネルから「接続のチェックを外す」→「親をバツボタンで削除」の順番ですねボーンと切り離してください。ここでも順番が大切です。

f:id:nn_hokuson:20180320195415j:plain

足先ボーンがIKボーンと切り離せたところで、この足先ボーンはコントロール用のボーンの子要素にしましょう。これによりコントロールボーンの動きと同調して動くようになります。今削除した親の欄からコントロールボーン(Bone.002)を選択してください。

f:id:nn_hokuson:20180320195551j:plain

設定できたらポーズモードでコントロールボーンを動かしてみてください。

f:id:nn_hokuson:20180320195632g:plain

足首ボーンが足の上下とは関係なく地面と平行に保たれていますね!また、コントロールボーンを回転することで足首ボーンが回転することも確認しておきましょう。