Unity中檢測移動設備的加速度感應器


首先看下手機中的加速度感應器的一般性描述(以安卓為例)

加速度傳感器
加速度傳感器又叫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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM