Unity幾個角度方法的區別
平常我們對物體的的世界坐標賦值的時候,會使用三維坐標系,很直觀的賦值位置。
transform.position = new Vector3(1, 1, 1);
當我們給物體賦值角度的時候,肯定也想用在三維坐標系中直觀的方式賦值角度,但是使用歐拉角,會導致一種歐拉角中的萬向節死鎖,所以在Unity中對物體的賦值並不會直接用歐拉角的方式,而是使用四元數Quaternion。
四元數是一種高階復數,會比較難理解,所以我們一般都會用歐拉角轉換為四元數來間接的對物體賦值,這樣看着比較直觀,也不會導致死鎖。
//兩種方法。
//把歐拉角轉換為四元數,然后復制給rotation(rotation其實就是四元數類型的)
transform.rotation = Quaternion.Euler(0, 0, 0);
//直接對物體賦值角度
transform.localEulerAngles = new Vector3(0, 0, 0);
