加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 动态 > 正文

如何用极客范儿做一款VR头盔?不是插个手机的那种

发布时间:2016-03-23 07:29:39 所属栏目:动态 来源:雷锋网
导读:没错,我们可不打算让用户还得专门插个手机进去播全景小电影——我们要做VR头盔,能duang地运行起一个PC端的正经VR游戏的那种。

(注意,对于int16格式的传感器数据,实际上这里的65535 = -1)

如何用极客范儿做一款VR头盔?不是插个手机的那种

这显然无法用来表达任何的姿态信息,并且因为民用传感器的设备精度很低,直接采用陀螺仪(即角速度传感器)数据乘以时间间隔的结果,也基本上完全无法表达真实的转动情况。幸好,伟大的数学家们发明了Sensor Fusion(传感器融合)方法。

Sensor Fusion,顾名思义就是把各路并不精准的传感器数据合在一起,取得一个更好的整体结果值。事实上加速度计、陀螺仪和地磁传感器确实可以相互弥补弱点,从而有效地填补空白数据,从而得到反应更灵敏也更流畅的输出结果。

常见的Sensor Fusion算法主要包括Kalman Filter,Mahony filter以及Madgwick filter等等,其基本共性是对输入的数据进行滤波和融合处理,得到平滑、低延迟、低抖动的结果数据(通常是世界坐标系下的旋转姿态值,欧拉角度或者四元数形式)。很显然,IMU本身的输出频率越高,最终结果的频率也就越高,这也是为什么GearVR会采用高达1000Hz频率的单一传感器作为姿态计算的依据,而不是手机本身的陀螺仪(根据手机品牌的不同,有些传感器的质量可能会很差,甚至被阉割)的原因。国内厂商(例如焰火工坊等)也采取了类似的做法,以求整个Sensor Fusion和姿态计算过程高效且可控。

如何用极客范儿做一款VR头盔?不是插个手机的那种

(Via vimeo.com)

毫无疑问,如果选择九轴IMU作为姿态传感和输出设备,那么就可以直接得到使用者头部的世界旋转角度信息,进而控制内容的渲染以及交互。但是地磁传感器本身非常容易受到环境磁场的影响,例如附近有磁性的设备,抑或是铁制的桁架和管路,都可能改变地磁传感器的输出,进而产生一个错误的融合结果!此外,地磁传感器本身也需要预先进行标定,毕竟融合算法是需要对地磁数据进行归一化(取当地地磁最小和最大值,然后重映射到[0,1]区间)之后才能准确计算的,而北京和澳大利亚的磁场参数显然大相径庭。

另一种选择是放弃地磁传感器,转而采用仅包含三轴加速度计和陀螺仪的六轴IMU来计算相对旋转姿态。这样避免了标定和场地的限制,并且也有研究表明,单纯采用六轴IMU计算的响应速度更快,数据稳定后的抖动幅度更低。不过因为没有地磁数据作为参照,因此每次开机后头盔的初始姿态是无法预知的,因此也就无法确定游戏者是否一开始就能看到重要的三维提示信息,还是需要困惑地四处转头去寻找入口(如下图OculusVR的Demo场景,一个简单的Start按钮):

如何用极客范儿做一款VR头盔?不是插个手机的那种

设备接口的选择也是有讲究的,USB无疑是目前最为常见的方案,事实上无论Oculus VR还是HTC Vive都选择使用USB接口来辅助供电和传递姿态信息。当然这一切在起步阶段都没有必要自己去制板和焊接,因此笔者根据上述的选择条件,在淘宝上毫不犹豫地相中了下图一款封装完整,物美价廉的IMU传感器模组:

如何用极客范儿做一款VR头盔?不是插个手机的那种

它采用了九轴IMU传感器,数据通过UART转换到USB接口输出,并且已经做好了片上融合,即硬件已经通过Sensor Fusion算法计算得到了真实的世界旋转姿态,并且提供了简单的标定方案。因此现在要做的就是把这个传感器粘贴到纸质头盔的合适位置上,然后将姿态数据传递给自己的程序,及时改变当前用户观察的视角和渲染内容。

如何用极客范儿做一款VR头盔?不是插个手机的那种

图形学发威的时间

现在我们有了一个看起来像模像样的VR头盔,虽然一切都是硬纸壳子加上3M胶带组成,但它至少可以播放来自电脑的任意豪华分辨率的立体电影,并且通过简单的程序进行视角控制;最关键的是,整个系统的延迟似乎完全在我们能够接受的范围内——胜利在望了吗?那么随后我们要解决的,是显示内容开发的问题。

很显然,只是做了一个粗糙的影片播放器,这并不能满足一名极客的进取欲望。要让别人制作的游戏接入到我的头盔里面,然后构建自己的SDK开发接口和游戏内容平台,这也许才是我们内心的狂野独白——当然这并不是小小的一篇文章所能承载的庞大构想。不过至少,现在才应该是有着十年图形学和底层渲染引擎开发经验的笔者发威的时间。

如何用极客范儿做一款VR头盔?不是插个手机的那种

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读