(原标题:美军VR专家说VR难成功,Oculus的工程师觉得有点言之过早了)

美军VR专家说VR难成功 Oculus觉得言之过早


关于这个问题,Ocululs 的第二名华人工程师胡韬(taohu.usc@gmail.com),此前曾参与 Oculus 多个 早期 VR 软件项目的开发,从他了解的相关知识与信息分析,觉得可能有点言之过早了。以下为胡韬投稿正文:

美军VR专家说VR难成功 Oculus觉得言之过早


最近被一篇名为《美军专家表示 VR 可能永远不会成功》的文章刷屏了,好多朋友过来问我 VR 是不是伪需求,VR 行业能走多远。我认为,这篇文章本身包含了不少作者的个人情绪在里面,而针对这篇文章的很多评论也多多少少夹杂了个人情绪和利益站队。我尝试刨去这些干扰,只给大家讲些事实,结论大家自己去判断。

先说下自己的背景,我于 2014年7月 加入 Oculus,当时 Oculus 刚被 Facebook 以 23 亿美金收购。我有幸参与了不少早期 VR 软件的开发(Oculus Store、Oculus Video、Oculus Social),眼看着 Rift/Gear 从粗糙的开发者版本逐渐迭代为成熟的消费者版本。与此同时,整个 VR 产业在 Oculus 和其他厂商的推动下逐渐浮出水面。当然,最兴奋的还是可以和偶像 John Carmack 一起工作。(关于 John Carmack 的故事,一天一夜都讲不完,有兴趣的朋友可以翻阅《Masters of Doom》)

美军VR专家说VR难成功 Oculus觉得言之过早


回到美军专家 Steve Blake 的那篇文章,他的核心观点是说佩戴 VR 设备时的恶心眩晕问题 (英文有很多种说法,包括 nausea、motion sickness、simulator sickness 等,以下简称 “眩晕” ) 无法解决。

首先,我们来看看 “到底是什么原因导致了眩晕?”。Oculus 的开发者博客上其实已经有一篇文章系统性地论述了这一问题(VR Sickness, The Rift, and How Game Developers Can Help)。文章写于 2013年,作者是 Tom Forsyth, 一位纵横游戏业 20 多年的老兵,曾在 Valve、Intel、 RAD Game Tools 工作过。他描述了导致眩晕的一些原因:

一、可以解决的。

主要有如下四点:

1、错误的畸变校正 (Distortion Correction)

为了增强用户的沉浸感,VR 设备会采用一组放大镜片来扩大用户的 FOV (Field of View,视角),原理和广角镜头是一样的。但是,视角扩大的同时,图像也会发生畸变。传统的思路是从镜片着手,采用昂贵的非球面镜片来尽量减小图像的畸变。而 Carmack 则逆势思维,在图像渲染时直接进行逆向畸变,然后通过透镜来抵消这一畸变。这样做的好处是显而易见的,它减去了采用非球面镜片所带来的额外成本。而这样做的挑战在于--需要精确地计算逆向畸变的参数值。如果数值不准确,用户通过透镜看到的图像依旧会带有畸变,从而产生眩晕。幸运的是,主流厂商 (Oculus, HTC, Google Cardboard, PSVR) 都在他们提供的 SDK (Software Development Kit, 开发者工具包) 里帮开发者解决了这一问题。

美军VR专家说VR难成功 Oculus觉得言之过早


2、错误的瞳孔距参数 (IPD, Interpupillary Distance)

在模拟 3D 成像时,渲染在屏幕上的图像会分为左右两屏,分别模拟人的左右两眼所看到的图像。这两个图像基本相似,除了些微的差异 (这点大家在上面的图片中也可以看到)。差异的大小取决于人的瞳孔距,而不同人的瞳孔距是不同的。所以,在进行图像渲染时,就需要考虑用户的实际瞳孔距。如果瞳孔距参数设置的不合适,用户就无法聚焦,从而产生眩晕感。在之前的 DK2 开发者版本中,Oculus 提供了参数设置工具来让用户提前设置自己的瞳孔距参数。而在最新的 Rift 消费者版本中,Oculus 更进一步,直接提供了一个硬件开关来动态调节瞳孔距参数。

3、高延迟 (Latency)

美军专家 Steve 也在文章中提到了延迟问题。这里的延迟,指的是用户产生输入 (如头部转动) 到用户看到图像变化之间的时间差,如果延迟足够大,就会在用户所感知的行动和实际所见之间产生错位,造成眩晕。Oculus 首席科学家 Michael Abrash 有一篇文章专门讨论这个问题 (Latency – the sine qua non of AR and VR)。这篇文章写于 2012年 底,对导致延迟的原因做了精确的阐述。以头部转动为例,从用户转动头部到实际看到眼前图像变化,需要经历 3 个环节:传感器检测到头部转动角的变化->CPU 计算出新的需要渲染的图像->屏幕更新图像。每个环节都会产生延迟,当总延迟高于 15ms 时,就会产生较为明显的眩晕。文章还指出了相应的解决方案--使用高刷新率的传感器和 OLED 屏幕。做为 Michael20年 的老朋友,Carmack 通过工程努力以及推动 Oculus 与三星之间的合作,完美实现了这一方案。另外,Carmack 还在第 2 个环节做了进一步的优化,引入 ATW (Asynchronous Timewarp), 把延迟控制在了 15ms 以内。这里面的精彩故事可以从 Carmack 在 Oculus Connect 上的演讲中找到。

4、不符合 VR 的产品设计准则