はじめに
この記事はHamster Output Advent Calendar 2024の19日目の記事です!
Timelienを使ってAnimationの再生を行っている時に座標が中心に戻されることがあり、解決に少し時間がかかったのでメモ書きとして記事にしたいと思います。
結論
TrackOffsetsの設定をAutoに設定すると座標が戻されなくなる!
解決までに試したこと
座標移動がおかしい...という部分で最初はAnimatorの設定が変なのかなのと思い、設定を見直しました。
・AnimatorのApplyRootMotionのチェックを外す
Animation 座標が移動するという内容を検索すると大体この設定項目をoffにする内容がでてきます。今回の場合、元からoffになっていたので違いました。
・AnimationのBakeIntoPose(X,Y,Z)の設定にチェックが入っていない
Animationクリップの設定にある、BakeIntoPoseも座標移動に関係があるみたいでチェックを入れると治る場合がある見たいです。ただ、今回の場合は関係なかったです。
・TimelineのWrapModeの設定
といっても、WrapModeは座標というよりかはTimelineの最後の再生状態を維持したり、ループ再生したりなど座標に関連するものではなかったので違いました。
・TimelineのTrackOffsetsの設定
最初の結論にも書きましたが、犯人はコイツでした。
TrackOffsetsには3つの設定があり、それぞれが座標に関連する設定で
・ApplyTransformOffsets
Animationの座標を基準に再生する(これがワープの原因だった)
・ApplySceneOffsets
キャラクターの現在の座標を元に再生する(アニメーションでずれた座標と現在値が同じになる)
・Auto
現在の座標に合わせてくれる
まとめ
犯人はTimelineのTrackOffsetだった