在Unity中的球体上行走时旋转立方体

时间:2017-05-04 20:03:52

标签: c# unity3d

我有一个行星要走了。我被行星的引力所吸引。玩家自动向前移动,您可以使用A和D导航他。

当我实际按下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
}

所以我的问题是,我不知道在哪里放置我的旋转代码以及在那里写什么。有人可以帮助我吗?

1 个答案:

答案 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);
}

希望这会有所帮助