Unity 3D中的Transform.Rotate 與Transform.RotateAround 的區別


Transform.Rotate 旋轉

應用一個歐拉角的旋轉角度,eulerAngles.z度圍繞z軸,eulerAngles.x度圍繞x軸,eulerAngles.y度圍繞y軸(這樣的順序)。

如果相對於留空或者設置為Space.Self 旋轉角度被應用圍繞變換的自身軸。(當在場景視圖選擇物體時,x、y和z軸顯示)如果相對於 Space.World 旋轉角度被應用圍繞世界的x、y、z軸。

 

1 gameObject.transform.Rotate(new Vector3(0,1,0),Input.GetAxis("Horizontal");//表示按下左右鍵圍繞Y軸旋轉,旋轉的方式如下圖:

 

可以看出旋轉中心與旋轉軌道有一定的距離。就像地球繞太陽公轉一樣。

 

 

 

Transform.RotateAround 圍繞旋轉

按照angle度通過在世界坐標的point軸旋轉物體。

簡單的說,按照多少度在世界坐標的某位置軸旋轉物體。

gameObject.transform.RotateAround(new Vector3(0, 0, 0), new Vector3(0, 1.0f, 0), Speed * Time.deltaTime * Input.GetAxis("Horizontal"));//表示按下左右移動鍵是,物體在指定的一點繞這Y軸旋轉。旋轉的方式如下圖:

就像地球的自傳一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM