インパラ、ガゼル、その他のレイヨウをキャラクタライズする

オリックスやブラックバックと同様に、インパラとガゼルは偶蹄類です。一般的な言葉で言えば、レイヨウに該当します。敏捷性、柔軟性、優雅さが特徴です。

このページでは、レイヨウのスケルトンをHumanIK で使用するためにどのようにキャラクタライズしたらよいのか、いくつかの提案を記載しています。レイヨウをキャラクタライズする方法は数多くある点に注意してください。下記の提案は独自のキャラクタでの使用が適切な場合もありますし、適切でない場合もあります。

Quadruped の例

このページに提案されているものが実際に動くデモンストレーションを見るには、HumanIK SDK に含まれている Quadrupeds サンプルを実行します。<HumanIK_installation_folder>/solutions/<platform_and_toolset>HIKSamples.sln ソリューションはプロジェクトとサンプルのソース コードを統合します。詳細については、「 HumanIK のサンプル」を参照してください。

また、<HumanIK_installation_folder>/data/molecule/scenesQuadrupeds.fbx ファイルを参照してください。

ニュートラル スタンス

キャラクタのニュートラル スタンスは、「Quadruped に HumanIK を使用する」のページで概説されている Quadruped のニュートラル スタンスの要件をすべて満たさなければなりません。

後脚

ボーンのマッピング

現実の世界では、インパラの膝と距骨(足首の骨)を混同することはありません。しかし、HumanIK キャラクタライゼーション用に、意図的にスケルトンの膝を足首ノードにマップした場合に IK ソルバがキャラクタに対してより良いポーズを生成することがあります。

  • チェーンの一番上のジョイントは LeftHipNodeId および RightHipNodeId にマップする必要があります。
  • 距骨(足首)のジョイントは LeftKneeNodeId および RightKneeNodeId にマップする必要があります。これらのジョイントは、正しい方向に曲がるようにするために、反転させなければなりません。
    HIKInverseJoint(character, HIKLeftKnee, 1); 
    HIKInverseJoint(character, HIKRightKnee, 1);
  • 蹄の裏の方向をコントロールするチェーンの最後のジョイントは、LeftFootNodeId および RightFootNodeId にマップする必要があります。
  • この最後のジョイントの直前のジョイントは LeftAnkleNodeId および RightAnkleNodeId にマップする必要があります。
  • スケルトンの距骨とチェーンの最後から 2 番目のこのジョイントの間にその他のジョイントがある場合、そのジョイントはノードにマップしません。

このキャラクタライゼーションのアプローチにより脚の柔軟性が向上します。

その他の推奨事項

IK ソルバによって後脚に生成されるポーズの全体的な印象を改善するには、通常は IK ソルバ中に後脚が完全に伸びた状態まで開かないようにすることが最善の方法です。これを行うには、キャラクタの HIKPropertySetState で脚の最大伸長の値を小さくすることができます。インパラに適した値は通常、約 160 度です。

例:

前脚

ボーンのマッピング

インパラは、長くスリムな前脚を備えた優雅な動物です。インパラの前脚には、HumanIK によって認識される完全なジョイント チェーンをキャラクタライズすることをお勧めします。

このキャラクタライゼーションにより、特に四肢の上部パーツについて、前肢の柔軟性が最大限に発揮されます。