导入动画资源到项目中,Animator播放角色动画片段,角色会跟随着动画播放移动,但我只想要角色在原地播放动画。比如:播放一个角色Run动画,希望角色在原地奔跑,而不是产生了移动距离。
问题排查:
1.是否勾选了Animator-ApplyRootMotion选项。勾选的情况可能会导致移动。
2.检查RootTransform Rotation。按照图中勾选尝试。
如果没有上述选项,请打开Rig->设置AnimationType为Humanoid。
3.勾选LoopPose.
- Loop Pose 会强制将动画的 首尾帧姿态对齐,消除循环播放时的位移累积
- 即使动画原始数据在 XZ 平面上有位移差,勾选后 Unity 会自动补偿修正
通过上述三种方式尝试让动画在原地播放。
(如何错误请各位海涵和指正 ^_^)