Unity-动画将游戏对象移动到生成位置的外面?

6

好的,这很令人沮丧,但是我已经在预制体上创建了一个动画循环,然而,在预制体被生成后,动画(即位置/旋转的变化)会使预制体远离生成的位置。

例如,如果我的预制体在原点生成,由于我在动画时放置预制体的位置,它会在那个位置上进行动画。

我需要我的预制体运行动画,但是在它生成的地方,而不是我动画原始预制体的地方。我该如何解决这个问题?我做错了什么吗?

我使用Unity的动画器进行动画制作。


听起来你的动画使用的是绝对定位而不是相对定位,但我不确定在Unity中是否存在这种情况...我没有任何经验。 - Charleh
你能否提供一下你动画窗口的截图吗?听起来你在动画中意外地包含了变换位置。 - bpgeck
2个回答

3

在动画器中取消勾选 "应用根运动"。这将防止动画器移动该对象。该对象将仅使用您的代码进行移动。


1
这个答案应该被标记为已接受..取消选中“应用根运动”对我有帮助。谢谢 :) - Nihal Chandwani

2

在Unity动画中,这是一个常见的错误。

当你需要同时从代码中改变位置和动画位置时,就会出现这种情况。

在这种情况下,最简单的解决方法是将视觉元素移动到一个子游戏对象中,并对该对象的位置进行动画处理。现在你可以从代码中改变“父级”游戏对象的位置,同时仍然在“子”游戏对象上进行加法动画。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接