Input.deviceOrientation :
(例子:if (Input.deviceOrientation ==
DeviceOrientation.FaceDown))
- Unknown:裝置的方向不能被確定。
- Portrait:裝置在縱向模式,裝置直立並home按鈕在底部。
- PortraitUpsideDown:裝置在縱向模式,但顛倒一下,裝置直立並home按鈕在頂部。
- LandscapeLeft:裝置在橫向模式,裝置直立並home按鈕在右邊。
- LandscapeRight:裝置在橫向模式,裝置直立並home按鈕在左邊。
- FaceUp:裝置保持與地面平行,螢幕的面向上。
- FaceDown:裝置保持與地面平行,螢幕的面向下。
加速感應器
Input.acceleration :豎直拿著裝置(home按鈕在底部),X軸指向右,Y軸指向上,Z軸指向前。
加速度感應器數值可能被顛簸影響。應用低通過過濾器可以是它平滑,擺脫幹擾。
//加速器重新整理間隔float AccelerometerUpdateInterval = 1.0f / 60.0f;//值越大, 被過濾值將彙集當前輸入採樣越慢float LowPassKernelWidthInSeconds = 1.0f;
//過濾範圍
private float LowPassFilterFactor = AccelerometerUpdateInterval / LowPassKernelWidthInSeconds;private Vector3 lowPassValue = Vector3.zero;void Start () { lowPassValue = Input.acceleration;}//過濾方法 (擷取加速量調用此方法即可)Vector3 LowPassFilterAccelerometer(){ lowPassValue = Mathf.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor); return lowPassValue;
}