我有一个不应该旋转的刚体,但是,它是。 Unity C#

时间:2015-08-08 11:14:49

标签: c# unity3d rotation

我有这段代码 -

void FixedUpdate () {


    if(Input.GetKey(KeyCode.UpArrow)){

        GetComponent<Rigidbody>().AddForce(Vector3.forward * Speed);

    }
    else if(Input.GetKey(KeyCode.DownArrow)){

        GetComponent<Rigidbody>().AddForce(-Vector3.forward * Speed);
    }

    else if(Input.GetKey (KeyCode.RightArrow)){

        GetComponent<Rigidbody>().AddForce(Vector3.right * Speed);
    }

    else if(Input.GetKey(KeyCode.LeftArrow)){

        GetComponent<Rigidbody>().AddForce(-Vector3.right * Speed);
    }


}
}

这是一个带有刚体组件的立方体。 当我处于场景模式时,我可以看到在Transform中,所有轴的旋转都是0。然而,当我切换到播放模式时,我看到立方体突然转动并开始旋转而不是在相同的位置移动。 如何解决这个问题,它不会旋转? 谢谢

1 个答案:

答案 0 :(得分:0)

看看检查员。 Rigidbody组件中存在“约束”。检查x,y和z的“freze rotation”。