[英]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)
旋轉對象的兩種常用方法是
變換中的旋轉屬性。 使用這個,您可以設置目標對象旋轉的精確坐標。 但是,如果要制作動畫並且值是通過 Quaternion 類型給出的,則必須自己管理平滑度。 我建議使用靜態方法Quaternion.Euler以便您可以在 X、Y、Z 中傳遞值。 下面的示例將對象設置為沿 Y 軸順時針旋轉 90 度:
transform.rotation = Quaternion.Euler (0, 90, 0);
第二種方法在相同的變換屬性中使用 Rotation 方法。 此方法允許您傳遞對象將旋轉的度數,並且已經接受 X、Y 和 Z 坐標而不是四元數。 下面的示例將對象沿 Y 軸順時針旋轉 1 度:
transform.Rotate (0, 1, 0);
為了最好地理解這兩種方法之間的區別,如果您在 Update 方法中使用第一種方法,您將看到對象在 Y 軸上靜態旋轉了 90 度。 更新中使用的第二個示例將使對象沿 Y 軸順時針旋轉(太快)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.