Direction:向量方式,例如( 1, 0, 0 )表示面向正左方。
EulerAngles:尤拉角(由拉角、歐拉角)方式,例如( 0, 180, 0 )表示面向正後方。
Qaternion:四元數。
Direction和EulerAngles都很好理解,而Qaternion即使我能理解它的原理,但還是不擅使用。
偏偏有不少關於方向的使用都得是Qaternion型式,所以轉換就很重要。
Direction轉換成Qaternion,可以使用Qaternion.LookRotation:
Qaternion LookRotation( Vector3 forward, Vector3 upwards = Vector3.up );例如Qaternion rotation = Qaternion.LookRotation( new Vector3( 1, 0, 0 ), Vector3.up );
EulerAngles轉換成Qaternion,可以使用Qaternion.Euler:
Quaternion Euler( float x, float y, float z );例如Quaternion rotation = Quaternion.Euler( 0, 30, 0 );
這樣當需要使用Quaternion時,我就可以用這些方式去轉換了。
沒有留言:
張貼留言