IK ソルバ

IK ソルバは、IK ハンドルの背後にある数学的アルゴリズムです。IK ハンドルによって制御されるジョイント チェーンに属するすべてのジョイントの回転を計算します。ジョイント チェーンに対する IK ハンドルの作用は、IK ハンドルが使用する IK ソルバの種類によって異なります。既定では、Maya には次の IK ソルバがロードされます。

また、既定のソルバに加えて、手動でロードして次のソルバを作成することもできます。

ジョイント数が 2 ~ 4 個のジョイント チェーンのポーズを設定し、アニメートするには、シングル チェーンまたは回転プレーン IK を使用します。

長いジョイント チェーンのポーズを設定し、アニメートする場合は、スプライン IK を使用します。ゲームに使用する単純な 3 ジョイント IK チェーンのポーズを設定し、アニメートする場合は、2 ボーン IK を使用します。

既定では、作成したすべての IK ハンドルは、同じタイプの IK ソルバを使用するとともに、同じ IK ソルバ ノードを共有します。たとえば、シングル チェーン IK を使用するすべての IK ハンドルも、同じ ikSCsolver ノードに接続します。したがって、共有 IK ソルバ ノードのアトリビュートを編集すると、ノードに接続するすべての IK ハンドルがその影響を受けます。他の IK ハンドルに影響を及ぼさずに、特定の IK ハンドル用の IK ソルバだけを微調整する場合は、createNode MEL コマンドを使用して、IK ハンドル用の追加 IK ソルバを作成することができます。

シングル チェーン IK ハンドルと回転プレーン IK ハンドルの違い

シングル チェーン IK ハンドルと回転プレーン IK ハンドルの違いは、シングル チェーン IK ハンドルのエンド エフェクタが IK ハンドルの位置と方向に到達しようとするのに対して、回転プレーン IK ハンドルのエンド エフェクタは IK ハンドルの位置のみに到達しようとすることです。回転プレーン IK ハンドルのエンド エフェクタは、IK ハンドルの位置のみに到達しようとするため、その結果生じるジョイントの回転を容易に予想することができます。回転プレーン IK ハンドルの場合、ジョイント チェーン全体の方向はツイスト円形 マニピュレータによって制御されます。詳細については、「回転プレーン IK ソルバ」トピックの「ツイスト円形」の説明を参照してください。

注: ジョイント チェーンに反転の問題がある場合は、シングル チェーン ソルバの代わりに、回転プレーン ソルバを使用します。回転プレーン ソルバは、シングル チェーン ソルバで発生することがある IK チェーンの反転を制御するために、極ベクトルとともに導入されました。2 ボーン チェーンにシングル チェーン ソルバを使用することはお勧めしません。

IK ソルバの計算

IK ハンドルを移動する場合、ソルバは適切な計算を行って、それに応じて IK チェーン内の全ジョイントを移動し、回転させます。ソルバは、最初に IK ハンドルの位置(移動 X (Translate X)移動 Y (Translate Y)移動 Z (Translate Z) の各アトリビュート)と方向(回転 X (Rotate X)回転 Y (Rotate Y)回転 Z (Rotate Z) の各アトリビュート)を参照します。次に、ソルバは、エンド エフェクタの位置を可能な限り IK ハンドルの位置と方向の近くに移動する方法を計算します。そのために、ソルバはどのように IK ハンドルのジョイント チェーン内にあるジョイントを回転するのが最適かを計算します。最後に、ソルバは、エンド エフェクタが IK ハンドルの位置と方向に到達するように、ジョイント チェーン内の全ジョイントを回転させます。

関連項目