最近被一篇名为《美军专家表示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》)
回到美军专家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, 开发者工具包)里帮开发者解决了这一问题。
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的产品设计准则
VR应用的开发和传统3D游戏的开发有不少相似性,但因为VR提供了全新的交互方式,二者又有很多不同。Valve的Joe Ludwig专门写过一篇文章来阐述VR应用开发和传统3D游戏开发的不同以及注意点(Lessons learned porting Team Fortress 2 to Virtual Reality)。
正如美军专家Steve所描述的,这里面主要有两类:
缺乏深度信息:正常人眼在观看物体的时候,是有焦距的,不同焦距对应不同的视角,在视角内的图像,会很清晰,而在视角外的,就会比较模糊。玩过单反的朋友应该对此有比较深刻的体会。但是,目前的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, 都是其中的典范。
好了,讲到这里,我相信大家对于美军专家Steve的观点,已经有了一个更全面的认识。Steve的观点,放在2016年的今天,是很难站住脚的。另外,在其余一些来自他的判断中,也有不少有漏洞,具体如下:
1、“每个人都觉得这些设备是崭新且具有革命性的,但这不是真相。在这两年发生的事情,仅仅是这些设备的价格从8万美元跌到5百美元。我们并没有做出太多技术上的创新”, 这个论据非常脆弱,位置追踪和手势追踪(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.”