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

インバース キネマティック(IK)はアニメーション技法の 1 つで、チェーン マニピュレータの方向を逆転させます。ツリーのルートからではなく、リーフから動作が始まります。

IK を使って脚をアニメートした状態

腕を例にしてみましょう。フォワード キネマティックで腕をアニメートする場合、肩、上腕、前腕、手首、手へと回転を伝え、それぞれの子オブジェクトに回転キーを加えていきます。

インバース キネマティックで腕をアニメートする場合は、手首の位置を決めるゴールを動かします。上腕と前腕は手首の基点を動かす IK ソリューションで回転させます。これはゴールへのエンド エフェクタと呼ばれます。

たとえば脚部の場合、ゴールで足を床に固定します。骨盤を動かすと、ゴールが動かないので足はそのままで膝が曲がります。アニメーション全体はゴールとルートのキーフレームに納められており、キーが個別のチェーン オブジェクトに適用されることはありません。

インバース キネマティックによって、複雑なモーションを短時間で設定しアニメートできます。基本処理には次のタスクが含まれます。

シーンの IK チェーンを外部から参照することができます。外部参照 IK チェーンは非外部参照チェーンと同様に機能します。ただし、外部参照 IK チェーンをマスター シーンに含めると、その外部参照コントローラを再ターゲットできなくなります。詳細は、外部参照オブジェクトを参照してください。

IK の補助となるコントロール オブジェクト

ゴールやエンド エフェクタを基点、スプライン、またはダミー オブジェクトにリンクして、チェーンの終点を変換したり回転させる手軽なコントロールとして利用できます。このようなコントロール オブジェクトをお互いリンクさせたり、コンストレイントで制御することもできます。またパラメータ ワイヤリングを使って、コントロール オブジェクト同士の関係を構築することもできます。

コントロール オブジェクトをマニピュレータ ヘルパーカスタム アトリビュートにワイヤリングして、アニメート可能なモデルに簡単にアクセスできるインタフェースを作成することができます。

要素をマニピュレートするコントロールをチェーンの途中に追加することができます。

注: HI ソルバでは、ターン角度に独自のマニピュレータがあり、別のターゲット オブジェクトに対してアニメートしたりリンクしたりすることができます。

フォワード キネマティックとインバース キネマティックの違い

フォワード キネマティックは、まず親オブジェクトを配置してから階層を下って各子オブジェクトを配置する、トップダウンの方法を使用します。

フォワード キネマティックの基本原則は次のとおりです。

これらの原則はかなり柔軟です。すべてが 1 つにリンクされ、関節の位置に基点が配置されていれば、構造をうまくアニメートできます。

インバース キネマティック(IK)は、ゴール オブジェクトを配置すると 3ds Max がチェーン終点の位置と方向を計算する目的指向の方法を使用しています。すべての計算が解決された後の階層の最終的な位置を IK ソリューションと呼びます。階層に適用できる IK ソルバにはさまざまなものがあります。

インバース キネマティックは、その基盤としてリンクおよび基点配置から始め、その後、次の原理を追加します。

このような制限が加えられるため、IK ではオブジェクトのリンクと基点配置の方法について深く考慮する必要があります。フォワード キネマティックに適したオブジェクトのリンク ソリューションは多数存在しますが、通常、与えられた IK アプローチに対し適切なソリューションはごく少数です。

インバース キネマティックは多くの場合、フォワード キネマティックよりも使いやすく、複雑なモーションをすばやく作成できます。後でモーションを編集する必要がある場合、IK を使っていれば簡単にアニメーションを更新できます。また、アニメーションで重みをシミュレートする場合にも最適です。