虽然我们总是把VR沉浸感挂在嘴边,但在硬件和技术的制约下,如何能在当前环境提供更好的沉浸感始终是个重要课题。最近来自Unity的罗志达分享了自己对于提升VR沉浸感的看法。

在罗志达看来,沉浸感就是说服大脑哪些东西是真实的,因此设备越少越好。随后其列举了影响沉浸感的十个关键点。

此外,罗志达也认为,大家不应该迷信自己所讲的内容,“VR改变太快了,刚刚那些都是基础,希望各位在这些基础上去衍生出属于自己的东西。现在投入VR的人非常多,失败和成功的都有,如果刚刚我所讲的你觉得不认同,建议各位想办法去突破那些点。我讲的东西是外面的人惧怕这些问题,所以他不碰,或者用比较安全的方式去做。如果你要突破,你就会有别于那些产品内容,这也是我们期望中国的VR开发者可以突破的事。”

以下是演讲内容:

罗志达:VR沉浸感是什么?沉浸感就是如何来说服你的大脑,这些是真的。什么样的沉浸感是最真实的呢?就是什么东西都没有戴的时候,现在在座各位坐在这里,听我演讲,什么都没有戴最真实,沉浸感是100%。

因为我们在现实生活的技术上没有办法达到没有设备帮你转移到另外一个场景,所以我们必须要仰赖很多设备,才会有VR头盔、眼镜、控制器、感应器、体感设备,不断推陈出新。但是当每一个设备加上去的时候沉浸感会下降,沉浸感降到一定程度的时候,消费者不会愿意花钱买你的内容,但是他会愿意体验你的内容。

所以开发者族群里面分两大类,一大类是做手游的,做手机VR的。另外一种是做体验,或者是PS VR这种有线的,因为品质比较好,效果也比较好。你会发现做手机VR给任何人他们都很乐意体验,但是要花10块钱买是另外一回事儿,他就会开始思考这是不是他要的体验。

国外VR手游也不太赚钱,但是在线下店有一些特殊的案例,国内我听到的是,如果要开线下店就开很多,3000间、5000间,但是内容、设备不是很好,因为要抢速度。

VR与我们以往看到产品的市场不太一样,它要求我们必须要高大上,所以国外比较成功的案例有几个比较共同的特征。每一个线下店都是定点式的,比如说在纽约、东京某一个点,这个点有线下的VR体验;它不会持续太久,三个月、两个月、一个月,营造出如果消费者现在不来体验,两个月就没了这种类似饥饿营销。他们在线下体验店消费会高一点,美国纽约抓鬼特工队是最贵的。当然,内容好时必须的。

国内现在有很多社交分享平台,体验过的用户会在平台上分享感受,假如你现在有3000家体验店,我根本不用去就能够知道这家体验店好不好玩。现在有所谓“生存能力”大部分地体验店都会营造高大上的感觉。

沉浸感的十个关键点

1.信任你的场景。各位在开发VR内容的时候一定是戴着头盔或者通过模拟去玩,假设今天模拟一个非常广阔的草原,但是你是在办公室里开发的。即使前面是广大的草原,但是你知道前面不是,所以你不会往前走。

如果戴上眼镜之后玩家不信任你的场景,意识到这是假的,将直接影响他付费的意愿,每一点环节都影响开发者付费的比例。

最好的变化就是把场景做的一模一样,在设计和策划时必须很小心,实际看到的东西与真实存在是不一样的。体验者戴上你的眼镜之后,当他发现他看到的东西和摸到的是一样的时候,就会想要冒险,想在里面走。面对眼前熊熊燃烧的火焰,现在大部分开发者设计的内容体验者知道去摸火也不会被烧到,如果是在真实的场景中会害怕。

沉浸感必须要装很多东西,可是什么东西都可以不用装,有一个东西必须要装,就是头盔。眼睛看到的东西是最影响当时玩家心态的。

2.移动是开发者蛮常犯的错误,因为移动不好做。很多VR开发者都是由游戏开发者转过去的,会习惯性设计一个键盘或者摇控器操作的游戏。这样最大问题是在VR中人的感官不只是手,可能水平、重力、声音都会影响到沉浸感和3D晕眩。

假设今天设计的是要面向某个年龄族群的,那你就可以根据这个族群去设计。如果你今天想设计一个APP,放在APP store,你不知道谁会来下载。会有10%的用户不舒服,他到论坛去说不好玩,就是头晕,就会影响你的销售。

越专业的开发者所做的内容在移动方面越保守,我们看到非常多的研究单位一直不断地在做新的机制,像无线回廊、空间定位等,非常多,要么就是设备非常多,要么效果也不是很好。目前看到针对游戏大部分比较常看到的是传送,传送是最安全,但说实在它在人的现实生活里面沉浸感不是那么好,只是目前暂时较好的解决办法。

现在大部分游戏内容都是静止不动的,过山车、赛车、高空弹跳等等。因为脚不动是最安全的,代表他不会走出去,不容易产生眩晕,但是这也导致大家做的内容大同小异。硬件和算法在发展,未来这个问题一定会有更好的解决办法。

3.控制器也是开发者很容易犯的错误。大部分的开发者直接拿默认的控制器,所以你会看到游戏内容有个摇杆。当然大部分比较厉害的开发者会针对这个问题再做一些修正。

比如弓箭类游戏可以把控制器真的绑一个比较重的弓或者塑胶杆上,让它有重量。中间绑一条有弹力的线,在拉的时候会感受到弹力。当然在正式商品要包装成为不容易损坏的,既然要做线下店,必须准备很完善的东西。

无双类的游戏,我有一个客户是做双节棍的,但是甩起来没手感。既然控制器前面有个杆,可以绑一条真实的塑胶。这部分是最可惜的,大部分开发者没有针对这部分做设计,导致沉浸感本来可以到60,结果只有30,只是差一点点。所以各位在设计相关控制器的时候这个地方可以做巧思。

重点不要让玩家拿实际的控制器,它只适合几种体验,比如敲打类的,并不适合拿的。有很多限制,更好的方法是在控制器上做额外的设计。

4.尽量不要做手与手之间的交互,这是最难的。有很多玩家希望多人连线,这也会带来一些问题,推导场景物件不难,但如果与另一个玩家握手,这时物理会有障碍。

现在虚拟现实的技术,所有的空间定位是针对本机的。如果拍打对方的手,没办法得到反馈,所以会变的很奇怪。有些开发者想要实现这部分交互,但要特别小心。

5.味道是被很多人忽略的。当然我们之前提到,设备是越少越好。所以如果要做味道尽量模拟真实环境,比如医院环境中有消毒水的味道,工厂会有油的味道。这些能够增加沉浸感,搭配前面讲的几个就可以做。

6.UI是使用者界面。在VR环境中最好不要有UI,因为我们真实生活环境就没有那些东西,除非你是做比较特别的内容,例如外太空或者是未来的游戏场景。

如果做模拟赛车,现实生活中的赛车没有UI,就不要做。FPS就真的给他看到弹夹有多少颗子弹。UI不是说不要做,而是小心制作,依照你的内容制作。

7.声音。当进行VR体验时,无论在家还是在外,环境音太多,所以必须戴耳机。戴耳机有几个重点,首先,我们可以用耳机传达游戏音效,同时也可以在环境里面做音效。Boss出场的时候会很厉害,有吼声和有震动,玩家会觉得害怕。通过声音的巧妙设计,能够增强沉浸感。

很多VR体验都会有解说人员。解说人员有两种,一种是在旁边抓着你告诉你这里要这样玩这里要这样玩。另外一种会有服务人员拿个麦跟你说前面有个枪,左边有个东西要捡。这种做法是很违和、很破坏游戏体验的。

8.重力感目前很难模拟,但国内有非常多的公司正在尝试做这些设备,而国外比较少。国内在体感设备上会有比较特别的发展,可能会有惊人的表现。

9.时间对体验也很重要。大排长龙的来线下体验店的人大部分都第一次体验,所以你要教他怎么玩,跟他装配这些设备大概要花掉90秒来穿戴,可能你的内容是10分钟,假设我们今天花了12分钟,最好的情况下是周末可以达到12小时都不要停,这是很不错的状况,每个小时只有5个人可以体验,一天只有60个人,请问各位你的票价要多少?你就可以知道这个店靠不靠谱,所以这些东西可以自己去算算看。

我没有说这个东西是好还是不好,为什么国外一些只有几家体验店希望大家来体验?因为他们面临相同的问题,假设他们今天可以开到3000间线下体验店,这个数字会非常庞大,但是必须先解决内容,两个月就必须要换一次。

现在的线下体验店在国外并不是大量地去买内容,而是自己来研发,去搭配商场。商场有一点可以分享,尽量不要在百货公司中,因为百货公司是可以随时来逛,可以不消费任何东西就走。

大部分的VR体验会放在游乐园,或者那个地方是要买门票进去的。在这个前提下我已经买门票,我已经千里迢迢来这个地方了,我看到排这么多人我必须要体验一下,因为没有别的地方有了。整个环节配起来可以造成效应。

10.最后,恐惧感。国外有一些案例是这样的,刚刚那些沉浸感的东西不要管可以做内容,帮助有恐惧症的人去接受治疗,因为有恐惧症的人会排斥。比如说居高症、空间狭隘症、怕蜘蛛、怕水、怕死人都有,怕不是真的怕,大部分是心理因素。所以有些国外的心理机构把刚刚其他感官统统去掉,只剩眼睛。几次疗程以后的目的是让他接受治疗,而不是透过VR来治疗他。

我刚刚讲的都不要信。为什么呢?因为VR改变太快了,刚刚那些都是基础,希望各位在这些基础上去衍生出属于自己的东西。虽然VR已经很久了,但是从2014年开始到现在,国内外起步水平都是一样,如果大家做的东西都是一样的,没有办法产生突破。

现在投入VR的人非常多,失败和成功的都有,如果刚刚我所讲的你觉得不认同,建议各位想办法去突破那些点。我讲的东西是外面的人惧怕这些问题,所以他不碰,或者用比较安全的方式去做。如果你要突破,你就会有别于那些产品内容,这也是我们期望中国的VR开发者可以突破的事。

Unity优化的几个技巧

第一,因为VR比较特别,它是端游的设备,但是必须要做到手游的品质,必须要两个眼睛去渲染。很奇怪的是,为什么用端游,最后跑出来的是晕眩感或者是交互没有办法像端游这么好?

因为Unity中有Resources,我建议用Resources做打包的行为。如果要用Assets在做原形或者做测试的时候可以用。因为它有很大的问题,会打包成非常大的包,尤其是在最后一点Runtime之后会把包的内容产生Index,永远放在内存中,从而产生影响。

第二,要采用Single pass。Unity中有把两个眼睛同时渲染的技术,不管你是用哪个,一定要选择某一个。因为这个会让两眼优化更好,这个我们也是一直在做。

第三,内存,尤其是纹理的内存。无论端游、手游、VR,占内存最大的就是纹理。从Unity5.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本来就是打勾的,如果没有太复杂的运算,取消也没有变化。模型在汇入的时候都会有骨架,每一个骨架都会占用资源,最好情况下是要用的骨架才显示出来。这个时候只要把设置改为在汇入的时候,把所有的骨架缩起来,将要用的放在白名单,整体的效能上会好很多。