Unity的Trans.Translate在x上进行平移时在z轴上移动

时间:2016-09-05 20:39:33

标签: c# unity3d orientation

Unity中的翻译功能在我今天的项目中显示出一些奇怪的行为,这是我以前从未体验过的。当我尝试使用Vector3.leftnew Vector3(-1, 0, 0)向左翻译我的播放器时,它在Z轴上也会变为-1。当我向右移动时也是如此,在这种情况下,它在Z轴上移动+1。

我尝试过很多事情,包括:

  • transform.Translate(-1, 0, 0);
  • transform.Translate(Vector3.left);
  • `transform.position + = Vector3.left;'
  • transform.position = new Vector3(transform.position.x-1, transform.position.y, transform.position.z);
  • 我甚至尝试过像`transform.Translate(-1,0,1);'没有成功
  • 问题不在于方向。 Space.world或默认RelativeTo参数Space.self无法修复。

任何人都可以帮我进一步解决这个问题吗?我没有想法......

1 个答案:

答案 0 :(得分:0)

使用

transform.Translate(Vector3.right * Input.GetAxis("Horizontal"));
transform.Translate(Vector3.up * Input.GetAxis("Vertical"));

代替