我有一個物件。物件的初始旋轉 y 軸設定為 -90。我想將旋轉更改為 90。我通過以下來做到這一點。但是它變為-90度。為什么會發生這種情況,我如何始終保持積極態度?X=180, Y= -90, Z=180
void Start()
{
transform.eulerAngles = new Vector3(transform.eulerAngles.x, -90 180, transform.eulerAngles.z);
}
uj5u.com熱心網友回復:
從檔案中:
使用 .eulerAngles 屬性設定旋轉時,請務必了解,盡管您提供 X、Y 和 Z 旋轉值來描述旋轉,但這些值不會存盤在旋轉中。相反,X、Y 和 Z 值被轉換為四元數的內部格式。
由于幾個歐拉角描述了相同的旋轉,因此不能保證您將獲得與您指定的相同的歐拉角。如果你需要這個,你可能需要自己標準化角度。
我的偏好是盡可能避免歐拉角。在許多情況下,您可以使用向量和向上方向通過LookRotation創建四元數。我發現這更容易,因為與歐拉角相比,我更容易直觀地理解方向矢量。四元數本身真的很難理解,但我發現它們使用起來相當簡單,即使你不了解它們背??后的數學原理。
uj5u.com熱心網友回復:
當角度小于 0° 時,添加 360°。然后當角度大于或等于 360°時,減去 360°。
如果您確定角度不超過范圍 [-360°, 720°),您可以將 while 換成 if。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/448008.html
上一篇:實體化產生數百個專案而不是1個
