ソース キャラクタとターゲット キャラクタのサイズが異なる場合は、リターゲット指定(Retarget Specific)を調整してリターゲッティング結果を微調整できます。
このファイルは、Maya プロジェクトとして設定した GettingStartedMaya2013LessonData¥HumanIK フォルダにあります。
ターゲット キャラクタ(Pepe)とソース キャラクタ(WalkExample)の 2 つの HumanIK 定義キャラクタが Maya シーンに表示されます。
既定では、ターゲット キャラクタ(Pepe)は独自のアクション空間内(キャラクタがモーションを実行する場所)で動作し、ソース キャラクタとターゲット キャラクタ間のスケールの違いが自動的に補正されます。ただし、この例では、Pepe の足の比率も異なっていますが、リターゲッティングではこれを考慮しません。これは、Pepe の足が WalkExample の足よりも長いため、リターゲッティングの結果に影響するためです。たとえば、フレーム 1 で Pepe の右足は地面を突き抜けており、歩幅は非常に短くなっています。
ソース キャラクタとターゲットとキャラクタ間のスケールと比率の違いを考慮するために、いくつかのリターゲット指定(Retarget Specific)を調整できます。
ソースの一致(Match Source)プロパティを使用するには
このプロパティをオンにすると、ターゲット キャラクタをソース キャラクタのアクション空間内で動作させ、ソースの IK ブレンド ゴールに伸ばすことができます。
既定では、Pepe のヒップと足の IK ブレンド(IK ブレンド T (IK Blend T)および IK ブレンド R (IK Blend R))は 1.00 に設定されています。これは、これらのボディ パーツが WalkExample のボディ パーツに向かって伸ばされること意味します。
その結果、ヒップと足が伸びて WalkExample の位置に一致します。 ただし、Pepe の足が WalkExample と同じ位置に置かれると、Pepe の歩幅が大きくなりすぎて、リアリティーがなくなります。スケールを増やすと、Pepe は大幅に大きくなり、手が WalkExample の手の位置にぴったり一致します。これは、ソース キャラクタの IK ブレンド ゴールがターゲット キャラクタのスケールに応じて別々に伸ばされたことを示しています。
このアトリビュートでは、正確な値を設定して、ソース キャラクタとターゲット キャラクタのサイズの相違を補正するためのリターゲットのスケール値を決定できます。
ターゲット キャラクタの位置を決定するとき、ソース キャラクタが実行する全動作のサイズに対する割合としてこの値が適用されます。値が大きいほど、キャラクタの歩幅は大きくなります。この値が小さいほど、歩幅は小さくなります。
アクション空間補正(Action Space Compensation)の値が小さいので、Pepe の歩幅は非常に短いままです。
既定の自動(Auto)設定を維持する代わりに、ユーザ(User)定義の値を適用すると、Pepe の歩幅は大幅に長くなります。この改善は、フレーム 54 で確認できます。
このアトリビュートだけを設定することで、良いリターゲッティング結果が得られました。歩幅を修正したので、良いリターゲッティング結果を実現するために役立つ他のプロパティに注目できます。
既定では、Auto (自動)モードで足と床の関係が正しくなるようにします。Off (オフ)に設定すると、足首の高さ補正は無効になります。User (ユーザ)に設定すると、足首の高さ補正(Ankle Height Compensation)値を設定してモデルの足と床の間の距離を手動で調整できます。
この値はキャラクタの足と床の距離を調整します。高さに関する特殊な条件がある(たとえば、かかとの高い靴やブーツを履いている)場合や、キャラクタの足が大きい場合に、この値はよく調整されます。