原文地址:http://geek.csdn.net/news/detail/76504
我们组在2014年下半年尝试开发了一款Xbox One平台的体感游戏,2015年上半年进行收尾工作的同时,结合之前积累的体感交互经验,开始进行VR游戏的预研工作。在这近一年的时间里,一方面从外界感受到了一股虚拟现实快速发展的潮流,另一方面也体会到身边很多人对VR游戏的了解非常有限。现在,我们自己的VR游戏Demo《Comet》(如图1所示,观看地址:http://v.qq.com/boke/page/i/0/s/i0195r6fc0s.html)已经完结,从技术上验证了在当前的硬件条件下,开发高画质游戏的可行性。当然,优质的VR游戏需要大家共同的努力,我们也希望更多的人参与进来。在此,把我们在开发过程中学习到、体会到以及所期望的进行总结,希望对大家有所帮助。
VR硬件原理及现状
狭义上的“VR硬件”,特指具有沉浸感的头戴显示器,它有三个基本特征:
下面对当前的硬件做一些技术分析:
VR显示的基本原理
首先,我们来分析一下满足上面提到的三个基本条件的最廉价产品——Google的Cardboard(如图2所示):
Cardboad以低廉的价格让很多人提前感受到了VR的魅力,并衍生出了很多塑料壳的版本。不过从体验上来说,Cardboard并不能算是一个合格的VR硬件,很多人在试玩过后,就自然而然地以为“VR就是那么回事儿”、“目前硬件还差得远”、“也就新鲜几分钟”等等,从一定程度上误导了很多人对VR的认知。
那么,Cardboard存在哪些问题呢?
当然,还有一些其它的小问题,比如手机发热、起雾、过重、画面变形等。这些虽然不是影响体验的主要因素,但在使用上也是挺烦人的。接下来,我们看看Oculus针对这些问题是怎么解决的,或许也能解释两者之间的价格差异为什么这么大。
不受限制的视野
如果需要达到逼真的视觉体验,视野必须尽量接近真实。这需要满足两个条件:一是接近人眼的FOV,二是跟随头部运动的视角。
图3很直观地说明了人眼的FOV特点:双眼的覆盖范围是不同的,两只眼睛加起来可以超过180°。
当然,在平面的液晶屏上很难做到这种效果。所以目前主流的VR硬件(不包括Cardboard)大多是用凸透镜做到了100°-110°左右的FOV,虽然没有达到自然视野的程度,但相对于传统FPS游戏(FOV为50°-60°)来说,是个巨大的进步,直接影响到UI设计、交互、性能、场景设计、镜头等方面。为了解决近距离通过透镜观看画面的变形问题,我们需要对画面进行反向的变形校正(如图4所示)。
图5、图6所示就是正常双视口渲染的画面,经过Barrel Distortion变形后的效果(在很多Cardboard游戏上,这一步是省略掉了的)。
但是,FOV越大,光线的折射率也就越大,光线的散射现象也就越明显,给人的感觉就是画面边缘的像素出现了重影(如图7所示)。
所以,变形后还需要对色散问题进行校正,即Chromatic Aberration。从图8中我们可以看出边缘像素的RGB三基色位置是错开的,这样通过透镜观看时才不会出现色彩分离的奇怪现象。
空间定位能力
头部的运动追踪,Oculus增加了一个外置的红外摄像头(如图9所示)用于头显的空间定位,它同时也可以用于双手控制器(Oculus Touch,如图10所示)的定位。
当然,这种定位方式也存在FOV的问题,只适合桌前的小范围运动。对于大范围的移动,HTC Vive的Lighthouse技术更有优势,可以在5x5m的范围内自由移动(如图11所示)。
空间定位技术的引入,直接改变了游戏的操作方式,从“指令式”操作逐渐变成类似“体感”操作的自然交互体验,UI也就不再拘泥于2D,开始向3D UI转变。
主流VR硬件参数
表1 2016年主流VR硬件的参数
表1可以大体上说明2016年主流VR硬件的参数(DK2和Gear VR是很多人都体验过的,作为对比也加进来)。
从表格中提供的数据,结合一些现场体验可以分析出一些关键信息:
另外值得关注的是Gear VR,算是最早商业化的平台硬件,提供了比Cardboard更好的体验,但同样受到机能的限制。预测手机VR方案几年后会推动VR设备的普及,毕竟手机是人人都有,买个配件的成本还是可以被很多人接受的。
Motion-To-Photon延迟
有一个参数是表中没有的,那就是延迟。我们先来给出定义:从用户开始运动到看见屏幕上产生相应变化所需的时间。
从图12可以看到,从传感器采集,经过线缆传输,
游戏引擎处理,驱动硬件渲染画面,液晶像素颜色切换,到人眼看到对应的画面,中间经过的每一个步骤都会产生延迟。要想达到理想的状况,需要硬件和软件优化的紧密配合。目前公认的可以被多数人接受的VR延迟是20ms,很多VR硬件只是传感器和液晶屏的时间就已经超出范围了。
对于VR硬件来说,低延迟才是核心竞争力。但目前延迟缺少一个测试和评估标准,所以很难通过公开的数据评估每个设备的体验效果。如果以20ms为一个临界值,可以说其他品牌的VR设备大部分都不合格。
VR体验目前的主要问题
VR游戏在当前的硬件条件下,仍然存在一些问题。我们作为开发者,必须搞清楚每个问题产生的原因,能够解决的解决,不能解决的回避,在此基础上才能做出良好的体验。
晕动症
“晕”可能是第一次体验VR的多数人最直接的感受,就像晕车晕船般的感觉。很多人可能只是因为这个原因就会放弃对VR游戏的期待,掉入“VR
目前还不成熟”的圈子里。那为什么VR游戏这么容易晕?
体质原因:比如有人患有恐高症,放到一个悬崖边的虚拟场景里,也会触发心理和身体的反应。
缺乏好的交互方式
VR头戴显示器可以看作是一个显示输出设备,而对于游戏来说,还有另外一种重要的硬件——输入设备。在VR游戏中,鼠标键盘的操作方式首先
就可以放弃了,因为看不到,只能盲操作。游戏手柄的话算是一种折中方式,但并不能发挥出VR的潜力。理想的输入设备其实是双手,这也是最自然的方式。
遗憾的是,不管是Kinect或Leap Motion,都无法完美地支持双手交互的精度。所以,目前主流的VR控制器还是以双持手柄为主,预计要到2016下半年才开始上市。在拿到Oculus Touch之前,我们尝试了基于Kinect体感的VR交互方式,虽然并不完美,但已经能够看出未来的交互设计雏形了(如图13所示)。
GPU性能不足
Barrel Distortion变形后带来一个问题:中心区域像素分辨率的损失,也就是说中心区域的像素被放大,而边缘区域的像素被压缩了。但是人眼对于视野中心的像素清晰度非常敏感,为了保证清晰度,需要把原始渲染分辨率提高,以保证变形后的画面能够达到液晶屏的像素密度,如图14所示。
以Oculus Rift为例,屏幕分辨率为2160x1200,渲染分辨率需要长宽各提高到140%,即3024x1680,再加上90FPS的帧率要求,每秒需要渲染的像素
达到了4.5亿个(如图15所示),相当于当代主机(Xbox One、PS4)游戏的7倍,与4k分辨率游戏所需要的硬件差不多。为了保证体验,他们规定了一个最低配置,叫作Oculus Ready的标准——CPU i5 4590、内存8G、显卡GTX970。
虽然PS4的渲染性能远远达不到GTX970的程度,但是相对于PC来说,它可以提供一致的体验,这对VR来说非常重要。毕竟就算你的游戏画面再好,如果一玩就晕得想吐,那也不会是一个好游戏。不过好在离VR普及还有一段时间,足够让Oculus Ready的PC成为大众配置了。
佩戴舒适度
很多近视玩家会担心不能使用,其实主流的显示设备都可以戴眼镜观看。至于戴着舒不舒服,那就需要在工业设计上进行迭代优化。就目前
来看,Sony家的头显最舒服,Oculus家的手柄最舒服,HTC家的功能最强。除了平台独占的VR游戏,多数会同时兼容三家的设备,所以从体验上来说,差别不会太大。
VR游戏与传统3D游戏的开发差异
VR游戏在开发制作上的差异,远远没有很多人想象的那么大,更多的是设计上的思路转变。所以,想要开发VR游戏,前提是能够开发一个3D游戏,核心还是游戏本身,VR只是体验上的增强。如果要写一个“VR游戏开发教程”,那么其中90%的东西,与VR并没有直接关系。但是,这10%的差异,却是VR的核心竞争力,因为它可以带给你“前所未有”的体验,为我们进行游戏玩法创新提供了非常大的发挥空间。
玩法
与主机游戏类似,注重核心体验,即Camera、Control、Character。可能很多人会觉得VR游戏只适合做FPS,其实并不是这样。只要保证沉浸感良好,什么类型的都可以做,RTS、MOBA、AVG、
MMOG等等都可以。需要关注的核心点是Camera和Control,这直接关系到玩起来晕不晕,能够玩多长时间。只有保证操作体验和沉浸感过关,游戏的玩法才有意义。
当然,VR也给我们提供了一些新的特性,可以用于玩法设计中:
图形
如果以Oculus Ready的硬件标准,基本上可以预期的画面表现力差不多相当于上代主机的画面,即Xbox 360和PS3后期的水平。我们试做的VR游戏Demo,在项目启动时的规格比较高,GTX970+Oculus DK2的硬件下,经过优化可以流畅运行(如图16所示)。
下面是最终版的技术选型,给大家做参考:
当然,如果具有足够的优化功力和场景设计技巧,也不排除GTX970+Oculus Rift流畅运行的可能,但这并不适合多数的团队。
美术制作方面,有些资料会说Normal Mapping和Billboard Particle不再适合VR渲染,其实并不是这样的。这些效果只是在近距离观看时才会发现很假,远处随便用,不用担心在制作上与传统3D游戏的差异。近距离的话,只能使用Parallax Mapping和Mesh Particle之类保证不穿帮,但是极少数情况需要这样,跟场景和特效设计有关系。
总体上来说,美术的制作与传统3D游戏差异并不大,除了UI,参考图17。
交互
由于目前主流的VR操作设备已经趋于统一(参见图18),大家都有这么几个特征:
从Oculus的Toybox Demo演示视频可以更为直观地了解VR下的人机交互是什么样子的(如图19所示)。可以预见,基于双手的物理交互会越来越多,也就意味着物理模拟在VR游戏中的应用会更普遍一些。
同样地,UI的设计已经不再推荐2D平面化,更加倾向于3D的效果,如科幻风格的全息投影,或者使用实体模型。或许,以后VR游戏中的“UI”会改由3D美术来制作。
音效
传统的3D游戏音效一般是通过音量变化判断距离远近,并通过频率变化判断相对移动。以空间定位为例:
在VR中立体声耳机是可以随着头部转动的,这就意味着,我们可以通过两个声道配合转头来判定上下左右前后(如图20、图21所示,图片来
自OculusConnect_Introduction_to_Audio_in_VR.pdf)。
同样,头部除了转动之外,还可以小范围移动,不用通过走动就能判定声音的远近。以前相当于背景音的环境音效,现在也能分辨出大概的方位,如图22所示。
因此,在VR游戏中,3D音效会被越来越多的人重视起来,甚至发展出新的玩法,比如Pastoral这个游戏。有兴趣的同学建议读一下这篇文章——《VR中的声音听起来体验如何?和传统音频有什么区别?》,地址:https://www.zhihu.com/question/40294035。想听一下效果的,可以观看:Spatialized audio demos in VR,地址:https://www.youtube.com/watch?v=dV3Qog44z6E(需科学上网)。
VR游戏后续发展期望
主机平台现在有一类游戏,以高画质剧情体验为主,操作非常简单,俗称“游戏电影化”。目前VR圈也有很大一部分人在尝试VR电影的制作,但是基于360°视频的拍摄手法在VR的沉浸感并不是很好,而且传统的电影拍摄手法也不适合VR视频制作。所以,电脑制作的3D动画类电影在VR化方面具有先天优势,再结合VR头显的一些输入特性,甚至会产生“电影游戏化”的产品。另一方面,以UE4为代表的游戏引擎,实时渲染的画面效果已经达到了CG级别,在技术上具备了制作实时渲染电影的能力。可以预见到,未来的VR互动电影与VR游戏,它们之间的边界会变得十分模糊。
另外,推荐观看国外的VR主题公园THE VOID视频,地址:http://v.qq.com/page/q/e/a/q0194f24rea.html,相信不久的将来,这种体验可以像电影院一样普及。
随着技术的进步和成本的下降,VR和AR会跟智能手机一样进入我们生活的方方面面。对于VR游戏来说,很多人也跟我有一样的梦想,希望在有生之年,可以把它变成现实。