Quaternion.LookRotation () Quaternion.Euler() 的区别

1.

面板显示的是物体的局部坐标系旋转,(0 ,0, 90) 是Z轴 旋转90度,(没有父亲物体时 世界坐标 = 局部坐标 )


using UnityEngine;

public class A : MonoBehaviour {

public Vector3 S = new Vector3(0,0,1);

void Update (){

      //当看向某个方向时,求出看向这个方向的四元素的角度值,局部坐标而言(物体可以认为都显示的局部坐标)

      Quaternion a = Quaternion.LookRotation  //(S)调用返回----四元素()  根据一个向量得到-这个向量基于原点的旋转角度

      transform.rotation = Quaternion.Lerp (transform.rotation, a, 0.02f);    // new Vector3(0,0,1) -----(0,0,90)  向量对应的旋转角度 ---Z轴旋转了90 度

 }

}


using UnityEngine;

public class A : MonoBehaviour {

public Vector3 S = new Vector3(0,0,1);

void Update (){

    Quaternion a = Quaternion.Euler(S);  // (0,0,1) 这个角度对应的四元素的  -----Z 轴机会没有旋转

      transform.rotation = Quaternion.Lerp (transform.rotation, a, 0.02f);   

 }

}


猜你喜欢

转载自blog.csdn.net/july_unity/article/details/80892448