Unity 面试知识点之Rotation

1  rotation (localRotation)

   四元数,不会造成万向锁

   

transform.rotation=Quaternion.Euler(new Vector3(anglex,angley,anglez))

2 eulerAngles(localEulerAngles) 

直接欧拉角赋值

transform.eulerAngles=new Vector3(anglex,angley,anglez)

3 Rotate  旋转函数

  void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);

transform.Rotate(Vector3.right * Time.deltaTime); 绕自身X轴旋转 
transform.Rotate(Vector3.up * Time.deltaTime, Space.World); 绕世界Y轴旋转

void Rotate(float xAngle, float yAngle, float zAngle, Space relativeTo = Space.Self);

transform.Rotate(Time.deltaTime, 0, 0);绕自身X轴旋转 
transform.Rotate(0, Time.deltaTime, 0, Space.World); 绕世界Y轴旋转

void Rotate(Vector3 axis, float angle, Space relativeTo = Space.Self);按照angle度围绕axis轴旋转变换。

transform.Rotate(Vector3.right, Time.deltaTime);绕自身X轴旋转 
transform.Rotate(Vector3.up, Time.deltaTime, Space.World);绕世界Y轴旋转

4 RotateAround  围绕轴旋转

void RotateAround(Vector3 point, Vector3 axis, float angle); 围绕世界坐标的point点的axis旋转该变换angle度。 

 transform.RotateAround(Vector3.zero, Vector3.up, Time.deltaTime);

 

上一篇:Unity相机跟随小结


下一篇:unity FPSDisplay