MRが楽しい

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

Blender2.8でIK(インバースキネマティクス)を使った人型アーマチュアを作成する その1(脚部のIK設定)

本日は Blender2.8 の手順枠です。
Blender2.8でIK(インバースキネマティクス)を使った人型アーマチュアを作成する手順を記事にします。

前提条件

本記事ではボーン名称など Rigify アドオンの Human(Meta-Rig) を元にした人型のアーマチュアを前提に作業を進めます。
こちらのアーマチュアの作成方法は以下の記事を参考にしてください。
bluebirdofoz.hatenablog.com

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

IK は1つのボーンを動かして、複数のボーンを連動して動かす機能です。
ボーンが曲がる角度なども設定することができ、IK を活用することでアニメーション作成の効率化が行えます。
f:id:bluebirdofoz:20200918210220j:plain

インバースキネマティクス(IK)の仕組み

IK を設定されたボーンは目的地となる指定のボーンのヘッダ位置に向かって回転する動作を行います。
f:id:bluebirdofoz:20200918210232j:plain

例えば、3つのボーンが連動して動作する場合、初めに IK が設定された末端のボーンが目的地の方向を向きます。
f:id:bluebirdofoz:20200918210243j:plain

続けて、その親のボーンがボーンのヘッドと目的地を結んだ直線上に末端のボーンのティルが重なるように回転します。
f:id:bluebirdofoz:20200918210254j:plain

同じ処理が更にその親のボーンにも行われます。
f:id:bluebirdofoz:20200918210305j:plain

この一連の処理を繰り返し実行することで、IK を設定されたボーンは目的地の方向に向かって動きます
f:id:bluebirdofoz:20200918210324j:plain

この繰り返し回数は IK の設定項目で変更可能です。
f:id:bluebirdofoz:20200918210337j:plain

脚部のIK設定

本項では脚部の IK 設定を行っていきます。

コントロールボーンの作成

最初に脚部のコントロールボーンを作成します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[編集モード]を開きます。
f:id:bluebirdofoz:20200918210355j:plain

左足の甲の部分に当たる Foot.L ボーンを選択します。
f:id:bluebirdofoz:20200918210409j:plain

この状態でメニューから[アーマチュア -> 複製]を実行するか、[Shift+D]キーでボーンを複製します。
f:id:bluebirdofoz:20200918210443j:plain

そのまま複製したボーンをドラッグして Foot ボーンの真下に配置します。
f:id:bluebirdofoz:20200918210455j:plain

次に作成したボーンの名前と親子関係を変更します。
複製ボーンを選択した状態で[ボーンプロパティ]を開きます。
[関係]パネルを開いて[ペアレント]のボーンを[×]ボタンで削除し、親ボーンを持たないボーンとします。
f:id:bluebirdofoz:20200918210509j:plain

更に、プロパティ上部の名前を適当な名前に変更します。
この後、左右対称の設定を行うため、名前の最後には[.L]を必ず付けます。
今回は control.shinIK.L としました。
f:id:bluebirdofoz:20200918210522j:plain

IKの適用と設定

コントロールボーンを参照して動作する IK を適用します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[ポーズモード]を開きます。
f:id:bluebirdofoz:20200918210534j:plain

左足の脛に当たる shin.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
f:id:bluebirdofoz:20200918210549j:plain

[ボーンコンストレイント追加]のプルダウンを開き、[インバースキネマティクス(IK)]を選択して追加します。
f:id:bluebirdofoz:20200918210602j:plain

次に IK の設定を行います。
[ターゲット]に対象のアーマーチュアオブジェクトを選択します。
f:id:bluebirdofoz:20200918210614j:plain

[ボーン]の項目が追加されるので、先ほど作成した control.shinIK.L を指定します。
f:id:bluebirdofoz:20200918210627j:plain

[チェーンの長さ]を[2]に設定します。
これにより、IK を適用したボーンを含めて2つの親ボーン(脛と太腿)が連動します。
因みに[0]を指定している場合は全てのボーンが連動します。
f:id:bluebirdofoz:20200918210657j:plain

動作の確認

この状態でまずは動作を確認してみます。
[ポーズモード]でコントロールボーンを動かしたとき、脛と太腿のボーンが連動して動作すれば成功です。
f:id:bluebirdofoz:20200918210826j:plain

ただし現状では一定以上の高さにコントロールボーンを持ち上げると、膝が逆関節に折れ曲がる事象が発生します。
f:id:bluebirdofoz:20200918210837j:plain

次は膝の IK を作成し、膝が逆関節に折れ曲がらないように修正します。
bluebirdofoz.hatenablog.com

参考ページ

本記事は以下の記事を参考に作成しています。
xr-hub.com
www.youtube.com