Cardbord结合MD使用

2016-09-24  本文已影响510人  6570f11fb500

Cardbord结合MD使用

在做VR项目中开始参考的是库https://github.com/ashqal/MD360Player4Android,这个库是对初学vr的很有帮助,基本能满足vr开发需求,对于项目其他需求也可以很好的参考进行扩展,但MD中使用的是Sensor.TYPE_ROTATION_VECTOR旋转向量传感器,其坐标系具有以下特点:

X 定义为向量积 Y x Z。它是以设备当前位置为切点的地球切线,方向朝东。

Y 是以设备当前位置为切点的地球切线,指向地磁北极。

Z 与地平面垂直,指向天空。

但在使用过程中可能是我对api不是十分理解,没有获取到初始角度方位角即欧拉角,有些同学可能会说用姿态传感器Sensor.TYPE_ORIENTATION可以得到,姿态传感器只能得到运动过程中的变化了得角度

所以结合https://github.com/substarry/VRPlayer项目使用cardboard的传感器,其坐标系与上图一致

其使用也十分简单,导入cardboard.jar包,在MDVRLibrary中实例化

headTracker= HeadTracker.createFromContext(builder.activity);

在MD360Render中使用 headTracker.startTracking();即可获取headview

headview中包含了很多信息,其中就有我们所需的初始方位角

有了方位角就可以做很多事情了,例如低头显示头控菜单,抬头隐藏等等

上一篇下一篇

猜你喜欢

热点阅读