我是Unity3d的新手, 我希望我的平台只在x轴上移动, 但是当我运行游戏时,我可以看到x和z方向的变化,而不是向左移动,物体向左和向上移动。
这是我的代码:
protected virtual void Update () {
transform.Translate(Vector3.left * (objectSpeed * Time.deltaTime));}
如果我在简单的立方体上应用此代码,它可以正常工作(仅限左侧), 但当我将它应用于我的物体时 - 它会向左和向上移动。这是我的目标:
答案 0 :(得分:3)
您正在使用transform.Trnaslate
移动对象。它使用relativeTo
的默认值,即Space.Self
。这意味着,它将转换对象相对于其旋转的位置。您的对象在y轴上轻微旋转,这会导致问题。将relativeTo
设置为Space.World
或将对象的旋转设置为0。