我想让一个立方体旋转不超过60度,所以它不能旋转得更多我试图用这个
if(gameObject.GetComponent<Transform>().rotation.x >= 60 || gameObject.GetComponent<Transform>().rotation.x <= -60 || gameObject.GetComponent<Transform>().rotation.z >= 60 || gameObject.GetComponent<Transform>().rotation.z <= -60)
{
gameObject.GetComponent<Transform>().rotation = new Quaternion(0, 0, 0, 0);
}
检查旋转。它没有用,所以我打印了x坐标中旋转的方向
它说坐标如下:5.98324、7.39842,-1.983495
而且我只是移动x位置而不是旋转,它改变了它。
那么,如何获得在组件变换中所表示的x旋转?
您对旋转的欧拉角感兴趣,而不是旋转的四元数分量。您应该首先引用transform.eulerAngles.x
而不是transform.eulerAngles.x
或transform.rotation.x
而不是transform.eulerAngles.z
。
顺便说一句,最好是尽可能少地拨打transform.rotation.z
,因为这是一项昂贵的操作。您应该调用一次并将结果分配给这样的变量:
GetComponent