簡體   English   中英

在 unity 3d 中圍繞其中心點旋轉對象

[英]Rotate an object around its center point in unity 3d

如何在 unity 3d 中圍繞其中心點旋轉 3d 游戲對象。

只需使用渲染器中的 bounds.center

Vector3 position = myGameObject.GetComponent<Renderer>().bounds.center;

myGameObject.transform.RotateAround(position, rotationVector, degreesPerSecond * Time.deltaTime);

其中 rotationVector 是您的旋轉軸 (Vector3)

旋轉對象的兩種常用方法是

  1. 變換中的旋轉屬性。 使用這個,您可以設置目標對象旋轉的精確坐標。 但是,如果要制作動畫並且值是通過 Quaternion 類型給出的,則必須自己管理平滑度。 我建議使用靜態方法Quaternion.Euler以便您可以在 X、Y、Z 中傳遞值。 下面的示例將對象設置為沿 Y 軸順時針旋轉 90 度:

     transform.rotation = Quaternion.Euler (0, 90, 0);
  2. 第二種方法在相同的變換屬性中使用 Rotation 方法。 此方法允許您傳遞對象將旋轉的度數,並且已經接受 X、Y 和 Z 坐標而不是四元數。 下面的示例將對象沿 Y 軸順時針旋轉 1 度:

     transform.Rotate (0, 1, 0);

為了最好地理解這兩種方法之間的區別,如果您在 Update 方法中使用第一種方法,您將看到對象在 Y 軸上靜態旋轉了 90 度。 更新中使用的第二個示例將使對象沿 Y 軸順時針旋轉(太快)。

采用

變換旋轉

在此處查看示例/文檔: Unity 腳本參考

暫無
暫無

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

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