Oculus VR在游戏开发者大会上的会议总结

0

这场研讨会名为 Oculus VR Event – Developing Virtual Reality Games and Experiences ,刚刚在GDC2014上结束。

这个研讨会由软件工程师 Tom Forsyth 主持,主要针对游戏开发者在虚拟现实中需要注意然而又容易忽略的一些问题。

11

一开始先再次介绍下 Oculus VR 刚刚发布了开发版第二版本的参数特性,目前的这个 DK2 版本是基于年初 CES 大会上的 Crystal Cove 的进一步改进版,1080p高解析度,广角镜头,可视范围(FoV)依视距度在90°-110°之间。屏幕为低持续性屏幕(low-persistence),由于每个像素点亮和熄灭的间隔时间很短的特性,这样就不会出现画面撕裂的情况了。感应方向的陀螺仪刷新频率为1000赫兹,60赫兹的外部摄像头通过头戴设备上的红外LED阵列来进行定位。

接下来, Tom Forsyth着重强调了针对开发者们的注意事项。

首先,要有爱心。不要虐玩家。作为虚拟现实的开发者们,成天腻歪在这个奇怪的世界里,早已习惯了各种迎面扑来的狗血,如同寻宝一样去寻找各种酷炫屌的机制。但是玩家们不是这样的,他们的大脑娇嫩无辜,只是想要一点新鲜好玩的经验。所以不要一股脑把所有你会的全糊他们一脸,给他们留下永痕的伤疤。他们会傲娇的,然后给你一颗星。

是的,的确有的玩家很喜欢被虐,越虐叫得越欢,但你需要记住,多数人都是正常人。太多的效果,很容易断掉玩家的临在感。

然后需要记住的是,所有人都是不同的。对于某些人来说一点问题都没有的行为,对其它人来说可能就是噩梦。比如上下楼梯就是非常明显的一点,有的人可以来回走动,上蹦下窜,但是遇到楼梯他就想死。而再奇怪一点,有的人上楼梯想死,下楼梯就没问题。最奇怪的是上楼梯没问题下楼梯想死的,在所有测试人员中迄今为止只遇到过一例。

在这点上,不要寄望于可以设置某些情景让玩家“慢慢来”适应。没用的。类似的规则在 Best Practice Guide 里都有,大家最好事先看看,包含了 Oculus 相关研究人员探索出来的一切。里面提及的需要注意的点,希望开发者在开发时都逐点注意。

此外,就算你不让使用者感觉恶心,但你用了太多虚拟现实的专属效果的话,也会让观众忽略你的游戏情节、方式、人物。所谓太过分,就是近景贴脸效果太多,节奏太快,动作太急。请开发者们将默认效果调至最低,因为有需要的人自然会去调高的。

注意事项完毕,开始讨论前庭眼反射(Vestibulo Optical Reflex)。

11

耳内的半规管(Semicircular Canal)是用来监测身体的转动的。

前庭眼反射能让你头部运动时也能看清楚静止的物体,头部方向的改变会被耳朵监测到,眼球跟随物体移动,整个过程产生到脑部的画面非常清晰完美,你也每天通过这个系统来观察这个世界。

这个生物系统对于人来说非常好,但 VR 要想模拟就太难了。因为整个生物屏幕并非和你的眼睛连在一起,而是嵌在你的大脑内的。当你的头部运动时,眼睛会扫过这个屏幕。

11

视觉压缩的感觉又如何呢?很多人都熟悉戴上一副新眼镜的感觉,配镜师们知道适应一副眼镜基本需要一到两周时间。在某些场景下会出现这种情况,但很容易因为开发者习惯了“戴着眼镜”的感觉就忽视了。作为开发者需要时刻注意前庭眼反射对于画面的补充。

11

在大型显示器上的游戏一般可以通过控制装置来改变视角范围的方向,当你转头时显示器当然不会移动,但是你的眼睛会移动,因此不会出现不适。眼部边缘的视觉会让你知道你正在一个真实的世界里。所以,在转向过程中,虚拟现实眼部周围的感觉需要和现实中一致。说了这么多,其实只意味着一点:视角范围(FoV)其实并不应该属于可调整选项,它需要配合头盔以及镜片等,成为一个固定值才能提供最好的VR体验。

而Oculus 的 SDK 会在这一点上指导大家。默认状况都是已经调整好了的数值,如果这个数值出现1%的偏差也有可能出现问题,所以确保你需要调整的话,就得调整好了。

接着是瞳孔间距(Inter Pupillary Distance)和脖子的问题。关于瞳孔间距,有的人认为这是唯一关键的数值,但实际上不是的,因为每只眼睛有两个组成部分,同时两只眼睛在各种方面都并非完美对称的。SDK会追踪中线部分(Middle Eye),也就是位于头盔正中央的线上,提供折中的视距。我们认为玩家对 VR 的位置感觉大致处于这条中线上。

11

11

11

确保设定一个方法能够触发自动居中,因为玩家每次取戴头盔,都会有造成偏差。关于这个,不要相信人们能自行调整。他们对这点会很敏感,“总觉得哪里有点不对”,但是如果让他们自己来调整,他们一般都越调越远……

有一点需要做的就是确保世界的比例。在这一点上,可以尽量让世界比例变大,人物在这个世界里的行动就会相应变慢变小,动作和速度感也就没那么激烈了。

在80年代的研究实验文献中,提及可以将瞳孔间距设为0,以减少出现的各种问题。但经过现在的试验,结果要么是没什么改变,要么更差(而且也失去了立体感)。难道以前的研究出问题了吗?经过仔细比较,发现并不是,原因只是因为彼时的VR体验太差劲了,而将瞳距设为0只是让体验稍微好那么一点点而已。

接下来是玩家的身高。玩家的属性中有他们的身高数据,SDK可以根据这个数据来调整画面。如果玩家在游戏中扮演他们自己的角色,那么用自己的身高就好。但如果扮演一个大高个,那么将视线高度相应调整到对应身高即可。玩家可以感觉到自己身高变高了,而并不需要你去更改世界的比例来使得玩家的感官发生变化,也不会让玩家感到迷失方向(而不像其它物理数据,改一改就可能出问题)。但是呢,目前这还是会带来一个奇怪的问题,被称之为“Floor Dragging”,基本上是因为更改了高度后,如果在现实中你坐着,在游戏中的起立/坐下会迷惑你的大脑,让周围世界比例发生(感性上的)改变。这个改变基本是你的大脑会带给你的,在实验中 Oculus VR 尝试过通过在站立/坐下的瞬间调整世界比例来补偿大脑的错觉,但是显然这种治标的方法会带来更多不可预知的感官差错。这个问题希望各位开发者们能自己去通过各种方式来尝试解决。

此外,在VR的世界里,尽量不要去控制屏幕,永远让头部追踪处于玩家控制内。比如上下车等场景,你按个按钮就坐下来了,过程中视角被强制转了90度,恶心死人了,让人吐出来是分分钟的事。即使是弯腰捡东西也一样。如果不得不需要控制视角,尽量采用淡入淡出,慢慢变黑等方式。比如上车,按按钮,屏幕慢慢变黑,再变回来时玩家已经坐在车里。在这个过程中,一直开启头部追踪,不要接管玩家视角。尽管这个方式让VR不那么真实了,但总比让玩家吐出来好。还有一个方法是切换成第三人称,让玩家在上帝视角里看场景转换。不过这也需要小心。

接下来谈论玩家角色(avatar)。在VR世界中,玩家自身的存在格外重要。你希望看到自己配好的枪,服饰等等。一位狙击手肩膀上还会站着小鸟,虽然平时看不见,但是一转头时那种代入感……总之,这种真实存在另一个世界的临在感,会因为合理处置游戏角色得到极大提高。那么,这有个问题,由于VR世界的第零守则是“视角永远跟随玩家头部转动改变”,那么玩家角色本身的动画应该如何处理这种行为呢?如果在联网游戏中,别人看到的你的角色应该如何渲染呢?目前的解决方式是让头和身体分开来,头部在VR中的定位受玩家控制,相当于一个钩子,然后身体仿佛挂在钩子上一样,这样定好位后再渲染出整个人物形象。这种方式在外部的debug摄像头里看起来相当恶心(头脑灵活,身体简单的怪物?),但是在VR里就比较自然了。

再之是帧速。临在感是很易被干扰的,稍不注意就会失去,而再次进入临在却要花费一定时间。因此,FPS的要求很高,必须留空间给自己。如果你的预计最大延迟是12ms,不要搞到11.9。所以,目前DK2的刷新率是75赫兹,尽管大家都说60就已经很好了。

总的来讲,大家可以在官方的 Best Practice Guide 里找到更多细节。

最后问答环节,关于大家关心的消费版上市时间,目前并没有任何计划,一切取决于 Oculus VR 解决问题和达到心目中标准的进展。关于帧数,其实目前GPU简单的靠增加帧数来降低延迟的方式并不太适合VR,需要和显卡厂商的和驱动厂商的进一步合作。在关于虚拟现实输入控制方法方面,Oculus VR 并未做过多研究,目前主要的精力都在视觉效果方面。

会议结束。

LEAVE A REPLY

Please enter your comment!
Please enter your name here