Oculus Rift的性感极客们到底是如何破解晕眩感的
编者按:为了游戏的乐趣,玩家们往往可以忍受许多事情,但唯有“头痛、恶心”除外,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个环节:
用户输入;
USB 电缆从Rift向电脑传送指令;
游戏引掣为GPU翻译指令;
处理器发布写出“新图像”的命令;
Rift的显示屏将像素转化为新图像;
新图像完全生成。
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说。