VR 永不成功?美军专家可能言之过早

摘要

本文来自 Oculus 工程师胡韬。这篇关于 VR 的文章你可能一个字都看不懂,却依然会被深深地折服。

编者注:本文首发于峰瑞资本,极客公园已获得转载授权。


作者:胡韬,毕业于南加州大学,Oculus 第二位华人工程师,曾参与 Oculus 多个 VR 软件项目的开发(Oculus Store, Oculus Video, Oculus Social),目睹 Rift/Gear 从粗糙的开发者版本逐渐迭代为成熟的消费者版本,并经历了整个 VR 产业链的崛起和逐渐完善。 他的邮箱是 taohu.usc@gmail.com

Oculus Rift 上最出众的游戏之一《无处可逃》


《这篇关于 VR 的文章你可能一个字都看不懂,却依然被深深地折服》

文 / 胡韬

这几天被一篇名为《美军专家表示 VR 可能永远不会成功》的文章刷屏了,好多朋友过来问我 VR 是不是伪需求,VR 行业能走多远。我想基于我在 VR 行业的积累,分享些关于 VR 的事实。

先说下我自己的背景,我 2014 年 7 月加入 Oculus,当时 Oculus 刚以 23 亿美金的价格被 Facebook 收购。我有幸参与了不少早期 VR 软件的开发(Oculus Store, Oculus Video, Oculus Social),也目睹 Rift/Gear 从粗糙的开发者版本逐渐迭代为成熟的消费者版本。与此同时,整个 VR 产业在 Oculus 和其他厂商的推动下逐渐冒头。在 Oculus,我有幸和 3D 引擎之父、天才程序员 John Carmack 一起工作。(关于 John Carmack 的故事,一天一夜都讲不完,有兴趣的朋友可以翻阅《Masters of Doom》)

屏幕快照 2016-05-31 13.17.54.png

Carmack 获得 BAFTA 颁奖。45 岁的 Carmack,依然保持着惊人的编程效率。

不能被解决的眩晕?

回到美军专家 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 工作过。他描述了导致眩晕的一些原因。

其中,4 个导致眩晕的问题已经可以解决:

  • 错误的畸变校正(Distortion Correction): 为了增强用户的沉浸感,VR 设备会采用一组放大镜片来扩大用户的 FOV(Field of View,视角),原理和广角镜头是一样的。但是,视角扩大的同时,图像也会发生畸变。传统的思路是从镜片着手,采用昂贵的非球面镜片来尽量减小图像的畸变。而 Carmack 则逆势思维,在图像渲染时直接进行逆向畸变,然后通过透镜来抵消这一畸变。这样做的好处是显而易见的,它减去了采用非球面镜片所带来的额外成本。而这样做的挑战在于--需要精确地计算逆向畸变的参数值。如果数值不准确,用户通过透镜看到的图像依旧会带有畸变,从而产生眩晕。

    幸运的是,主流厂商(Oculus, HTC, Google Cardboard, PSVR)都在它们提供的 SDK(Software Development Kit, 开发者工具包)里帮开发者解决了这一底层技术难题

屏幕快照 2016-05-31 13.18.22.png经过逆向畸变渲染后的图像。

  • 错误的瞳孔距参数(IPD, Interpupillary Distance): 在模拟 3D 成像时,渲染在屏幕上的图像会分为左右两屏,分别模拟人的左右两眼所看到的图像。这两个图像基本相似,除了些微的差异(这点大家在上面的图片中也可以看到)。差异的大小取决于人的瞳孔距,而不同人的瞳孔距是不同的。所以,在进行图像渲染时,就需要考虑用户的实际瞳孔距。如果瞳孔距参数设置的不合适,用户就无法聚焦,从而产生眩晕感。

    在之前的 DK2 开发者版本中,Oculus 提供了参数设置工具来让用户提前设置自己的瞳孔距参数。而在最新的 Rift 消费者版本中,Oculus 更进一步,直接提供了一个硬件开关来动态调节瞳孔距参数

  • 高延迟(Latency): 美军专家 Steve 也在文章中提到了延迟问题。这里的延迟,指的是用户产生输入(如头部转动)到用户看到图像变化之间的时间差,如果延迟足够大,就会在用户所感知的行动和实际所见之间产生错位,造成眩晕。Oculus 首席科学家 Michael Abrash 有一篇文章专门讨论这个问题 (Latency – the sine qua non of AR and VR)。这篇文章写于 2012 年底,对导致延迟的原因做了精确的阐述。以头部转动为例,从用户转动头部到实际看到眼前图像变化,需要经历 3 个环节:传感器检测到头部转动角的变化 ->CPU 计算出新的需要渲染的图像 -> 屏幕更新图像。每个环节都会产生延迟,当总延迟高于 15ms 时,就会产生较为明显的眩晕。文章还指出了相应的解决方案--使用高刷新率的传感器和 OLED 屏幕。

    做为 Michael 20 年的老朋友,Carmack 通过工程努力以及推动 Oculus 与三星之间的合作,完美实现了这一方案。另外,Carmack 还在第 2 个环节做了进一步的优化,引入 ATW(Asynchronous Timewarp), 把延迟控制在了 15ms 以内。这里面的精彩故事可以从 Carmack 在 Oculus Connect 上的演讲中找到。

  • 不符合 VR 的产品设计准则:VR 应用的开发和传统 3D 游戏的开发有不少相似性,但因为 VR 提供了全新的交互方式,二者又有很多不同。

    Valve 的 Joe Ludwig 专门写过一篇文章来阐述 VR 应用开发和传统 3D 游戏开发的不同以及注意点Lessons learned porting Team Fortress 2 to Virtual Reality)。

不过,正如美军专家 Steve 所描述的,两个原因导致的眩晕暂时还未被很好地解决:

  • 缺乏深度信息:正常人眼在观看物体的时候,是有焦距的,不同焦距对应不同的视角,在视角内的图像,会很清晰,而在视角外的,就会比较模糊。玩过单反的朋友应该对此有比较深刻的体会。

    但是,目前的 VR 设备在进行图像渲染时,并没有考虑焦距,都是默认焦距为无限远(既所有的物体都能清晰看到)。这个问题其实并不是非常严重,但是有少部分人会因为这一原因而导致眼疲劳,造成眩晕。

屏幕快照 2016-05-31 13.19.03.pngC 为真实人眼成像;D 为 VR 设备模拟成像。

  • 运动信息感知的错位:这里导致眩晕的原因其实和之前所述的延迟类似,即用户所感知的行动和实际所见产生了错位,更深层次的原因是视觉神经和前庭刺激(vestibular stimuli)之间无法达成一致。

    比如说,用户在 VR 世界里玩跑酷游戏,但是在现实世界中却静坐着。其实,现实生活中的一些眩晕,也是由这个原因导致的,比如说晕车晕船。

Tom Forsyth 的这篇文章写于 2013 年 6 月。2016 年的当下,我们再回过头去看, 上面所说的两个无法解决的问题,都已经得到一定程度的解决最新的 AR 设备,已经可以展示深度信息(参考硅谷小伙伴 Amber 的文章 《Magic Leap 和微软的 Hololens 相比有哪些异同点?》,他详细描述了 Lightfield Display 技术);而最新的 VR 设备,已经实现了位置追踪(positional tracking),意味着用户在真实世界中的移动可以一对一的映射到虚拟世界中。而诸如 Virtuix Omni 这样的硬件,也在尝试解决如何在虚拟世界里自由奔跑的问题。

屏幕快照 2016-05-31 13.19.34.png

传说中的 Virtuix Omni。

另外,在产品设计层面,开发者们也有很多创新。Steve 所说的第一人称模拟飞行是 VR 里最容易导致眩晕的一类应用(视觉神经和前庭刺激有非常强烈的不一致),但是用户又偏偏非常喜欢这种类型的应用。于是,机智的开发者们通过各种产品设计层面的创新,来满足用户的需求。无论是 GearVR 上的 Smash Hit, 还是即将上线 Oculus Rift 的 Eagle Flight, 都是其中的典范。

好了,讲到这里,相信大家对于美军专家 Steve 的观点,已经有了更全面的认识。Steve 的观点,在 2016 年的今天,是很难站住脚的。

Myth or Truth ? 

屏幕快照 2016-05-31 13.19.59.png

美军专家说得都对么?

另外,Steve 文中的一些论断也有明显的漏洞。

Myth 1

😡 「每个人都觉得这些设备是崭新且具有革命性的,但这不是真相。在这两年发生的事情,仅仅是这些设备的价格从 8 万美元跌到 5 百美元。我们并没有做出太多技术上的创新」。


😀 这个论据非常脆弱,位置追踪和手势追踪(hand tracking),都是当代 VR 设备的核心技术,这些技术在 20 年前都是不存在的 (P.S., Steve 引用的论文竟然是来自于 1989 年 5 月)。

Myth 2

😡 「目前大多数 Demo 都是宣传性质的,在其他的行业展会上通常都是只有几分钟长的 VR 内容。我不知道这些厂商是不是故意这样做的……这也解释了为什么这么多人认为他们喜欢 VR」。

😀 早期的 demo 都只有几分钟长,是因为他们真的只是 「demo」。Oculus 即将上线的 30 多款应用,每一款都可以让用户体验好多个 「几分钟」。

Myth 3

😡 「我们都是专家,知道自己在做什么,但当你站在我们的实验室里举目四望,会发现没有一个人戴着 Oculus。仅在很少数的情况下,研究人员会戴上 VR,只是为了确认一些内容,然后在 30 秒内摘下来。大多数时候,我们都是在并排放置的两个显示器上观察视觉效果。当项目最终完成时,因为再也不用带这些头盔了,我们所有人都很开心。」

😀 工程师不在开发时佩戴 VR 设备,并不是不喜欢 VR,而是因为戴上后就没办法进行开发了。虽然 Unity/Unreal 都在尝试 VR Editor(可以实现头戴 VR 设备进行开发),但是目前阶段效率最高的还是在 PC 上开发,然后必要时戴上 VR 设备检查效果。另外,项目完成了,大家都很开心,难道不是因为项目完美收工么?

在硅谷的各种 VR 展会上,经常能碰到一些十几年前就心怀 VR 梦想的技术人员,他们对这个领域倾注的热情,是常人难以想象的。正是这群人十几年的技术积累,使 VR 在今天有可能走进每个人的生活。

屏幕快照 2016-05-31 13.20.20.png

如图。

文末,引用 Michael Abrash 在 Oculus Connect 上的一句话,和所有关注 VR 行业的同学共勉。

「VR is coming, but the path it takes depends on the actions of a few thousand key people, potentially including you. That may be hard to believe, but I’m completely serious.」 「VR 时代正在来临,这一段崎岖的小路能否走通,靠的是几千个关键人物的行动——这里面很可能就包括你。这也许让人难以置信,然而我完全坚定。」

最新文章

极客公园

用极客视角,追踪你最不可错过的科技圈。

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

顶楼

关注前沿科技,发表最具科技的商业洞见。