unity中的旋转

来源:互联网 发布:2017年时代网络诗人奖 编辑:程序博客网 时间:2024/05/24 06:48

欧拉角与四元数:

 Debug.Log(transform.rotation);//四元数 Debug.Log(transform.eulerAngles);//欧拉角,物体面板上的rotation

旋转方法:

transform.rotation = Quaternion.AngleAxis(30, Vector3.right);//绕x轴旋转30,面板为30,0,0transform.rotation = Quaternion.AngleAxis(30, Vector3.up);//绕y轴旋转30,面板为0,30,0transform.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)));