在Unity中,重力方向可以通過以下方式設定:
全局設定:
可以通過編輯器的項目設定來修改全局的重力方向。操作路徑為 `Edit > Project Settings > Physics`。
在Physics設定中,可以修改Gravity的X、Y、Z值來控制三維空間中的重力方向。例如,要設定逆重力的力場,可以設定Gravity為(0, 10, 0)。
對於2D物理,設定路徑相同,但Physics 2D缺少Z軸的方向,即沒有前後方向。
代碼設定:
可以通過編寫C#腳本來動態修改全局的重力方向。例如,可以創建一個MonoBehaviour腳本,在`FixedUpdate`方法中修改`Physics.gravity`屬性。
單個物體設定:
雖然不推薦直接修改重力相關的函式變數來控制單個物體的重力方向,但可以通過修改物體的受力方向來模擬受到不同方向重力的效果。例如,將Gravity中的X、Y、Z三個方向的重力全部設定為0,然後在特定物體上添加代碼來模擬受力的方向。
需要注意的是,重力的默認方向是沿著Y軸向下,即設備平放時,X軸朝右,Y軸朝上,Z軸朝向螢幕內。如果需要自定義重力感應的初始軸向,可以通過修改`Input.gyro.rotationRateUnbiased`的值來實現,但這只會影響重力感應的初始軸向,不會修改設備的實際旋轉角度。