2017-05-04 100 views
0

我有一个行星在行走。我被这个星球的引力所吸引。玩家自动前进,您可以用A和D导航他。在Unity中的球体上行走时旋转立方体

当我实际按A或D时,我向左或向右移动,但仍然向前看。

我想旋转自己。

所以,当我按住按钮中的一个发生这种情况

enter image description here

我当前的代码如下这样:

private void Update() 
{ 
    moveDirection = new Vector3(data.InputHorizontal, 0, 1).normalized; // Always move forward and navigate with A and D 
} 

private void FixedUpdate() 
{ 
    rigid.MovePosition(rigid.position + transform.TransformDirection(moveDirection) * 15 * Time.deltaTime); // Move the Player 
} 

所以我的问题是,我不知道在哪里把我的轮换代码和写在那里的东西。有人可以帮我吗?

+0

你想旋转立方体?或者你想滚动它...(如骰子) –

回答

1

您需要用户输入数据到旋转的对象,然后在前进方向移动它:

private void Update() 
{ 
    moveDirection = new Vector3(data.InputHorizontal, 0, 1).normalized; 
    tranform.Rotate(Vector3.up * data.InputHorizontal); 
} 

private void FixedUpdate() 
{ 
    rigid.MovePosition(rigid.position + transform.forward * 15 * Time.deltaTime); 
} 

希望这有助于

+0

是的,就是这样! :)谢谢 – Question3r

+1

本例中不再需要'moveDirection'。如果你不在其他地方使用它,你可以删除它。 –