本日はBlenderモデリング枠です。
Blenderを学ぶ中で筆者が苦手としてきたIK(インバースキネマティックス)ですが今回思い切って学んでいきます。
〇IKとは?
IKはアニメーションにかかわる機能です。
Blenderなどでリグ入れを行いオブジェクトのアニメーションを行う際にはボーンの親子関係の順にポーズをつける必要があります。
例えば次のような人型モデルで手でモノをつかむようなアニメーションを作りたいとします。
1
こうした場合は①上腕のボーンを動かす、②ひじのボーンを動かすというステップを踏むことで初めて手を動かすことができます。

手を特定の位置に動かしたいだけなのに手のボーンのみを動かした場合上腕やひじが追従しないためです。

しかし私たちの生活ではものをつかむためにひじをどのくらいまげてといったことを考えずに手を伸ばすことができます。
このように今回の腕のように連なっているボーンに対しある場所に対して先端から動かし、手がここにあるならひじはどのように曲がるのか?というような動かし方をインバースキネマティックス(IK)と呼びます。
IKを設定することでより自然なアニメーションを素早く構築することができます。
IKはBlenderに限らず様々な場面で使用されており、わかりやすい例ではVRなどのアバター表現です。

これらはHMDの位置にアバターの頭、コントローラーの位置にそれぞれの手が追従するIKが働いており、ユーザーの動きを再現することができます。
〇BlenderでIKを設定する。
今回はこちらのキャラクターを使用します。手にIKを設定していきます。

①手のボーンを複製します。

今回はこのボーンをIKのコントローラー(手が追従するポジション)にしていきます。
②複製したIKコントローラーのボーンのボーンプロパティからペアレントを削除し親子関係を解除します。

これによって依存関係なく自由に動けるボーンになりました。
③ポーズモードで手のボーンを選択しボーンコンストレイントプロパティからインバースキネマティックス(IK)を追加します。

これによってインバースキネマティックスの枠組みが設定されます。

④IKの設定を行っていきます。
ターゲットに人のアーマーチュアを、ボーンに①で作成したIKコントローラーを指定します。

⑤チェーン数を上げていきます。これによってIKコントローラーに対して手の位置がくるように腕が動きます。

チェーンの数はIKを設定したボーン自信を含んだ影響を受けるボーンの数を指定します。
今回は手、ひじ、上腕、肩で4を指定しています。

以上でIKの基本設定は完了しました。
しかしこの時点ではひじがあらぬ方向に曲がってしまっていたりと制御がうまくできていないことがわかります。
次回回転軸の制限や影響の受けやすさなどを紹介します。