馬は、バク、シマウマ、アジアロバ、チベットロバ、サイのような奇蹄類です。
このページでは、馬やその他の同様のスケルトンをHumanIK で使用するためにどのようにキャラクタライズしたらよいのか、いくつかの提案を記載しています。馬をキャラクタライズする方法は数多くある点に注意してください。下記の提案は独自のキャラクタでの使用が適切な場合もありますし、適切でない場合もあります。
このページに提案されているものが実際に動くデモンストレーションを見るには、HumanIK SDK に含まれている Quadrupeds サンプルを実行します。<HumanIK_installation_folder>/solutions/<platform_and_toolset> の HIKSamples.sln ソリューションはプロジェクトとサンプルのソース コードを統合します。詳細については、「 HumanIK のサンプル」を参照してください。
また、<HumanIK_installation_folder>/data/molecule/scenes で Quadrupeds.fbx ファイルを参照してください。
キャラクタのニュートラル スタンスは、「Quadruped に HumanIK を使用する」のページで概説されている Quadruped のニュートラル スタンスの要件をすべて満たさなければなりません。
馬の後脚を HumanIK ノードにマッピングするときは、膝と距骨(足首のボーン)を混同しないことが重要です。
IK ソルバによって後脚に生成されるポーズの全体的な印象を改善するには、通常は IK ソルバ中に後脚が完全に伸びた状態まで開かないようにすることが最善の方法です。これを行うには、キャラクタの HIKPropertySetState で脚の最大伸長の値を小さくすることができます。馬に適した値は通常、約 150 度です。
HIKSetPropertyValue(props, HIKLeftLegMaxExtensionAngle, 150.0f); HIKSetPropertyValue(props, HIKRightLegMaxExtensionAngle, 150.0f);
現実の世界では、馬の肘と手根骨(手首)を混同することはありません。しかし、HumanIK キャラクタライゼーション用に、意図的に手根骨を手首ノードにマップした場合に IK ソルバがキャラクタに対してより良いポーズを生成することがあります。
HIKInverseJoint(character, HIKLeftElbow, 1); HIKInverseJoint(character, HIKRightElbow, 1);