IK コンストレイン

HumanIK には、IK コンストレイン セットを通じてインバース キネマティックス ソルバによって生成されるポーズに対する詳細なコントロールが用意されています。以下を参照してください。

概要」および「データ フロー」で説明したように、インバース キネマティックス ソルバを呼び出すときは、各キャラクタのジョイントごとに IK ゴール ポイントを定義する HIKEffectorSetState を指定する必要があります。この HIKEffectorSetState の各エフェクタには、上記に示した IK コンストレインの設定が含まれています。これらのコンストレインは、インバース キネマティックス ソルバに対して、エフェクタの扱い方に関する追加の指示を与えます。

インバース キネマティックスに IK コンストレインを使用する

HumanIK API で関数を呼び出すと、インバース キネマティックス ソルバに対して指定する HIKEffectorSetState で直接各エフェクタの IK コンストレインの値を設定できます。

用意されている関数のリストについては、「インバース キネマティックス ソルバ」を参照してください。

IK コンストレインとリターゲットを使用する

HumanIK リターゲット ソルバを呼び出すときに実行される最後の手順は、インバース キネマティックス ソルバを呼び出して IK パスを実行し、位置を確定することです。これを実行するため、インバース キネマティックス ソルバに提供する HIKEffectorSetState が内部的にビルドされます。

この HIKEffectorSetState を操作することはできないので、エフェクタに対して直接 Reach、Pull、Resist の値を設定することはできません。代わりに、ターゲット キャラクタの HIKPropertySetState で特定のキャラクタ プロパティの値を設定し、キャラクタの四肢に対する Reach、Pull、Resist の値をリターゲット ソルバに提供します。リターゲット ソルバが、インバース キネマティックス ソルバに渡す HIKEffectorSetState をビルドするときは、それらの値を HIKPropertySetState から取得し、その値を使用して HIKEffectorSetState で IK コンストレイン値を設定します。

詳細については、「リターゲットのソルビング」、「キャラクタ プロパティ」、および「リターゲットに固有のプロパティ」を参照してください。