英文原文:Oculus Primed: Meet the Geniuses Who Finally Mastered Virtual Reality
编者按:为了游戏的乐趣,玩家们往往可以忍受许多事情,但唯有“头痛、恶心”除外,Oculus Rift 产生的晕眩感主要就来自于整个系统的延迟时长。不过 Oculus 背后的性感极客们比一般人更不能忍受这种沮丧,从传感追踪元件、显示屏技术、GPU 入手,他们已经将延迟时削减至了 20 毫秒以下。这些极客们真得好性感。
2012 年 5 月份,第一人称射击游戏之父 John Carmack 发了一条 Tweet,“这个家伙比它看起来还要酷”。配图是一副由鞋盒做成的蒸汽朋克风的双光眼镜。
他说得没错,这个东西正是头戴虚拟设备 Oculus Rift。自任天堂 Wii 把人们从沙发上赶起来以来, Rift 是最让游戏迷们想望的游戏设备了。它的使命是要把很多人认为不可实现的梦想——VR(虚拟现实)向前推一大步。
Rift 的发明者是个 19 岁的 VR 发烧友——Palmer Luckey,一直以来都酷爱收藏旧式 VR 头戴设备,各类系统具备的难搞的图形系数、分辨率差、视场狭窄等缺陷他都了如指掌,改装游戏主机和 iPhone 也是他的拿手好戏。最终,他找出了一种为人们提供 360 度沉浸式体验的方式,视场之宽广完败市场上所有竞品。
Luckey 最初将 Rift 定位为发烧友的 DIY 套装,后来团队新来了两名极客,他们意识到这家伙足以改变消费者游戏周边设备。于是他们开始在 Kickstarter 以区区 300 美元的价格预售,筹到了 250 万美元,随着 Rift 开始送到开发者们手中,虚拟现实听起来似乎不那么虚拟了。
升级版的 Oculus 6 月份在 E3 上亮相时已经是 1080p 了,也是第一次,玩家们用它观看了电影 Man of Steel。用足够客观冷静的词来描述,人们惊呆了。是的,紧接着,Oculus 成了媒体的宠儿,关于 Oculus 的论坛涌现一时。Oculus 为游戏 demo 专门建了一个项目存储库。
现在它还是差一个消费级成品,该公司已经拿了 A16Z 领投的 7500 万美元,至 2014 年出货时,Oculus 应该会克服之前各种“槽点”,从显示技术到最终可实现的功能。但最重要的一点必须明确:它必须得解决自 Tron 时代以来就存在的 VR 顽疾:如何不再让游戏玩家感到晕眩、恶心。
追踪、分辨率、运动时产生的画面模糊都是影响虚拟体验流畅的因素,但是,这些都可归结为一种令人产生晕眩、恶心感官体验的原因——延迟。
延迟产生于指令输入与指令生效的不一致。当宽带连接不稳定时,你能体会到这种迟滞:画面总是会比你的操作慢上半拍,一不留神对手就把你杀死了,这对玩家来说是件无比沮丧的事。而使用 VR 头戴设备时,你付出的代价就并非只有沮丧了,还有晕眩感—Rift 团队所说的”Uncomfortable Valley”。人们可以为游戏忍受很多东西,惟独“恶心”不行。
当然,延迟不可能完全消除,或多或少会有一些。问题在于如何能尽可能地将它控制在低水平内。随着处理器能力的升级,不少 VR 头戴设备将延迟降低到了 100 毫秒、40 毫秒不等。这样的表现或许不至导致玩家的沮丧感,但也绝不能让人保证舒服。
对 Oculus 而言,这个有魔力的数字是 20 毫秒以下。“如果跨过了 20 毫秒的临界点,事情就化腐朽为神奇了。我们有自信做到 15 毫秒以下”该公司产品副总裁 Nate Mitchell 如是说。这个时长正是目前开发者套装延迟时长的二分之一,让用户实在到体会这种进步还需要许多创新。
Motion to Photons
Oculus 团队内部有一个词叫 Motion-to-photons latency,意思是指从玩家运动头部到在屏幕上看到新图像为止的一个周期里所产生的延迟时长总和,这个传递路径可分解为 6 个环节:
Oculus 的任务就是尽可能地削减整个流程产生的延迟时长。
第一步就是要将输入延迟最小化—加速将动作(即转动头部)至数字指令的转换。跟 Rift 的最初原型不一样,它内置了一个集陀螺仪、加速计、磁力计为一体的追踪器,揉合这种读数实时测量头部位置,现在第一环节的延迟时长已由最初的 15 毫秒降至 1 毫秒。而将信号从 Rift 传输至 PC(也是实际计算发生的环节)又会产生 1-2 毫秒的延迟,如果不重新发明 USB 电缆的话,这个数字已是几近极限了。
也就在这个点上,消减延迟时长的责任就主要了游戏开发者的身上——游戏的帧速率起着尤为重要的作用。大部分现代游戏约为 60fps,以这个水准换算,每张图传输至 GPU 的时间为 16.67 毫秒。如果游戏开发者能把这个速度提高 1 倍的话,这个环节产生的延迟时长就减半。
GPU 需通过 USB 线缆将”写图“指令传递给 Rift 显示屏的每个像素,有些像素转换很快——黑色像素变白只需不到 10 毫秒,不过灰色像素变成浅灰却需要 30 毫秒。为节省时间,每个单个像素只要一接到 GPU 发来的指令就开始转换;Rift 会从底部到顶部开始”书写”,所以,待至指令传达至顶部时,底部的像素已经转换完毕。
用 Mitchell 话说,这样的话,整个过程就缩短至 20 毫秒至 30 毫秒了,由于图像处理和“书写”几乎等时发生,对一部 60fps 的游戏而言,整个延迟时长实际就达 40 毫秒。(相比之个,Luckey 的蒸汽朋克原型的成绩是 52 毫秒,而索尼的 HMZ T3W 设备本身延迟就达 51 毫秒,不包括游戏产生的延迟。)40 毫秒的成绩还是太长。
所幸的是,Oculus 还留了不少高招。
各种阻碍
是最后的像素转换占据了太多时间么?事实证明时间主要浪费在了 LCD 屏幕上。OLED 技术,就是三星 Galaxy 手机上用的那种屏幕能够在数微秒之内完成转换。因此消费者版的 Oculus 会用 OLED 屏幕么?“我们还没决定,但这个方案确实值得考虑。”Mitchell 微笑道。“使用 OLED 的唯一麻烦之处在于,世界上仅有一个制造商提供的 OLED 技术符合我们需要的图形系数。”他说的是三星——而且他们从未将该技术卖给过第三方。
这并不意味着 Oculus 没在考虑其它比 LCD 出色的显示技术——也不意味着它没在自己捣饬。它与 Valve Software 合作的一项结果是,一个使用了 OLED 面板的原型。这一次,Oculus 的延迟时长首次降至 20 毫秒以下,也是 Iribe 第一次觉得不头晕。哪来的 OLED 面板呢?竟是从手机里拆出来的,即便他们不说,很明显是从 Galaxy S4 里“借”的。
总的来说,这是个转折点。Andreessen Horowitz 创始人 Marc Andreessen 问多久能解决这个问题,“我们诚实地说,快了” ,Iribe 表示。
现在 Rift 董事会成员 Chris Dixon 也看过最新的 Oculus 原型,他感觉超赞几乎感觉不到晕眩了。“看完实物后,我有信心他们能克服这些问题。我这一辈子看过五、六回我认为世界会因此发生改变的产品 demo:Apple II、Netscape、Google、iPhone…然后就是 Oculus 了。这太了不起了。”
这个进步也并非完全归功于 OLED 屏幕。Rift 的三个头部传感追踪元件对运动数据的取样能力每秒达 1000 次——比 Luckey 的原型快了 4 倍。这样高速的数据采集不仅能大大缩减延迟时长,而且还可实现预测玩家的头部下一个运动位置。Luckey 说,“有研究表示,你不可能很好地预测头部下一个位置,但之前从没有人能做到每秒 1000 次采样的成绩。”
他继续说:“如果头部运动很快的话,它不能够即刻停止,而只能从某个点上开始减速,因此,‘如果他们在转动脑袋的话,在某一时间范围内是不能减速的,我就能提前获头部的下一个位置。’接着,随着头部运动减速,可预测性会降至 0。”这并没有真正地改变延迟处理速度,但却允许玩家更快地看到图像,这就改变了主观上的延迟时长——几乎可以加快 10 毫秒。
下来再说 John Carmack,这个 8 月份新加入的来头不小的 CTO。在加入团队之前,他老早就在博客中写过通过改变 GPU 写入的方式显示减轻延迟现象的方法。在这之后,Oculus 就开始与 NVIDIA、Qualcomm、AMD 等制造商商磋了,目的是保证现在的普通电脑以及下一代 Android 智能手机能够与 Oculus 实现无缝数据传输。
还有一个未解的问题是:人们为 Rift 开发的游戏和应用能够足够流畅。10 月份时,Oculus 就开始出货 Latency Tester 这个让开发者测量完整延迟时长的小工具了。将它放在 Oculus 头戴设备的镜片上,按下测试键,游戏引掣会收到信号并在屏幕上画出一个彩色方块;测试器会给出该方块成形所需的时间。(模拟以上 1-6 环节的数据传输过程)这是一个仍在探索中的问题。
但从各个角度击破后,Oculus 团队并不认为延迟还是个可怕的问题了。“我们已经越过了 Uncomfortable Valley,现在忙的是其它事。追踪精准度、图象质量、分辨率都是产品最终到达消费者手中前需要考虑的问题。坐拥 7500 万美元的融资,还有世界上最有经验的 VC 的指导,他们完全有自信实现目标。
不过,延迟时长还是有消减的空间。“我们的目标是 0 延迟,我们已经很接近了。”Mitchell 说。