膝と肘を反転する

HumanIK では、ランタイムにキャラクタの新しいポーズを作成するときに、2 つの異なる方法のいずれかを使用してキャラクタの膝と肘の曲がる向きを設定できます。

 

左の図に示すように、通常の人間のように膝と肘を曲げることができます。

これは HumanIK で使用するデフォルトの関節の曲げ方です。

 

また、左の図に示すように、膝と肘を逆方向に曲げることもできます。

このオプションは、鳥の脚や、犬、猫、馬などの四足動物の後脚のように動く脚を持つキャラクタを作成するときに最もよく使用されます。

キャラクタの肘と膝のぞれぞれの曲げ軸を個別に設定することができます。

ジョイントを反転する

キャラクタのジョイントを反転するには、HIKInverseJoint 関数を呼び出します。

例:

HIKInverseJoint(MyCharacter, HIKLeftKnee, 1);
HIKInverseJoint(MyCharacter, HIKRightKnee, 1);

ジョイントの反転をテストする

ジョイントが反転しているかどうかを判断するには、HIKIsJointInverted 関数を呼び出します。

例:

if (HIKIsJointInverted(MyCharacter, HIKLeftKnee) == 0)
{ 
   ...   // the joint uses the default bending direction 
}
if (HIKIsJointInverted(MyCharacter, HIKLeftKnee) != 0)
{ 
   ...   // the joint is inverted 
}

キャラクタのストリーミングと保存を行う

キャラクタのジョイントの反転は、HIKWriteToStream() 関数を使用してキャラクタをバイナリ ストリームに書き出したときには含まれますが、HIKSaveCharacter() 関数を使用してキャラクタをファイルにダンプしたときには含まれません。