首先看下手機中的加速度感應器的一般性描述(以安卓為例)
加速度傳感器
加速度傳感器又叫G-sensor,返回x、y、z三軸的加速度數值。
該數值包含地心引力的影響,單位是m/s^2。
將手機平放在桌面上,x軸默認為0,y軸默認0,z軸默認9.81。
將手機朝下放在桌面上,z軸為-9.81。
將手機向左傾斜,x軸為正值。
將手機向右傾斜,x軸為負值。
將手機向上傾斜,y軸為負值。
將手機向下傾斜,y軸為正值。
加速度傳感器可能是最為成熟的一種mems產品,市場上的加速度傳感器種類很多。
手機中常用的加速度傳感器有BOSCH(博世)的BMA系列,AMK的897X系列,ST的LIS3X系列等。
這些傳感器一般提供±2G至±16G的加速度測量范圍,采用I2C或SPI接口和MCU相連,數據精度小於16bit。
然后我們在unity中顯示出來。核心代碼為
GUI.Box(new Rect(5, 5, 100, 20), String.Format("{0:0.000}", Input.acceleration.x));
GUI.Box(new Rect(5, 30, 100, 20), String.Format("{0:0.000}", Input.acceleration.y));
GUI.Box(new Rect(5, 55, 100, 20), String.Format("{0:0.000}", Input.acceleration.z));
是的。我們主要讀取Unity為我們封裝好的API.直接調用就可以了。 Input.acceleration [əkˌseləˈreɪʃn]
下面將值具體化(參數 順序為 x,y,z) 平面時前置攝像頭均為再右邊的狀態
手機屏幕朝上 水平放置的狀態 (0,0,-1)
手機屏幕朝下 水平放置的狀態 (0,0,1)
手機屏幕朝上 手機向右傾斜 (0++,0,-1++) 傾斜90度的狀態為(1,0,0)
手機屏幕朝上 手機向左傾斜 (0--,0,-1++) 傾斜90度的狀態為(-1,0,0)
手機屏幕朝上 手機向上傾斜(靠近身體一側) (0,0++,-1++) 傾斜90度的狀態為(0,1,0)
手機屏幕朝上 手機向下傾斜(靠近身體一側) (0,0--,-1++) 傾斜90度的狀態為(0,-1,0)
下面是例子
下載地址 http://pan.baidu.com/s/1kTmWQZ9 密碼 2f3l