所以基本上我想让一个预制件(一只猫)爬上墙,我想用基本的根运动动画来做。由于我是团结的新手并且是我第一次这样做,所以我决定在没有任何复杂动画的情况下进行一些测试,据说,我做了一个简单的动画,只是在动画片段中移动猫预制件猫正在+ z轴上移动一米。
当我在没有" Root Motion"的情况下播放动画时复选框检查它工作正常,但当我播放它与根运动激活(顺便说一下,我检查根运动复选框,我点击"生成根运动曲线")它播放不同办法。而不是在+ z轴上移动,在-Z上移动的距离越短,时间越短,在+ y轴上移动距离越短(我忘了提到我在y轴上移动了预制件)同样,模拟一个非常基本的"跳跃"可以这么说。我正在使用动画师在游戏开始时将动画触发,并且动画设置为循环播放。
为什么会这样做以及如何修复它以便动画以根运动播放,就像没有" Root Motion"选中复选框?我做错了什么?
答案 0 :(得分:1)
问题不在于你的动画。问题是Root Motion使用动画来计算运动。
如果您的脚本告诉猫移动,并且根运动告诉猫移动,则会发生冲突。使用根运动时,注释掉脚本中告诉玩家移动一米的部分。
这应该允许统一进行计算并相应地移动预制件。有关详细说明,请参阅https://docs.unity3d.com/Manual/RootMotion.html