C# 具有锚定位置的Unity动画师问题

C# 具有锚定位置的Unity动画师问题,c#,unity3d,animator,C#,Unity3d,Animator,我目前与Unity Animator有一个问题,我还没有找到解决方案。我正试图通过Unity Animator的锚定位置来设置UI对象的位置动画。即使我选中了“应用根运动”(Apply Root Motion)复选框,当动画结束时,它会返回到其原始位置,而不是保持已更改的位置。 我通过脚本中的触发器激活动画,所有的脚本逻辑都运行良好。预期的行为就像您在gif中看到的一样,但是移动连接器,而不是返回其原始单元格 我试着给父母和孩子制作动画,重拍动画,重拍动画师,等等,但是到目前为止没有任何效果,我

我目前与Unity Animator有一个问题,我还没有找到解决方案。我正试图通过Unity Animator的锚定位置来设置UI对象的位置动画。即使我选中了“应用根运动”(Apply Root Motion)复选框,当动画结束时,它会返回到其原始位置,而不是保持已更改的位置。 我通过脚本中的触发器激活动画,所有的脚本逻辑都运行良好。预期的行为就像您在gif中看到的一样,但是移动连接器,而不是返回其原始单元格

我试着给父母和孩子制作动画,重拍动画,重拍动画师,等等,但是到目前为止没有任何效果,我不知道下一步该怎么做,我需要一些帮助

谢谢你的回答!我会回答任何必要的问题

当前状态Gif:

动画师截图:


我无法确定为什么应用根运动的
没有正常工作,但您可以用另一种方法解决这个问题

  • 创建3个具有锚定位置的动画,一个位于起始位置,一个用于从第一个到结束位置的过渡,以及结束位置

  • 开始动画和结束动画应该循环,而对于转换动画,可以取消选中动画检查器中的
    循环

  • 在animator中,将startpos设置为默认状态,并使用触发器创建到移动动画的过渡。然后添加一个从该动画到空闲结束位置的过渡,没有任何条件,只是
    有退出时间
    设置了最后一个动画将播放的时间


  • 这样,它应该可以正常工作,如果你想回到第一个位置,你可以添加另一个带有触发器的过渡到开始位置或任何你喜欢的位置。

    这种方法的问题是,我有多个动画(每个方向一个,可能是一个单元格),它们必须链接才能到达该单元格。我有这个系统,但遗憾的是,我不知道如何将它与您提出的解决方案合并。您可以创建一个带有方向的新混合树,而不是使用我的过渡动画,因此即使使用此方法,它也可以正常工作