夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

BlenedeIKで二つのコントローラーボーンで位置と向きを制御する

本日はBlender枠です。

BlenderのIK

IKはInverseKinematicと呼ばれ、簡単に説明するとある場所にあるボーンがあるためには接続されている別のボーンはどのような挙動をしているかを計算するアルゴリズムです。

具体的にはキャラクターを例として、通常ボーンの軸である胴体から上腕、ひじ、手首といった順でボーンの回転を行いポーズを決めますが、IKを使用することである場所に手がある場合、ひじ、上腕はどのような挙動をするかを計算する仕組みです。

Blenderでの実装は過去の記事を参考にしてください。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

〇ひじの回転を行う

今回は筆者のオリジナルガンダムモデルを例に説明します。

足をコントロールするIKを設定しました。

この場合一つのコントローラーだけでは次のように足の回転がおかしくなることがあります。(画像では足の向きが反転してしまっている。)

こういった際にもう一つのコントローラーボーンを作成してそのボーンの方を向くというような設定を行うことができます。

足のコントローラーボーンの子ボーンとなるように新しい向きのコントロールボーンを作成します。 ここでは足のコントローラーボーンをLegLIK,新しいコントローラーのボーンをLegLNeeIKという名前を付けています。

またIK自体は画像のように脛のボーンを使用しています。

IKの向きをコントロールボーンで制御するためには今回では脛のIK設定を開きポールターゲットLegLNeeIKのアーマーチュア、ボーンにLegLNeeIKを設定します。

またボーンの状態に応じてポールの角度を設定します。

これによって足のIKに加え新たなコントローラーボーンで膝の向きを自由に調整できるようになりました。

これによってよりポージングが容易になりました。

本日は以上です。