IK ソルバは、リンクを回転したり位置決めしたりするインバース キネマティック ソリューションをチェーン内に作成します。IK コントローラを適用し、リンク内での子の変換を決定します。あらゆるオブジェクトの階層に IK ソルバを適用できます。IK ソルバは、[アニメーション](Animation)メニューのコマンドを使って階層や階層の一部に適用します。階層でオブジェクトを選択し、IK ソルバをクリックします。さらに階層で別のオブジェクトをクリックすると、IK チェーンの終了が定義されます。
HI IK ソルバを適用したボーン システム
IK ソルバはタイプごとに機能やワークフローが異なるため、[階層](Hierarchy)パネルと[モーション](Motion)パネルに表示されるコントロールやツールも異なります。IK ソルバはプラグインなので、プログラマが独自の IK ソルバを作成したりカスタマイズすることにより 3ds Max の IK 機能を拡張することが可能です。
3ds Max には 4 種類の IK ソルバが含まれています。最も一般的に使用される 2 つは、履歴に依存しない(HI)と履歴従属(HD)です。両方の操作を横に並べて参照するには、次のビデオを再生します。
先行するビデオでは、ロボット アーム 1 が HI IK を使用し、ロボット アーム 2 で HD IK を使用します。両方のエンド エフェクタが同じようにアニメートされます。スペースの同じポイントに達するために 2 つのアルゴリズムが使用するさまざまな IK ソリューションに注目してください。
一般的に、IK ソルバで次のような操作を行うことができます。階層の一部でインバース キネマティック チェーンが定義されます。たとえば、キャラクタの尻からかかと、肩から手首といった具合です。IK チェーンの終点はゴールと呼ばれるギズモです。ゴールはさまざまな方法で何度も再配置したりアニメートできますが、よく使用される方法はリンクやコンストレイントです。ゴールをどれだけ移動しても、IK ソルバはゴールの動きに合わせてチェーンの最後の関節の基点(エンド エフェクタとも呼びます)を移動させようとします。IK ソルバはチェーンの一部を回転させて伸ばし、ゴールの動きに合わせてエンド エフェクトの位置を変えます。
IK ソルバを使った腕のアニメート
エンド エフェクタが地面に制限されることがよくあります。たとえば、歩く場面でつま先立ちさせてかかとを持ち上げることがあります。すると、チェーンのルートの動きにより、足がつま先よりも上がらなくなります。
3ds Max には 4 つのプラグイン IK ソルバが含まれています。
HI ソルバは、キャラクタ アニメーションの基本的な方法で、長いモーション シーケンスの IK アニメーションにも使用されます。HI ソルバを使用すると、階層で複数のチェーンが設定できます。たとえば、キャラクタの脚は尻から足首までのチェーンとかかとからつま先までのチェーンで構成されています。
このソルバのアルゴリズムは履歴に依存しないため、アニメーションのフレーム数にかかわらず高速で使用できます。フレーム 2000 でもフレーム 10 でも速度は変わりません。ビューポートでは安定しており、ジッターもありません。このソルバではゴールとエンド エフェクタが作成されます。ただし既定値では、エンド エフェクタは非表示です。ソルバ平面を肘や膝の位置に合わせるためにターン角度を使います。旋回角のマニピュレータをビューポートのハンドルとして表示し、調整します。HI IK は基本角を使って回転方向を定義し、肘や膝が正しく曲がるようにします。
HD ソルバは、機械のアニメーション、特に IK アニメーションが必要なパーツがスライドするような場面に適しています。これを使用して、関節制限および優先順位を設定することができます。これは、長いシーケンスではパフォーマンスの問題が発生するため、短いアニメーション シーケンスでの使用に適しています。機械のアニメーション、特にパーツがスライドするような場面に適しています。
このソルバのアルゴリズムは履歴に依存するので、短いモーション シーケンスに最も向いています。モーション シーケンスが続くと、ソリューションの計算に時間がかかります。エンド エフェクタをバインドしてオブジェクトを動きに合わせ、優先順位とダンピングのシステムを使用して結合パラメータを定義します。スライド関節制限を IK アニメーションと組み合わせて使うことができます。HI IK ソルバでは、FK 運動を使用している場合にだけスライド関節制限が使用できます。
IK リム ソルバは、チェーンの 2 つのボーンでだけ使用できます。ビューポートで高速表示される分析ソリューションで、キャラクタの腕や脚をアニメートできます。
IK リム ソルバは、ゲーム エンジンへの書き出しに使用できます。
このソルバのアルゴリズムは履歴に依存しないため、アニメーションのフレーム数にかかわらず高速で使用できます。フレーム 2000 でもフレーム 10 でも速度は変わりません。ビューポートでは安定しており、ジッターもありません。このソルバではゴールとエンド エフェクタが作成されます。ただし既定値では、エンド エフェクタは非表示です。ソルバ平面を肘や膝の位置に合わせるためにターン角度を使います。別のオブジェクトにターン角度を合わせ、そのオブジェクトをアニメートすることができます。また HI リム ソルバは、基本角を使って回転方向を定義し、肘や膝が正しく曲がるようにします。HI リム ソルバを使用すると、有効な IK をキーフレーミングすることで IK と FK を切り替えることができます。HI リム ソルバは FK ポーズ機能に特殊な IK を使用するため、IK を使用して FK キーを設定できます。
スプライン IK ソルバを使用して、一連のボーンなど、リンクされたオブジェクトの曲率を決定します。
スプライン IK のスプライン上の頂点を「ノード」と呼びます。頂点と同じように、ノードを移動したりアニメートすることによって、スプラインの曲率を変更できます。
スプライン ノードの数は、ボーンの数より少なくてもかまいません。頂点の数を少なくすることによって、ボーンを 1 つずつアニメートするのとは対照的に、ごくわずかなボーンを使用して複数のボーンからなる長い構造のポーズ付けやアニメートが簡単に行えます。
スプライン IK ソルバは、他の IK ソルバよりも柔軟性のあるアニメーション システムを提供します。ノードを 3D スペースのどこにでも移動できるので、リンク構造を複雑にできます。
スプライン IK を割り当てると、各ノードにヘルパー オブジェクトが自動的に配置されます。ノードはそれぞれ対応するヘルパーにリンクされているので、ヘルパーを移動するとノードが移動します。HI ソルバと違って、スプライン IK システムはゴールを使用しません。3 次元スペースにおけるノードの位置だけで、リンク構造の形が決まります。ノードを回転またはスケールしても、スプラインや構造には影響しません。
IK ソルバをオブジェクト階層に適用することができる一方で、IK ソルバと組み合わせたボーン システムでもキャラクタをアニメートできます。
ボーン システムとは、相互に接合されたボーン オブジェクトの階層的なリンクです。ボーンは一種の骨格であり、その上にオブジェクトをリンクできます。スキン モディファイヤを使用すると、オブジェクトのボーンにスキンを付け、ボーンのアニメーションはキャラクタをモデルとするメッシュを変形させます。関節を持つキャラクタの場合、リンクやコンストレイントを使用してボーンにメッシュをアニメートできます。
スキンでボーンをアニメートすると、スキンが伸縮します。
スキンでボーンをアニメートすると、スキンが伸縮します。
どのようなオブジェクトでも、ボーン オブジェクトに変換できます。オブジェクトを選択し、[アニメーション](Animation) [ボーン ツール](Bone Tools)を選択します。[オブジェクト プロパティ](Object Properties)ロールアウトで[ボーンのオン](Bone On)にチェックを付けます。オブジェクトの表示をボーンと置き換える場合は、[リンクのみを表示](Show Links Only)を選択します。幾何学的に強力な階層をアニメートする場合に便利です。ジオメトリを非表示にしてリンクのみを表示すると、インタラクティブなビューポートの反応がさらに速くなります。
任意のオブジェクトをボーン オブジェクトとして表示できます。オブジェクトを選択し、[アニメーション](Animation) [ボーン ツール](Bone Tools)を選択します。[ボーン ツール](Bone Tools)フロータが開きます。[オブジェクト プロパティ](Object Properties)ロールアウトで[ボーンのオン](Bone On)にチェックを付けます。[表示](Display)パネルに移動し、[リンク表示](Link Display)ロールアウトで[リンクを表示](Display Links)と[オブジェクトをリンクに置換](Link Replaces Object)をオンに切り替えて、オブジェクトの代わりにボーンを表示します。幾何学的に強力な階層をアニメートする場合に便利です。ジオメトリを非表示にしてリンクのみを表示すると、インタラクティブなビューポートの反応がさらに速くなります。
オブジェクト階層をボーンとして表示することができます。
オブジェクト階層をボーンとして表示することができます。
オブジェクト階層をボーンとして表示することができます。
ボーンは何度もスケール、押し潰し、引き伸ばしできます。「オブジェクトをボーンとして使用」を参照してください。
オブジェクトの代わりにリンクを表示するには、[リンクを表示](Display Links)と[オブジェクトをリンクに置換](Link Replaces Object)を使用します。これらの設定は[表示](Display)パネルの[リンク表示](Link Display)ロールアウトにあります。幾何学的に強力な階層をアニメートする場合に便利です。ジオメトリを非表示にしてリンクのみを表示すると、インタラクティブなビューポートの反応がさらに速くなります。
フォワード キネマティックを介してキャラクタの動きをアニメートし、肩から指、尻から脚の指へと手足を所定の位置に回転させることができます。しかし、足が地面に接する動きをシミュレートするのにインバース キネマティックを用いると簡単でしかも現実的です。また、アニメーションを変更する必要がある場合、制御も簡単です。チェーンのボーンごとにキーフレームを置かなくても、1 つのノードを変更してチェーン全体のアニメーションを変更するだけでよいのです。
一方、アニメータが足に IK を使い胴と腕に FK を使うのは一般的です。FK を使うと、上体を制御しやすくなります。キャラクタのアニメーション作業ごとに IK を使用する必要はありません。HI IK ソルバを使用すると、FK と IK の間を自由に移動することができます。
IK ソルバは、ボーン システムの作成時、または[アニメーション](Animation)メニューから次のように適用できます。
ボーンの作成時に[子に割り当て](Assign to Children)にチェックマークを付けると、すぐに IK ソルバが適用できます。既定値はオフです。
[モーション](Motion)パネルと[階層](Hierarchy)パネルで IK ソルバの設定を調整します。
IK チェーンの終了ノードを選択すると、[モーション](motion)パネルに各 IK ソルバのロールアウトが表示されます。
[モーション](Motion)パネルのパラメータでソルバ面のターン角度を調整し、膝と肘を示します。また、[IK ソルバ](IK Solver)ロールアウトのコントロールを使用すると、[有効](Enabled)ボタンと[IK]ボタンで、IK と FK (フォワード キネマティック)の期間をミックスすることもできます。
[モーション](Motion)パネルのパラメータを使用すると、選択している関節にエンド エフェクタを割り当てたり、割り当て済みのエフェクタを削除または編集することができます。エンド エフェクタを他のオブジェクトの親にして、最初の姿勢をスケルトンに戻すことができます。[モーション](Motion)パネルで IK コントローラのパラメータを変更すると、選択しているボーン数にかかわらず、HD IK チェーン全体に変更内容が反映されます。
[モーション](Motion)パネルの IK リム ソルバ パラメータと HI IK ソルバ パラメータは同じものです。
[モーション](Motion)パネルのパラメータを使用して、スプライン IK ソルバのアクティブ/非アクティブの切り替え、開始関節と終了関節に割り当てるボーンの調整、ツイストの開始角度と終了角度の調整、およびツイスト ハンドルの表示設定が行えます。
ボーンが選択されると、IK パネルには回転関節を動かしたり制限するコントロールや、関節の設定角度を設定するコントロールが表示されます。全関節の基本角度での姿勢は、手足の回転方向を制御するのに役立ちます。終了点が選択されると IK パネルは空白になります。
HD IK チェーンのエンド エフェクタを選択します。[階層](Hierarchy)パネルで[IK]をクリックします。HD ソルバに影響を与えるコントロールが表示されます。同時に、オブジェクトに従うようにバインドするツールや、優先順位と結合制限、ダンピング、スプリング バックを設定するツールも表示されます。
ボーンが選択されると、IK パネルには回転関節を動かしたり制限するコントロールや、関節の設定角度を設定するコントロールが表示されます。全関節の基本角度での姿勢は、手足の回転方向を制御するのに役立ちます。終了点が選択されると IK パネルは空白になります。IK ソルバを適用する前にボーンを選択すると、スライディング関節と回転関節のパラメータに、違う設定が表示されます。これらは IK ソルバを適用すると置き換えられます。
スプライン IK チェーンのスプラインを選択します。[階層](Hierarchy)パネルで[IK]をクリックします。表示されるコントロールは、スプライン IK ソルバに影響します。同時に、オブジェクトに従うようにバインドするツールや、優先順位と結合制限、ダンピング、スプリング バックを設定するツールも表示されます。IK パネルのコントロールは、HD ソルバに似ています。
階層やボーン システムに IK ソルバを追加するには:
IK リム ソルバを使用している場合は、2 つのボーンだけを制御する IK ソルバを適用する必要があります。
ビューポートに IK ソルバが表示されます。
IK ソルバを使用するボーン階層を作成するには:
ボーンは、割り当て済みの IK ソルバで作成されます。
オブジェクトの階層をボーンとして表示するには:
[ボーン ツール](Bone Tools)ダイアログ ボックスが開きます。
オブジェクトが消えて、リンクがボーンとして表示されます。