为什么Object会自行移动?

时间:2017-05-16 19:01:43

标签: c# unity3d

我是Unity3d的新手, 我希望我的平台只在x轴上移动, 但是当我运行游戏时,我可以看到x和z方向的变化,而不是向左移动,物体向左和向上移动。

这是我的代码:

    protected virtual void Update () {
    transform.Translate(Vector3.left * (objectSpeed * Time.deltaTime));}

如果我在简单的立方体上应用此代码,它可以正常工作(仅限左侧), 但当我将它应用于我的物体时 - 它会向左和向上移动。这是我的目标:

enter image description here

1 个答案:

答案 0 :(得分:3)

您正在使用transform.Trnaslate移动对象。它使用relativeTo的默认值,即Space.Self。这意味着,它将转换对象相对于其旋转的位置。您的对象在y轴上轻微旋转,这会导致问题。将relativeTo设置为Space.World或将对象的旋转设置为0。

以下是Unity Documentation.

中的更多信息