《星球大战银河英雄传》视觉效果开发的技巧
在Unite Europe 2016上EA 的Captial工作室的视觉效果总监Jeff Kuipers分享了移动游戏《星球大战:银河英雄传》在视觉效果方面的制作经验,主要讲的是在视觉效果开发上会用到的一些技巧,一起来看看吧。
Jeff Kuipers具有15年的3A级主机游戏开发经验,最近3年再进行使用Unity的移动游戏的开发。Jeff Kuipers认为相对于主机,虽然移动设备的计算资源更加有限,但是移动游戏的巨大市场与移动VR的潜在机会,让移动设备上视觉效果的开发充满机遇与挑战。在移动设备上,视觉效果的质量同样重要,因为在完全体验玩法之前,玩家首先感受到的是游戏的美术与视觉效果。70分的视觉效果会给一个游戏基本的竞争力,余下30分的打磨,将使一个游戏从它的竞争者中脱引而出。
星球大战:银河英雄传是一个收集《星球大战》中角色组队作战的集换式卡牌角色扮演游戏,在2015年11月上线之后,该游戏进入google play和app store毛收入排行榜前20名。
在开发的过程中,项目组面临的主要挑战主要有两点:1.如何将深入人心的大屏幕上的电影体验如何搬到移动设备上面;2.如何在尽可能多的机型上上实现最好的视觉效果。在手机上移动游戏的目标帧率是30帧,为了能过覆盖尽可能多的机型,他们的技巧是不使用过度耗费的计算来实现高级的视觉效果。
他们视觉效果的工作技巧主要有:1.合理安排工作的优先级.2.充分利于光照效果.3.使用特效来构建氛围与吸引玩家.4.在关键部分使用专门订制的shader与插件。
1.合理安排工作的优先级
在开发过程中快速迭代是极其重要的。他们投入程序的人力来改进美术工作流,在开发的工程中对插件进行了扩展开发,实现了在运行时资源的替换和参数的保存,便于美术调试效果。(译注:如下图,他们使用playermaker插件,哈哈)
2.光照
关于光照,好的光照能够给场景带来巨大的表现的提升。该项目的场景的渲染使用烘焙的光照图。他们的经验主要有:1.在最终烘焙的时候使用高分辨率来进行烘焙,检查Final Gather,并将射线数量调高。2. 调节每个Object上的lightmap的scale值,给距离摄像机较近的物体较大的scale权重,这样能够控制每个物体占用的光照图空间的大小,并考虑之后的优化。3.为了节约运行时的内存空间,该项目缩小Lightingmap的图集大小(2048缩到512),并对每个场景只生成一个lightmap,同场景中在2-4个视角下共用。
3. 关于场景氛围
该项目中利用硬件的雾效来实现大气和景深的效果。Jeff Kuipers演示了他们雾效的调节方法。首先将雾的颜色调集成当前场景中对比比较大的颜色(便于观察雾效的范围),其次调节雾效的远近距离,最后在使用颜色吸管选取地平线附近的颜色表达深度。在进行光照和雾的设置之后,该项目向场景中添加特效来增强场景的表现。
4.特殊的shader与特效
该项目人物的照明,漫反射部分使用Light Probe完成,复杂的光照使用Matcap来实现。JeffKuipers演示了他们项目中黑武士的材质,在漫反射颜色之外,使用了另外的一张纹理来保存Mask,Matcap和Tint。并在场景中共用两张Matcap纹理作为光源。
关于特效,好的特效能够直接的增强游戏画面的丰富程度并增强游戏性。Jeff Kuipers介绍了他们所使用的兼顾表现与效率的分层的特效。在特效表现上,他们并没有直接使用序列帧,而是将不同特性的内容,分为不同的层次(如烟,火光等),这样在表现上更加灵活,同时使用较少的共享的高分辨率的纹理,来实现更加精细的效果。此外,特效不完全使用粒子效果实现,比如烟雾效果的表现,他们在单片网格上使用UV扭曲的动画来实现烟雾的效果,较少的overdraw。
对于一些体积光的效果,相对与一般常用的以物体为中心的布告板,他们项目所使用的shader将布告板往摄像机推了一些,效果更佳明显,并且不会与不透明物体交叉。
对于检查游戏运行时的overdraw,JeffKuipers将scene场景摄像机对齐到游戏摄像机时检查overdraw的方法。
对于星战中光剑的表达效果,Jeff Kuipers分享了他们的制作流程。首先参考电影中的光剑效果,观察视觉表现方面的关键特点。光剑的使用两个相互重叠的粒子来表现光剑与其光晕效果。并且通过拖尾与impact效果来表现光剑的力度与打击效果,这里的粒子同样被向摄像机拉了一下。
最终通过不断的迭代,特效系统,光照系统,和一些额外的shader与插件,Jeff Kuipers不使用后处理实现了高端但是有效的特效效果。
关于《星球大战:银河英雄传》的视觉效果开发技巧就分享这么多了,希望可以帮到大家。