欧拉角与四元数:
Debug.Log(transform.rotation);//四元数
Debug.Log(transform.eulerAngles);//欧拉角,物体面板上的rotation
旋转方法:
transform.rotation = Quaternion.AngleAxis(30, Vector3.right);//绕x轴旋转30,面板为30,0,0
transform.rotation = Quaternion.AngleAxis(30, Vector3.up);//绕y轴旋转30,面板为0,30,0
transform.rotation = Quaternion.AngleAxis(30, Vector3.forward);//绕z轴旋转30,面板0,0,30
围绕自身旋转:
transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.Euler(new Vector3(30, 0, 0)), Time.deltaTime);
transform.Rotate(new Vector3(0, 10, 0),Space.Self);//围绕自身轴旋转
3D游戏中视角旋转
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
if (Input.GetMouseButton(0))
{
if (Mathf.Abs(mouseX) > Mathf.Abs(mouseY))
transform.eulerAngles += new Vector3(0, mouseX, 0);
else
transform.eulerAngles += new Vector3(-mouseY, 0, 0);
}
实例化物体时旋转
GameObject.Instantiate(m, new Vector3(1, 1, 1), Quaternion.Euler(new Vector3(0, 30, 0)));