簡體   English   中英

在Unity中將對象水平旋轉90度

[英]Rotate object horizontally by 90 degrees in Unity

我想將立方體水平旋轉90度。 所以我會寫

transform.Rotate(new Vector3(90, 0, 0));

但這似乎是錯誤的。

transform.Rotate(new Vector3(0, 90, 0));

transform.Rotate(new Vector3(90, 0, 0), Space.World);

transform.Rotate(new Vector3(90, 0, 0), Space.Self);

似乎也錯了。 我只想旋轉它自己的軸。

我如何歸檔=?

在此處輸入圖片說明

立方體的中心點不在其幾何中心。 旋轉時使其移動- 在此處輸入圖片說明

如果要圍繞它旋轉而不移動,則需要將立方體的中心置於其幾何的中心。

向量=四元數.Euler(0,-90,0)*向量; 嘗試這個

檢查多維數據集的樞軸點是否從某個地方導入,因此它的樞軸可能不完全在多維數據集的0、0、0中,在場景中創建一個新的EmptyGameobject,並將該多維數據集作為新obj的子對象,對其進行調整位置,以便新的游戲對象位於多維數據集的0,0,0位置。

然后應用旋轉它應該沒問題。 (我知道該方法聽起來很棘手,但是,這是更改Unity中游戲對象樞軸點的唯一合法方法)


關於旋轉

有兩種旋轉方式:

如果即時旋轉,你應該沒事

否則,如果您希望它緩慢旋轉。 采用:

transform.Rotate(0, speed * Time.deltaTime, 0, Space.World);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM