首先看下手机中的加速度感应器的一般性描述(以安卓为例)
加速度传感器
加速度传感器又叫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