预制件已实例化但动画未在给定位置发生

Prefab instantiated but animation not occuring at given position

我正在统一制作一个 2d 无尽的跑酷游戏。

因为我有一个障碍物,它在一个空的游戏对象中有一个 sprite 并且有一个动画组件。

我把这些障碍物做成了预制件,想在不同的位置通过代码实例化。

所以我用

Instantiate(Resources.Load("myPrefabsName") , new Vector3(0, ypos, -5), Quaternion.identity);

ypos 是一个存储了 y 坐标的浮点数。

现在这段代码可以工作了,但问题是预制件在动画完成的位置实例化并执行它的动画。

我的意思是当我制作动画时,我将它的位置从 (0,0,-5) 移动到 (6,0,-5)。

效果很好,但因为我在差异位置实例化(即(0,ypos,-5)) 它不存在于 (0, ypos, -5) 但存在于 (0,0,0) 动画朝向 (6,0,0).

如何让它从 (0, ypos, -5) 到 (6, ypos, -5) 动画化?

听起来你的根对象也是动画的(包括位置数据)。您通常可以修复它,将它作为根添加到另一个游戏对象,不会被动画化。