神刀安全网

走进VR游戏开发世界 揭秘与传统游戏差异

背景介绍

2015年上半年,我们团队结合之前积累的体感交互经验, 开始进行VR游戏的预研工作。结合之前积累的体感交互经验,开始进行VR游戏的预研工作。在这近一年的时间里,一方面从外界感受到了一股虚拟现实快速发展的潮流,另一方面也体会到身边很多人对VR游戏的了解非常有限。现在我们自己的VR游戏Demo已经完结,技术上验证了在当前的硬件条件下,开发高画质游戏的可行性。当然,优质的VR游戏需要大家共同的努力,我们也希望更多的人参与进来。在此把我们在开发过程中学习到的,体会到的,以及所期望的进行一下总结,希望对大家有所帮助。

走进VR游戏开发世界 揭秘与传统游戏差异

图片为我们的VRDemo:Comet

VR硬件原理及现状

狭义上的”VR硬件”,特指具有沉浸感的头戴显示器。它有三个基本特征:

全3D的立体显示:附合人眼观看现实物体的习惯,能够”以假乱真”

完全虚拟的画面:需要屏蔽外界光线的干扰,你所看到的都不是现实的东西。有些人可能觉得”增强现实(AR)”更高大上一些,但是对于游戏,我认为还是更倾向于VR。玄幻,魔幻,科幻,一切皆为虚幻。

不受限制的视角方向:视角方向跟随头部转动和移动,不同于之前的头戴式显示器,视野非常广

当然,仅仅是这样的体验,并不能说是完美的”虚拟现实”,这也是很多人说硬件不成熟的理由。但是,在保证体验良好的的情况,目前的硬件已经满足做出高品质游戏的条件。下面对当前的硬件做一些技术分析:

VR显示的基本原理

首先,我们来一下满足上面提到的三个基本条件的最廉价产品,Google的Cardboard:

走进VR游戏开发世界 揭秘与传统游戏差异

插入手机做为显示屏幕,通过分屏的方式处理双眼的画面,达成立体画面显示。

借助纸壳屏蔽外界光线干扰,通过透镜就可以观看到手机渲染的虚拟画面。

依赖手机内置的陀螺仪,可以模拟出头部转向时视角的变化。另外,凸透镜在一定程度上增加了FOV(FieldOfView,视场角)。

Cardboad以低廉的价格,让很多人提前感受到了VR的魅力,并衍生出了很多塑料壳的版本。不过从体验上来说,Cardboard并不能算是一个合格的VR硬件,很多人在试玩过后,就自然而然地以为”VR就是那么回事”,“目前硬件还差得远”,“也就新鲜几分钟”等等,从一定程度上误导了很多人对VR的认知。

那Cardboard存在哪些问题呢?

严重的画面延迟:手机陀螺仪模拟的转向精度和响应速度都不满足VR的要求,造成渲染的画面跟不上转头的速度,加重了晕动症。

糟糕的画面表现:手机性能不足以支撑高画质高帧率的3D画面渲染,只能呈现出一些简单的卡通风格画面,达不到”以假乱真”的程度,影响了沉浸感。

缺乏自然的交互:由于手机的限制,目前没有配套的头部和手部的定位方案,从交互上很难做到让人满意的程度,只能依赖蓝牙手柄这样的传统输入设备。

当然,还有一些其它的小问题,比如手机发热,起雾,过重,画面变形等等,这些虽然不是影响体验的主要因素,但在使用上也是挺烦人的。接下来我们看看Oculus针对这些问题是怎么解决的,或许这也能解释两者之间的价格差异为什么这么大。

不受限制的视野

走进VR游戏开发世界 揭秘与传统游戏差异

如果需要达到逼真的视觉体验,视野必需尽量接近真实。这需要满足两个条件:一是接近人眼的FOV,二是跟随头部运动的视角。

上图左很直观地说明了人眼的FOV特点:双眼的覆盖范围是不同的,两只眼睛加起来可以超过180度。当然,在平面的液晶屏上很难做到这种效果,所以目前的主流VR硬件(不包括Cardboard)大多是用凸透镜做到了100~110度左右的FOV,虽然没有达到自然视野的程度,但相对于传统FPS游戏(FOV50~60度)来说,是个巨大的进步,直接影响到UI设计,交互,性能,场景设计,镜头等方面。为了解决近距离通过透镜观看画面的变形问题,我们需要对画面进行反向的变形校正:

走进VR游戏开发世界 揭秘与传统游戏差异

下图就是正常双视口渲染的画面,经过BarrelDistortion变形后的效果(在很多Cardboard游戏上,这一步是省略掉了的):

走进VR游戏开发世界 揭秘与传统游戏差异

图片来我们的VRDemo:Comet

但是,FOV越大,光线的折射率也就越大,光线的散射现象也就越明显,给人的感觉就是画面边缘的像素出现了重影。

走进VR游戏开发世界 揭秘与传统游戏差异

所以,变形后还需要对色散问题进行校正,即ChromaticAberration。下图中我们可以看出边缘像素的RGB三基色位置是错开的,这样通过透镜观看时才不会出现色彩分离的奇怪现象:

走进VR游戏开发世界 揭秘与传统游戏差异

图片来自我们的VRDemo:Comet

空间定位能力

头部的运动追踪,Oculus增加了一个外置的红外摄像头用于头显的空间定位,它同时也可以用于双手控制器(OculusTouch)的定位。

当然,这种定位方式也存在FOV的问题,只适合桌前的小范围运动。对于大范围的移动,HTCVive的Lighthouse技术更有优势,可以在5x5m的范围内自由移动:

走进VR游戏开发世界 揭秘与传统游戏差异

空间定位技术的引入,直接改变了游戏的操作方式,从”指令式”操作逐渐变成类似”体感”操作的自然交互体验,UI也就不再拘泥于2D,开始向3DUI转变。

主流VR硬件参数

这里有一张表格,可以大体上说明2016年的主流VR硬件的参数(DK2和GearVR是很多人都体验过的,做为对比也加进来):

走进VR游戏开发世界 揭秘与传统游戏差异

从中表格中提供的数据,结合一些现场体验可以分析出一些关键信息:

三家VR设备的FPS和FOV差异并不大,这方面在体验上差距很小。PSVR的120FPS是60帧插值出来的,并不是实际的渲染帧数。

三家VR的控制器都趋于一致:双持手柄,有空间定位能力,可以模拟双手操作。这就为我们进行VR游戏的交互设计提供了很好的指引,引擎层面可以进行统一抽象,不用再为每个设备单独设计。

分辨率相对于DK2都有改善,但受限于OLED屏幕技术和硬件性能限制,还达不到视网膜屏的程度,像素点肉眼仍然可见,但已经不会影响游戏画面的观看。

PSVR由于受限于PS4的机能限制,无法在分辨率上占有优势,但是可以通过像素排列和镜片技术减少纱门效应(ScreenDoorEffect),即像素间空隙(OculusDK2上非常明显)。

每家的硬件都会依赖一个内容发行平台,与主机游戏的运作思路很像,这也决定了VR游戏的设计思路。

另外值得关注的是GearVR,算是最早商业化的平台硬件,提供了比Cardboard更好的体验,但同样受到机能的限制。预测手机VR方案几年后会推动VR设备的普及,毕竟手机是人人都有,买个配件的成本还是可以被很多人接受的。

Motion-To-Photon延迟

有一个参数是表中没有的,那就是延迟。我们先来给出定义:从用户开始运动到看到屏幕上产生相应变化所需的时间:

走进VR游戏开发世界 揭秘与传统游戏差异

从上图可以看到,从传感器采集,经过线缆传输,游戏引擎处理,驱动硬件渲染画面,液晶像素颜色切换,到人眼看到对应的画面,中间经过的每一个步骤都会产生延迟。要想达到理想的状况,需要硬件和软件优化的紧密配合。目前公认的可以被多数人接受的VR延迟是20ms,很多VR硬件只是传感器和液晶屏的时间就已经超出范围了。

对于VR硬件来说,低延迟才是核心竞争力。但目前延迟缺少一个测试和评估标准,所以很难通过公开的数据评估每个设备的体验效果。如果以20ms为一个临界值,可以说其它品牌的VR设备大部分都不合格。

VR体验目前的主要问题

VR游戏在当前的硬件条件下,仍然存在一些问题。我们做为开发者,必须搞清楚每个问题产生的原因,能够解决的解决,不能解决的回避,在此基础上才能做出良好的体验。

晕动症

“晕”可能是第一次体验VR的多数人最直接的感受,就像晕车晕船般的感觉。很多人可能只是因为这个原因就会放弃对VR游戏的期待,掉入”VR目前不成熟”的圈子里。那为什么VR游戏那么容易晕?

1。你没动,画面动了:VR游戏体验者通常身体是静止不动的,如果游戏中看到的是各种加速/旋转/震动等,正常人都会受不了,跟晕车晕船的原理是一样的

2。你动了,画面没跟上:这就是上文提到的延迟,很多时候,硬件附合要求了,游戏却帧数不够,同样也会造成严重的延迟现象。

3。体质原因:比如有人有恐高症,放到一个悬崖边的虚拟场景里,也会触发心理和身体的反应。

原因1可以从游戏设计上进行回避,但是目前来说很多需要跑步和跳跃的游戏受限比较大。原因2的话,主流硬件在延迟上都是满足要求的,做为开发者更多的是需要做好性能优化。原因3,从我们组的几个人感受来看,随着体验次数的增加,症状会越来越轻,这表明人的身体是可以适应的。而且,适当地增加一些让身体有所反应的游戏场景,也不失为一种乐趣。

缺乏好的交互方式

VR头戴显示器看以看作是一个显示输出设备,那对于游戏来说,还有另外一种重要的硬件:输入设备。在VR游戏中,键鼠的操作方式首先就可以放弃了,因为看不到,只能盲操作。游戏手柄的话算是一种折衷方式,但并不能发挥出VR的潜力。理想的输入设备其实是双手,这也是最自然的方式。遗憾的是,不管是Kinect,还是LeapMotion,都无法完美地支持双手交互的精度。所以,目前主流的VR控制器还是以双持手柄为主,预计要2016下半年才开始上市。在拿到OculusTouch之前,我们尝试了基于Kinect体感的VR交互方式,虽然并不完美,但已经能够看出未来的交互设计雏形了。

GPU性能不足

BarrelDistortion变形后带来一个问题:中心区域像素分辨率的损失,也就是说中心区域的像素被放大了,边缘区域的像素被压缩了。但是人眼对于视野中心的像素清晰度非常敏感,为了保证清晰度,需要把原始渲染分辨率提高,以保证变形后的画面能够达到液晶屏的像素密度。

以OculusRift为例,屏幕分辨率为2160×1200,渲染分辨率需要长宽各提高到140%,即3024×1680,再加上90FPS的帧率要求,每秒需要渲染的像素达到了4。5亿个,相当于当代主机(XboxOne,PS4)游戏的7倍,与4k分辨率游戏所需要的硬件差不多。为了保证体验,他们规定了一个最低配置,叫做OculusReady的标准:CPUi54590,内存8G,显卡GTX970。

走进VR游戏开发世界 揭秘与传统游戏差异

虽然PS4的渲染性能远远达不到GTX970的程度,但是相对于PC来说,它可以提供一致的体验,这对VR来说非常重要。毕竟就算你的游戏画面再好,如果一玩就晕得想吐,那也不会是一个好游戏。不过好在离VR普及还有一段时间,足够让OculusReady的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给我们也提供了一些新的特性,可以用于玩法设计中:

由于头部运动追踪的存在,点头和摇头的操作是可以被识别的,这就意味着很多Yes/No的操作可以直接通过头显输入。

头部的朝向可以灵活变化,当你”盯”着某个物体看时,可以针对这个行为做出相应指令,具体可以参考GearVR上的Land’sEnd。

由于360度视角方向不受限制,我们可以在背后做一些场景改变,让每次转头看到的场景都不一样,既能做成惊喜,也能做成惊吓。

头部不仅仅可以转动,还可以配合身体小范围移动,比如SummerLesson中凑近NPC,NPC会害羞…Vive的一个上帝视角Demo可以蹲下看到地底下打地道的小兵。

VR渲染可以调整WorldScale,即世界单位缩放,相当于动态调整自身相对于场景的比例,既可以做成巨人的视角,也能做成蚁人的视角。

因为VR世界中的单位可以与现实不一样,那么一些类似”缩地术”的功能也变成现实,通过身体小范围的移动,达到虚拟世界中的大范围移动效果。

双手控制器的存在可以模拟一些抓,扔,摸,打等的操作,捡起一个道具上下左右仔细看也是很有意思的一件事,可以把迷题设计在道具的隐藏角落里。

VR中有了双手的存在,很多解迷机关就不再是简单的按一个键,各种零件组合,机械,绘画等对于双手控制器来说都是很棒的操作体验。

控制器的握持感,非常接近于游戏中的手持武器,比如枪械,比如刀剑,这比握着一个鼠标或者手柄的感觉强多了。得益于高精度的传感器,做出具有竞技性的操作玩法也不是不可能。

双手具有天然的空间感,一些建造类的玩法也非常适合,比如MineCraft,比如Besiege等,UE4甚至尝试了在VR中进行场景编辑。

由于3D音效的加强(下面会提到),“听音辨位”就可以做得更真实,各种潜入类玩法非常适合。

另外,由于沉浸感的增强,恐怖游戏和XX游戏带给人的感官刺激会放大,这就不用展开了,试过就知道。

图形

如果以OculusReady的硬件标准,基本上可以预期的画面表现力差不多相当于上代主机的画面,即Xbox360和PS3后期的水平。我们试做的VR游戏Demo,在项目启动时的规格比较高,GTX970+OculusDK2的硬件下,经过优化可以流畅运行,下面是最终版的技术选型,给大家做参考:

走进VR游戏开发世界 揭秘与传统游戏差异

图片来自我们的VRDemo:Comet

PhysicallyBasedMaterial:物理光照材质算是主流技术了,但是相应的性能开销也会大一些。

SphereReflectionCapture:反射效果和各种高光材质就靠Cubemap了。

BakedStaticLighting+BakedAmbientOcclusion:即能用静态光照就用静态的。

GlobalDynamicShadowMaps:仅仅是主角和大件遮挡物。

InstancedStaticMesh:对于性能的提升非常明显,大量的优化是基于Instanced技术。

Bloom+ColorGrading:多数的后期镜头效果在VR中并不适用,因为是通过双眼直接观看,并不像传统游戏那样通过”摄像机镜头”观看。而且,为了性能,能关的都关了…

FXAA:理论上来说TemporalAA更适合消除远处的SpecularAliasing,但是会导致近处HUD的文字和纹路受到影响,解决之前先用FXAA代替。

当然,如果具有足够的优化功力和场景设计技巧,也不排除GTX970+OculusRift流畅运行的可能,但这并不适合多数的团队。

美术制作方面,有些资料会说NormalMapping和BillboardParticle不再适合VR渲染,其实并不是这样的。这些效果只是在近距离观看时才会发现很假,远处随便用,不用担心在制作上与传统3D游戏的差异。近距离的话,只能使用ParallaxMapping和MeshParticle之类保证不穿帮,但是极少数情况需要这样,跟场景和特效设计有关系。总体上来说,美术的制作与传统3D游戏差异并不大,除了UI。

走进VR游戏开发世界 揭秘与传统游戏差异

图片来自EIPC的ShowdownDemo

交互

走进VR游戏开发世界 揭秘与传统游戏差异

由于目前主流的VR操作设备已经趋于统一,大家都有这么几个特征:

可以模拟双手的空间位置和旋转;

通过手柄上的按钮触发指令型操作,如抓住,发射等;

仍然保留传统的”摇杆”,但比较少用到;

这里有一个OculusToyboxDemo的演示视频,能够很好地说明VR下的人机交互是什么样子的:

走进VR游戏开发世界 揭秘与传统游戏差异

图片来自Oculus的ToyboxDemo

可以预见到,基于双手的物理交互会越来越多,也就意味着物理模拟在VR游戏中的应用会更普遍一些。

同样的,UI的设计已经不再推荐2D平面化,更加倾向于3D的效果,如科幻风格的全息投影,或者使用实体模型。或许,以后VR游戏中的”UI”改由3D美术来制作了。

音效

传统的3D游戏音效,一般是通过音量变化判断距离远近,通过频率变化判断相对移动。以空间定位为例:

左右:通过左右声道的音量差异区分;

前后:通过多声道的卫星音箱或多声道耳机区分(不适大多数人);

距离:通过音量的衰减判断;

高低:冒似没什么好办法…

在VR中立体声耳机是可以随着头部转动的,这就意味着,我们可以通过两个声道配合转头来判定上下左右前后

走进VR游戏开发世界 揭秘与传统游戏差异

图片来自OculusConnect_Introduction_to_Audio_in_VR.pdf

同样的,头部除了转动之外,还可以小范围移动,不用通过走动就能判定声音的远近。以前相当于背景音的环境音效,现在也能分辨出大概的方位。

走进VR游戏开发世界 揭秘与传统游戏差异

图片来自OculusConnect_Introduction_to_Audio_in_VR.pdf

因此,在VR游戏中,3D音效会被越来越多的人重视起来,甚至发展出新的玩法,比如Pastoral这个游戏。

有兴趣的同学建议搜一下这篇文章: VR中的声音听起来体验如何?和传统音频有什么区别。

VR游戏后续发展期望

主机平台现在有一类游戏,以高画质剧情体验为主,操作非常简单,俗称”游戏电影化”。目前VR圈也有很大一部分人在尝试VR电影的制作,但是基于360度视频的拍摄手法在VR的沉浸感并不是很好,而且传统的电影拍摄手法也不适合VR视频制作。所以,电脑制作的3D动画类电影在VR化方面具有先天优势,再结合VR头显的一些输入特性,甚至会产生”电影游戏化”的产品。另一方面,以UE4为代表的游戏引擎,实时渲染的画面效果已经达到了CG级别,在技术上具备了制作实时渲染电影的能力。可以预见到,未来的VR互动电影与VR游戏,它们之间的边界会变得十分模糊。

下面这个是国外的VR主题公园THE VOID,相信不久的将来,这种体验可以像电影院一样普及。

随着技术的进步和成本的下降,VR和AR会跟智能手机一样进入我们生活的方方面面。对于VR游戏来说,很多人也跟我有一样的梦想,希望在有生之年,可以把它变成现实。

from:腾讯游戏频道  逍遥剑客

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 走进VR游戏开发世界 揭秘与传统游戏差异

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮