【Unity】アニメーションのループ時に座標が元に戻ってしまう件の対応

どうも、だらはです。

今回は、アニメーションのループ時に座標が元に戻ってしまう問題が解決しましたので、その対策方法をまとめます。

現象の再現環境としては以下の通りです。

  • MixamoからDLしたモデルをUnityにインポート
  • RigGenericからHumanoidに変更

スポンサーリンク

解決方法

解決方法はとても簡単。

Animationの「Root Transform Position(XZ)」のチェックを外すと解決します。

◆参考画像

この「Root Transform Position(XZ)」は、チェックを入れるとアニメーションによるXZ軸座標の基準点の変化が無くなります。
つまり、スクリプトから位置を制御したい場合はチェックを外す必要があります。
これは、「Root Transform Position(Y)」も同様ですので覚えておくと良いです。

最後に

いかがでしたでしょうか。
Root Transform Position(XZ)」はRigGenericだと出てきません。
私はずっとGenericで試していましたが、問題が解決ができなかったのでHumanoidに変更して対応しました。
もし人型のオブジェクトで本現象に悩んでいる方は、GenericからHumanoidに変更して対応してみてはいかがでしょうか。
エラー対策方法は以下にまとめ済みです。

◆GenericからHumanoidに変更するとエラーになる件の対応

以上、だらはでした。

スポンサーリンク

応用

Posted by daraha_gm