エフェクタの配置

概要」で説明しているように、HumanIK はインバース キネマティクスの計算中に、キャラクタのスケルトンのさまざまなパーツのゴール ポイントを表すために、エフェクタのセットを使用します。これらのエフェクタのほとんどは、HIKCharacterState で定義された特定のノードに対応します。たとえば、LeftWristEffectorId を配置し、Reach と Pull の値をそのエフェクタに割り当てると、インバース キネマティクス ソルバは LeftWristNodeId をそのエフェクタの位置にトランスレーションしようとします。

これらのエフェクタの完全リストについては、humanik.h ファイルの HIKEffectorId 列挙値を参照してください。列挙値で各エフェクタに対応するノードは、次の例外を除いて、命名規則から明らかである必要があります。

特定のノードに関連しない 2 つのエフェクタもあります。HipsEffectorId および ChestEndEffectorId です。これらの各エフェクタは、キャラクタがデフォルトの T スタンスで立っているときに、他のノードの位置から計算されるキャラクタのスケルトン上の位置に代わりに対応します。

キャラクタのヒップまたは胸の中心がおおよそこれらの位置にない場合、インバース キネマティクスおよびリターゲット ソルバによって生成された、スタンスでのヒップと肩の位置は、予想とは少し異なることがあります。ただし、HIKHipsTOffsetXIdHIKHipsTOffsetYIdHIKHipsTOffsetZIdHIKChestTOffsetXIdHIKChestTOffsetYIdHIKChestTOffsetZId の各キャラクタ プロパティを使用して、キャラクタの HIKPropertySetState の各軸に沿ってオフセットを適用し、これらのエフェクタのデフォルトの配置をコントロールできます。詳細は、「キャラクタ プロパティ」および「全般プロパティ」を参照してください。