播放动画时修改游戏对象的 x 位置 - Unity

Nac*_*uel 1 animation unity-game-engine

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

我想做的是在 X 轴上随机移动它,而这个动画在 Y 轴上移动它

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

在此输入图像描述

在这种情况下,我调用一个脚本,在 2 个位置之间移动对象:

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

但这是行不通的。动画播放时 X 轴没有任何修改。

预先感谢您提供的任何帮助

Eve*_*rts 5

动画会覆盖变换位置。为了让您的对象由代码控制,您必须更改层次结构。

-object A with script controlling x position
     - object B with animation
Run Code Online (Sandbox Code Playgroud)

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