インバースキネマティクス

インバースキネマティクスって何?
キネマティクスの意味は運動学です。シネマと同じ語源です。
インバースキネマティクスを知る前にフォワードキネマティクスというものがあるということを知っておくとわかりやすいと思います。

フォワードキネマティクス

CGで人間の体を動かすには骨組みを設定します。
そして各関節ごとに回転角度を設定することにより、ポーズを表現します。
この骨組みは階層構造になっていて、親子関係があります。
たとえば下腕の親は上腕、という風に。
親子関係をつくっておくことにより、末端の関節が動いたら追随して親の方の関節も動きます。
そうすることで自然な動きを表現しています。

フォワードキネマティクスの欠点

回転角を入れることによって、動かしますが結果が予測しにくく、単純な構造でなければなかなか意図したとおりの動きにならない[1]
各関節を回転させて思い通りのポーズにするのがどんなに難しいか、iOSアプリのArtPose[2]というアプリを使ってみると実感できるでしょう。
人体があって各関節が動かせて好きなポーズをとらせることができる、絵を描くのに使うアプリです。

そこでインバースキネマティクスの登場

手の先の位置を指定するだけで、コンピュータが自動で各関節の角度を計算してくれる、というもの。
さらに、動作の開始時の手の先の位置と、終了時の位置を指定するだけでその間の各関節の角度をすべて求めてくれるというもの。

Blenderでのインバースキネマティクス

3DCGソフトBlenderでもインバースキネマティクスが採用されおり、IKと略称されています。
Bone ConstraintsメニューからAddすることができます。
ik.png
つまり、の動きに制約をかける手法の一種なのです。

BlenderのIKで設定するパラメータ

ikparameters.png
Target Bone ポーズを動かすときに使う。ここで指定するボーンはコントローラー用として特別に作ったボーンを指定する。親はRoot。ボーンのDeformはチェックを外す
Pole Target ポーズの方向を調整するときに使う ボーンのDeformはチェックを外す
Chain 何個のボーンが連動して動くようにするのか

サポートサイト Wikidot.com