[英]What is the difference between transform.Rotate methods?
這兩個可用的transform.Rotate方法重載之間的實際區別是什么?
一個版本的參數使用浮點數,而另一個版本的Vector3似乎使用相同的參數。
兩者之間是否有首選/最佳實踐/更好的選擇? 該文檔並沒有真正說出一種方法。
transform.Rotate (new Vector3(0, Input.GetAxis("Mouse X") * sensitivityHor, 0));
transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityHor, 0);
他們是一樣的。 我建議選擇一個使代碼最容易閱讀的代碼:如果您有一個可以使用的向量(例如角速度),請使用該向量; 如果每個軸都有一個浮點(例如,鼠標移動),請使用可容納三個浮點的軸。 回到您嘗試修復某些錯誤的代碼時,這對您來說最具可讀性。
兩種旋轉方法幾乎相同,但有很大不同:
方法
public void Rotate(float xAngle, float yAngle, float zAngle);
接受三個“角度”,並沿提供的角度方向旋轉對象。
相反的方法
public void Rotate(Vector3 axis, float angle);
采用定義旋轉軸的向量和定義角度(要旋轉多少角度)的浮點數。 例如,如果將axis
設置為new Vector3(0f, 0f, 1f);
並將angle
設置為15f
,旋轉方法將僅沿z軸將對象旋轉15度。 此旋轉方法將僅檢查axis
參數中的哪個軸的值大於0,並僅繞該軸旋轉對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.