沉浸感可以算是对 VR 技术最简洁的概括,在VR设计中有哪些技巧可以提升沉浸感?
Unity技术经理罗志达《设计VR体验中的沉浸感》分享VR沉浸感内容开发的10个设计建议及4个优化技巧。
以下是VR陀螺整理的演讲内容(略有删减)。
Unity技术经理罗志达《VR沉浸感》:
我是Kelvin,我加入Unity 4年了,今年是第4年来这边参加Unity,今天想要带给各位的是VR沉浸感的分享,除了沉浸感之外我还会说明一些优化技巧。
增强VR中的沉浸感 开发者与线下店如何做
沉浸感是什么? 沉浸感就是如何来说服你的大脑这是真的。但现实生活的技术上没办法达到没有设备帮你转移到另外一个场景,我们必须要仰赖很多设备,如VR头盔、眼镜、控制器、感应器、体感设备。
假设你今天去线下体验店体验,你去体验一个VR设备,你得戴上很多东西,才能感应到嗅觉、视觉,你要欺骗你的大脑体感,你就必须戴手环、控制器。
假设今天你要做一个产品有一个很关键的点,当你沉浸感到比较高程度的时候,客户会愿意花钱,在国内我听到的是如果要开线下店就开很多,3000间、5000间,但是内容、设备不是很好,因为要抢快。
但是VR跟我们以往看到产品的市场不太一样,国外比较成功的案例有几个比较共同的特征。第一种就是每一个线下店都没有很多,都是定点式的。比如说在纽约、东京某一个点,且时间不会太久,三个月、两个月、一个月,要营造出什么呢?你如果现在不来体验,两个月就没了,所以它要把价格抬高,当然内容是非常好的。
他们在线下体验店消费会高一点,美国纽约的The Void的《捉鬼敢死队》的体验是最贵的。假如你现在有3000家体验店,我根本不用去到就能够知道这家体验店好不好玩。现在有所谓的“生存能力”大部分都会营造高大上的感觉。
VR沉浸感的10个基础建议
沉浸感有一些关键点是大家了解,但是却没有注意到的。
信任你的场景:场景重现
第一:信任你的场景,各位在开发VR内容的时候一定是戴着头盔或者是模拟去玩。假设戴上眼镜之后玩家不信任你的场景,他脑袋就会知道这个是假的,会影响他付费的意愿。
最好的变化就是把场景做的一模一样,你在设计的时候必须要在策划面上很小心,假设这个场景有个椅子,你就要在里面摆个椅子。你的场景设计会有蜘蛛丝,你就放一些蜘蛛丝。
移动:瞬移传送或不移动
第二:移动,移动是开发者常犯的错误,因为移动不好做。很多VR开发者都是由游戏开发者转过去的,游戏开发者很习惯用键盘操作,设计一个键盘操作、摇控器操作的游戏。这样最大问题是在于在VR里面因为人的体感不只是手,可能水平、重力、声音都会影响到沉浸感跟VR、3D晕眩。如果有10%的用户不舒服,他到论坛去说不好玩,会头晕,就会影响你的销售。
越专业的开发者所做的内容在移动方面越保守,我们看到非常多的研究单位一直不断地在做新的机制,像无线回廊、空间定位等,目前看到针对游戏大部分比较常看到的是传送,传送是最安全,但说实在它在人的现实生活里面沉浸感不是那么好,但是也没办法。
假设你今天要做移动,要么就是不要强制人体移动这件事情,一定会有部分比例的玩家造成不舒服,所以大部分看到的游戏内容都是禁止不动的。你会发现你们在商城看到的很多种体验,过山车、赛车、高空弹跳,很多一部分是禁止不动的。因为脚不动是最安全的,代表他不会走出去,晕眩感会比较好做。但是反过来代表大家做的都是一样,硬件在发展、演算法在发展,未来这个问题一定会有所解决的。
控制器:默认控制器上做额外设计
第三:控制器,控制器也是开发者很容易犯的错误。大部分的开发者直接拿默认的控制器,所以你会看到游戏内容有个摇杆。大部分比较厉害的开发者会针对这个问题再做一些修正。因为是FPS设计游戏,所以用枪,用枪的情况下希望不要用摇杆,所以把摇杆插在枪上。你的内容在控制器上加一点点的巧思就会非常好玩。更好的方法是在控制器上做额外的设计。
手跟手之间的交互:最好不做
第四:手跟手之间的交互。这是最难的,有很多玩家希望做多人连线,多人连线会有问题,场景物件要推倒它是很容易的事情,但对方如果是另外一个玩家,你要跟他握手,这个时候物理会有障碍。
现在虚拟现实的技术,所有的空间定位是针对本机的,所以我这边的控制是依照我的头盔、头显、控制器位移做控制的。如果我今天拍打对方的手,他没办法得到反馈。这样一来就会变成很奇怪,你要做握手的行为会变的非常难,有些开发者想要实现,但这件事情要特别小心。
味道:最好能有
第五:味道。味道有很多人是可以忽略的,设备是越少越好,但味道最好能有,假设你今天去医院,有医院的消毒水味道在空间,如果你去工厂会有油的味道在空间,它会增加沉浸感觉。
UI:参考真实空间
第六:UI。UI是使用者界面,这是大部分开发者也会犯的错误,UI制作放在场景里面,最好虚拟现实里面不要有,因为我们真实生活环境就没有那些东西,除非你是做比较特别的内容,比如说本来就是虚拟现实,外太空或者是未来的游戏场景。
如果你今天是做模拟赛车,现实生活中的赛车在真实空间里面没有UI,就不要做。FPS开枪就真的给他看到弹夹有多少颗子弹,假设你今天的目的是为了让他相信你的场景是真的话,不是说不要做,是依照你的内容制作小心制作。
声音:不见其人但闻其声
第七:声音。声音部分很多人用耳机,戴耳机有几个重点,第一,你可以用耳机去传达你的游戏音效,同时也可以在环境里面做音效。
我们看到FPS设计游戏在场景里面要打大Boss,场景里面开枪打Boss声音听着很震撼,但是我来听少了一点什么,Boss出场的时候会很厉害,有吼声,有震动总地板传过来我会觉得很害怕,因为怪兽还没出来声音就先出来。如果是从重低音震动传过来会感觉到它的步伐,加一点点巧思会让你的声音传达,沉浸感比较好一点。
重力感:国内多 国外少
第八:重力感,重力感没有办法模拟,如果你没有设备的话不要模拟设备,你有OK,但这种设备很麻烦,而且会影响到体验的装配时间,国内有非常多的公司做这种设备,可以去尝试,国外比较少。国内在体感设备的机器上会比较特别发展,在这一块儿会有不一样的惊人表现。
时间:与体验店息息相关
第九:时间,时间对体验来讲也很重要,大排长龙的来线下体验店的人大部分都第一次体验,所以你要教他怎么玩,跟他装配这些设备大概要花掉90秒来穿戴,可能你的内容是10分钟,假设我们今天花了12分钟,最好的情况下是周末可以达到12小时都不要停,这是很不错的状况,每个小时只有5个人可以体验,一天只有60个人,请问各位你的票价要多少?你就可以知道这个店靠不靠谱,所以这些东西可以自己去算算看。
恐惧感:留下视觉
第十:恐惧感。国外有一些案例是这样的,帮助有恐惧症的人去接受治疗,因为有恐惧症的人会排斥。比如说居高症、空间狭隘症、怕蜘蛛、怕水,怕不是真的怕,大部分是心理因素。所以有些国外的心理机构把刚刚那几感统统抽掉,只剩眼睛。几次疗程以后的目的是让他接受治疗,而不是透过VR来治疗他。
但关于沉浸感的这十点只是基础的建议,因为VR改变太快了,希望各位在这些基础上去衍生出你自己的做法。
VR沉浸感的4个优化技巧
再来就是讲跟优化相关的东西。我尽量收集的是没有那么技术性的,但是非常重要的。
第一,因为VR比较特别,它是端游的设备,但是必须要做到手游的品质,必须要两个眼睛去渲染。很奇怪的是为什么用端游,最后跑出来的是晕眩感或者是交互没有办法像端游这么好。
因为Unity里面有Resources,我建议用Resources做打包的行为,假设你要用Assets话就是在做你的原形或者做测试的时候可以用。它有很大的问题,它会打包成非常大的包,尤其是在最后一点Runtime之后会把包的内容产生Index,永远放在内存里面,它会有影响的。
第二,要采用Single pass,Unity里面有把两个眼睛同时渲染的技术,不管你是用哪个,一定要选择某一个。因为这个会让你的两眼优化比较好一点,这个我们也是一直在做。
第三,内存,尤其是纹理的内存。不管端游、手游、VR,占内存最大的就是纹理。从Unity5.3开始会有一个Memory frofiler在,下载点如果各位有兴趣的话可以去搜寻,但是要5.3之后,我建议你是用最新版。如果你用Memory frofiler看你的项目的话,你会看到大块的几乎都是纹理,这个纹理可以帮助你做几件事情。
如果你的内存过大,可以先检查大章的纹理,有可能是美术在制作纹理的时候画太大了,或者在压缩的时候没有把它设置好。再就是你的纹理重复了,因为美术跟程序是分开的,有可能美术画完之后把资源导给程序员,导入之后没有注意到同一个纹理不同的点汇入了之后,会重复,内存就爆了。
所以从Memory frofiler看到,假设你有两个一样的纹理,你可以点进去看它的信息,第一个是名字一样,我们再继续往前检查,第三个是Instance ID,这里很重要,是项目打开的时候才会产生的编号,假如你的编号是一样的,就代表这绝对是重复的纹理。所以你可以请美术、程序把这边调整一下,把InstanceID的相同的纹理删掉,虽然这个图一样,但是是有不同的纹理汇入的,我的美术画了一张一模一样的东西,但是却有不同模型产生的问题,是否要从美术端做修正。
大部分的VR开发者很喜欢做后置,做环境遮挡、光晕、柔焦、动态模糊,从Memory frofiler里面会产生中介的Buffr,这个buffr会依照你的屏幕产生,所以你会注意到这是手游客户常发生的事情,他希望适配Ipad AIr,但是它的分辨率是2048×1536,所以在产生特效的时候开了这么大的内存空间,可能使用的人可能是苹果4、苹果5比较小分辨率的屏幕,造成你的内存用掉了很多,因为它是等比的。假设你今天扫一半,相当你的内存扫了四分之三,你的内存就爆掉,你只觉得套件不好用而已。
Unity已经对外公开了一个叫Post processing stack,它的好处是什么呢?它会帮你把所有的特效叠成一层之后才送去GPU运算,所以不管你叠几层只算一个Memory Buffr。
问题最大的地方是什么呢?目前特效没有很多,尤其是对VR柔边没有特效,这个套件有提供FXAA,也不错。柔边很大的问题是很多开发者在分辨率上特别计较柔边效果,但是目前市面上能够找到可以处理柔边的效果包,大部分都没有支持刚刚提到的勾。如果有支持的话效果会非常好,如果你找到套间没有支持的话会变成效果不好,就会逼着你不要用,但是你的帧率会面临很大的挑战,你必须要买很好的显卡。所以你可以采用FXAA。这些列表是支持VR的,所以可以使用在VR的内容上。
假设你今天希望的特效刚刚那个列表没有,只好自己写,你在做VR特效的时候会发现有很多特效上面写非常厉害,但应用在VR特效里面会有问题。
很多开发者都是用预色值,很多的纹理汇入之后很多勾。我们默认这些东西是有原因的,第一个是Read/Write enabled,CPU来运算的时候必须把纹理从GPU调用到CPU来,会耗时间,打了这个勾之后会减少时间。打了这个勾之后内存会重新消耗一份,所以这个勾在纹理里面最好是依照需求来勾,除非你那个地方要做物理运算才需要。
再就是Mipmaps,远看的话会切换,默认值没办法依照每个人的需求不同。
第四就是模型。你会发现Read/Write Enabled本来就是打勾的,如果你这个东西没有太复杂的运算的话,你取消了它的勾,当然也没有变化。
你的模型在汇入的时候都会有骨架,每一个骨架都会占用资源,最好情况下是要用的骨架才显示出来。这个时候只要把设置改为在汇入的时候一改,会把所有的骨架缩起来,你只要把你要用的放在白名单里面会缩起来,在整体的效能上会好很多,尤其是你的场景里面有好几百个人的时候,好几百个人的骨架都像刚刚这么多的时候会出问题。
以上就是《设计VR体验中的沉浸感》的10个基础建议和4 个优化技巧。
谢谢各位!
关注微信公众号:VR陀螺(vrtuoluo),定时推送,VR/AR行业干货分享、爆料揭秘、互动精彩多。
投稿/爆料:tougao@youxituoluo.com
稿件/商务合作: 六六(微信 13138755620)
加入行业交流群:六六(微信 13138755620)