在播放动画时修改Gameobject的x位置 - Unity

时间:2017-02-12 20:55:24

标签: animation unity3d

我有一个带有动画控制器的游戏对象。游戏对象从屏幕底部移动到顶部,此移动由Y轴的动画控制。

我要做的是在X轴上随机移动它当这个动画在Y轴上移动时

我所做的是在这个主要动画中设置一些动画事件:

enter image description here

在这个事件中,我调用一个脚本,在2个位置之间移动对象:

public void RandomX ()
{
    var pos = transform.position;
    pos.x =  Mathf.Clamp(transform.position.x, -1.75f, 2.85f);
    print(pos.x);
}

但这不起作用。 Tha动画在X轴上没有任何修改。

提前感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:3)

动画会覆盖变换位置。要使您的对象受代码控制,您必须更改层次结构。

-object A with script controlling x position
     - object B with animation

现在您可以通过代码移动父对象A.动画仅控制对象B。