在Unity裏頭的rotation,是一個相當複雜的概念。
直覺來說,我們會想說在X軸上看旋轉個幾度,Y軸上看旋轉個幾度,Z軸上看旋轉個幾度。
但實際上似乎又無法這樣設定。
以下有個特別的方式,既可以保持變數型態是 Quaternion,又可以從我們直覺的方式來做旋轉角度的設定。
//先宣告一個Quaternion,變數名稱是quate,變數型態是Quaternion
//Quaternion.identity 代表 在三個軸度上的角度為(0,0,0)
Quaternion quate = Quaternion.identity;
// 用eulerAngles對三個軸度的角度做修改
quate.eulerAngles = new Vector3(0, Camera.main.transform.rotation.eulerAngles.y+180, 0);
//然後再把quate賦予給Gameobject:
transform.rotation = quate;
其實重點就是:
// roll = Camera.main.transform.rotation.eulerAngles.z;
// pitch = Camera.main.transform.rotation.eulerAngles.x;
// yaw = Camera.main.transform.rotation.eulerAngles.y;
很神奇的是,用eulerAngles 改過角度後,
丟回給transform.rotation,變數型態上也是match。
也許以後可以試著用這個直覺的方式來修改rotation的角度。
沒有留言:
張貼留言