【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用のアニメーションを流用できるようにするため、
RigをHumanoidに設定し、[Root Transform Position]をデフォルトの値から修正することをお勧めいたします。
以上、だらはでした。
ディスカッション
コメント一覧
まだ、コメントがありません