分享

Oculus华人工程师驳美军专家“VR难成功”说

 西部仁者 2016-06-07

关键字:Oculus华人工程师  美军专家  VR难成功 

编按:本文作者胡韬是 Oculus 第二位华人工程师,参与多个 VR 专案开发,包含 Oculus 等多个早期VR 软件专案的开发,此文详述了他的观点,并试着解说 VR 所面对的问题与可能解决方法,这个第一线工程人员的观点,绝对有着参考价值。

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

美军 VR 专家说 VR 难成功,Oculus 华人工程师觉得仍言之过早《电子工程专辑》

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

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

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

一、可以解决的

主要有如下 4 点:

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

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

Oculus华人工程师驳美军专家“VR难成功”说《电子工程专辑》

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

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

VR 应用的开发和传统 3D 游戏的开发有不少相似性,但因为 VR 提供了全新的互动方式,两者又有很多不同。Valve 的 Joe Ludwig 专门写过一篇文章来阐述 VR 应用开发和传统 3D 游戏开发的不同以及注意点(《Lessons learned porting Team Fortress 2 to Virtual Reality》)。

二、无法解决的

正如美军专家 Steve 所描述的,这里面主要有两类:

缺乏深度信息:正常人眼在观看物体的时候,是有焦距的,不同焦距对应不同的视角,在视角内的图像,会很清晰,而在视角外的,就会比较模糊。玩过单眼的朋友应该对此有较深刻的体会。但是,目前的 VR 设备在进行图像渲染时,并没有考虑焦距,都是默认焦距为无限远(即所有的物体都能清晰看到)。这个问题其实并不是非常严重,但有少部分人会因为这一原因而导致眼睛疲劳,造成眩晕。

Oculus华人工程师驳美军专家“VR难成功”说《电子工程专辑》

运动信息感知的错位:这里导致眩晕的原因其实和之前所述的延迟类似,即使用者所感知的移动和实际所见产生了错位,更深层次的原因是视觉神经和前庭刺激(vestibular stimuli)之间无法达成一致。比如说,使用者在 VR 世界里玩跑酷游戏,但是在现实世界中却静 坐着。其实,现实生活中的一些眩晕,也是由这个原因导致的,比如说晕车、晕船。

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

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

Oculus华人工程师驳美军专家“VR难成功”说《电子工程专辑》

好了,讲到这里,我相信大家对于美军专家 Steve 的观点,已经有了更全面的认识。Steve 的观点,放在 2016 年的今天,是很难站住脚的。另外,在其余一些来自他的判断中,也有不少有漏洞,具体如下:

1、“每个人都觉得这些设备是崭新且具有革命性的,但这不是真相。在这两年发生的事情,仅仅是这些设备的价格从 8 万美元跌到 500 美元。我们并没有做出太多技术上的创新”,这个论据非常脆弱,位置追踪和手势追踪(hand tracking),都是当代 VR 设备的核心技术,这些技术在 20 年前都是不存在的。

2、“目前大多数 Demo 都是宣传性质的,在其他的行业展会上通常都是只有几分钟长的 VR 内容。我不知道这些厂商是不是故意这样做的……这也解释了为什么这么多人认为他们喜欢 VR”,这是典型的阴谋论,事实上,早期的 demo 都只有几分钟长,是因为他们真的只是 “demo”。Oculus 即将上线的三十多款应用程序,每一款都可以让使用者体验好多个 “几分钟”。

3、“我们都是专家,知道自己在做什么,但当你站在我们的实验室里举目四望,会发现没有一个人戴着 Oculus。仅在很少数的情况下,研究人员会戴上 VR,只是为了确认一些内容,然后在 30 秒内摘下来。大多数时候,我们都是在并排放置的两个显示器上观察视觉效果。当专案最终完成时,因为再也不用带这些头盔了,我们所有人都很开心。” 工程师不在开发时戴 VR 设备,并不是不喜欢 VR,而是因为戴上后就没办法进行开发了。虽然 Unity/Unreal 都在尝试 VR Editor(可以利用头戴 VR 设备进行开发),但目前阶段效率最高的还是在 PC 上开发,然后必要时戴上 VR 设备检查效果。另外,专案完成了,大家都很开心,难道不是因为专案完美收工吗?

在硅谷的各种 VR 展会上,经常能碰到一些十几年前就心怀 VR 梦想的技术人员,他们对这个领域倾注的热情,是常人难以想像的。正是这群人十几年的技术积累,使 VR 在今天有可能走进每个人的生活。文末,引用 Michael Abrash 在 Oculus Connect 上的一句话,和所有关注 VR 行业的大家共勉。

“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.”

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多