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

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

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

笔者选择自己熟悉的OpenSceneGraph开源引擎来做一个简单场景的渲染,为了确保它在山寨VR头盔里的显示是正确的,我们需要将场景画面重复渲染两次,分别对应人的左右眼所见的内容。大脑会根据这两幅画面在视网膜的成像,主动对比和生成具有强烈立体感的画面。然而人的双眼之间存在着一定的间隔,因此在观察同一个场景的时候会存在着方向上的偏差,也就是视差。使用程序执行渲染时,需要对左右眼的观察矩阵和投影矩阵做一个偏移处理,以模拟这个视差现象,从而欺骗大脑让它以为自己置身于虚拟世界。

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

我们现在把程序的画面全屏输出到VR头盔的显示屏上,再加上IMU的姿态输入来改变观察矩阵,看起来一切都很美了,只是感觉有点变形?没错,别忘了眼睛和显示屏之间的那个透镜,它很可能会造成桶形畸变(Barrel distortion)的现象,也就是说,靠近边缘的画面中,直线将不再以直线的形式出现,而是产生了弯曲变形。

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

(Via www.programmipermac.com)

我们需要一个全屏后处理的方案来纠正这种畸变。

简单来说,就是刚才渲染的场景不再直接输出到屏幕上,而是输出到一处显卡内存区域(Frame buffer object),然后对这张内存中的图像进行进一步的处理:包括处理失真,镜片引起的色散,改变对比度和亮度,修正色彩曲线,等等,就像是我们在Photoshop中做的一样。注意这里我们对原始输出的场景画面做了变形,从而与镜片的畸变参数进行匹配,在视野中得到正确无失真的结果。

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

现在再把画面接入到头盔中,是不是好了很多呢?当然了,如何处理失真,如何处理色散,这些都是与镜片以及显示屏的参数密切相关的,并非一个统一的数值。如果真的要完成某种VR头盔的生产流程的话,那么类似的校正参数计算和设置工作显然要在设备出厂的时候完成,交到消费者手中的显然应该是即插即用的成品了。

当然了,这样一副VR头盔能否让人有身临其境的感受,并不仅仅是把零件组合起来再编写程序那么简单。硬件的参数和工装设计,内容本身的渲染精细程度,以及因为这种精致渲染而带来的额外的计算延迟,都是影响体验品质的重要环节。

而所有这些细节的处理,是不能在短小的文章中统统得到体现的——如何在一个看起来很美的原型基础上实现真正可以商用和民用的VR头盔,以及如何确保每个环节的供应链和渠道畅通,产品大卖,这都不再是我们以极客范儿能够面对的问题了,那需要一支庞大而高效的团队去不断努力完善,就像如今VR行业众多创业公司们所追求的一样。

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

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

那么,我们为此花费了多少成本呢?

2K IPS显示屏和驱动板:1400元,老板说多买可以半价哦。

九轴IMU传感器与USB底板:128元。

Cardboard硬纸外壳和镜片:19元,总觉得好像没这么贵才对啊,另外镜片也建议自己选配更好的菲涅尔透镜组。

程序开发:自己动手,丰衣足食。

最后,我们还能做点什么?

这篇文章有自己的终点,但是钻研的道路事实上远远没有达到尽头。虚拟现实头盔是我们沉浸在全新世界的第一步,即取代了人们的视觉。但是无法与世界互动终究是十分无趣的,交互要如何来做,手柄?手套?动捕?空间定位?声音?手势?抑或其它稀奇古怪的方式,这又是一个完全不一样的命题,也是下一个VR热点话题的聚集地。

对于画面质量的提升和延迟感的降低,也是人们不断去追求的目标。

例如Time Warp以及Asynchronous Time Warp这样的算法,可以通过对当前渲染画面进行插值计算得到一些模拟的中间画面,避免因为帧速率不足而产生的抖动和迟滞感。不过这并非仙丹妙药,优化场景渲染速率以真正达到无延迟的画面随动才是正途。然而画面的优化往往又意味着渲染质量的降低,真实感随之下降。如何在其中权衡利弊,甚至投机取巧做一些戏法似的效果,这又是对众多内容开发者们的一个全新的挑战。

多说一句的话,笔者也曾经实现过一种基于单次渲染GBuffer数据然后在后处理阶段构建双目画面显示的方法,可以适用于各类开阔场景和没有复杂管道结构的室内场景,对效率的提升当然也是不言而喻的。

更多的脑洞还在开启当中,例如基于眼动追踪的渲染,可以基于NVIDIA的MultiRes架构将眼球聚焦位置之外的场景用低分辨率处理,从而减少像素着色过程的计算时间;又比如VR一体机的兴起,用高性能的移动开发板(例如Tegra X1)与显示屏直接构成一体化的头盔,不再从电脑或者手机上输出场景画面,而是采用配套的SDK工具编写专属游戏。

总之,一切还远远没有到达尽头,未来很美,只愿越来越多的从业者们能够选择脚踏实地,从技术和产品化的角度更多地思考问题,让更多的原型产品和忽悠概念能够最终落到实处。

王锐【VR系列】文章推荐:

1 、从60Hz到75Hz,完成一次VR的场景优化需要遍历哪些血泪史?

2、哎,VR游戏的画质为什么总是那么差?

3、在讨论全景视频的未来之前,我们先搞清楚全景视频是如何实现的

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

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

热点阅读