1
我希望我的對象選擇隨機方向,旋轉到它,然後遵循一段時間。之後再重複一遍。這是我的用於選擇方向我的輪換很奇怪
private void ChooseDirection() {
// create a random angle from 0.0 to 360.0, Remap is a simple function for it
float angle = Utils.Remap (Random.value, 0.0f, 1.0f, 0.0f, 360.0f);
transform.Rotate (Vector3.up, angle);
print (angle + " : " + transform.rotation.eulerAngles.y);
}
上面的代碼產生以下輸出到控制檯
38.12973 : 38.12972
283.771 : 321.9007
295.227 : 257.1267
142.9637 : 40.09043
178.7077 : 218.7981
126.3595 : 345.1576
347.749 : 332.9065
250.1977 : 223.1042
243.5038 : 106.608
252.1878 : 358.7958
20.00817 : 18.804
正如你可以看到實際的旋轉角度不是隨機選擇的角度的代碼。因此,我的物體不會面臨移動的方向。
您沒有設置旋轉。你在旋轉。 (即將所選旋轉添加到變換的現有旋轉中。) – Abion47
我更改了代碼,現在角度匹配。我仍然有問題,該對象正面臨錯誤的方向。我會嘗試設置已知值的角度,例如0,10,45,90 ...並查看它是如何移動的 – sasha199568
我發現我的問題。在'Translate'函數中,我使用了'transform.forward'。我應該使用'Vector3.forward'。我的壞,你不能解決我的問題,因爲我沒有發佈我的移動代碼 – sasha199568