【Unity】足の動きがおかしくなる⁉アニメーションのGenericとHumanoidを検証しました。

どうも、だらはです。
今回は3Dモデルが無料でダウンロードできるサイト「Mixamo」からモデルをダウンロードしたのですが、

どうにも足の動きがおかしい。

という事で、アニメーションの設定[Generic][Humanoid]について検証してみました。

◆Mixamoについてはこちらの記事を参照

スポンサーリンク

検証内容

以下の組み合わせでアニメーションの挙動を比較しました。
なお、物体の位置はスクリプトで管理したいので「Apply Root Motion」のチェックは外してあります。

組み合わせ Avatar Animation 結果
1 Generic Generic ??
2 Generic Humanoid ??
3 Humanoid Generic ??
4 Humanoid Humanoid ??

因みに実行前の画面は以下の通りです。
人型のスケルトンが、剣を振り被るような挙動をします。
一番先頭のスケルトンが狙いの動きです。

◆実行前

そして、実行結果が以下の通りです。
[Generic][Generic]の場合だけ狙いの挙動となりました。
[Humanoid][Humanoid]は動きましたが、変な方向に動いてしまいました。

◆実行後

まとめると以下のようになります。

組み合わせ Avatar Animation 結果
1 Generic Generic 狙い通りの動きとなった。
2 Generic Humanoid 動かない。
3 Humanoid Generic 動かない。
4 Humanoid Humanoid 変な方向に動く。

因みにですが、[Humanoid][Humanoid]のパタンで何故動かないのかを調べたら答えが出ました。
Animation[Root Transform Position]に関する設定が不適でした。
図のように各所にチェックを入れ、Originalに設定すると狙い通りの動きになることを確認しました。
※Root Transform Position(Y, XZ)のチェックを入れるかは要検討。アニメーションの動きをよく見て決めてください。

最後に

いかがでしたでしょうか。
今回はアニメーションのRigをHumanoidに設定しても正しく動いてくれない件について調査しました。
結論、[Root Transform Position]の設定が不適だということが分かりました。
Humanoid用のアニメーションを流用できるようにするため、
RigHumanoidに設定し、[Root Transform Position]をデフォルトの値から修正することをお勧めいたします。

以上、だらはでした。

スポンサーリンク

応用

Posted by daraha_gm