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)

 下面是例子

Unity中检测移动设备的加速度感应器_第1张图片

 

下载地址 http://pan.baidu.com/s/1kTmWQZ9  密码 2f3l

转载于:https://www.cnblogs.com/unitydong/p/4513323.html

你可能感兴趣的:(Unity中检测移动设备的加速度感应器)