《ob电竞》技术美术赵淳洁:如何用虚幻4在移动端实现次世代效果?
由西山居研发的《ob电竞》系列游戏多年来给OB欧宝体育电竞官网和行业的一惯印象就是出色的制作品质。在前不久的Epic Openday活动中,西山居《ob电竞》项目技术美术赵淳洁分享了用虚幻4引擎打造移动端次世代效果的一些方法。
【Gamelook专稿,转载请注明出处】
Gamelook报道/由西山居研发的《ob电竞》系列游戏多年来给OB欧宝体育电竞官网和行业的一惯印象就是出色的制作品质。在前不久的Epic Openday活动中,西山居《ob电竞》项目技术美术赵淳洁分享了用虚幻4引擎打造移动端次世代效果的一些方法。
以下是Gamelook整理的演讲内容:
大家好,我是北京西山居《ob电竞》项目的技术美术,今天主要跟大家说一下我们使用虚幻4在移动端所做的一些流程。首先我今天的主题是在移动端实现次世代效果,接下来我将从角色和场景两个方面给大家分享我们使用虚幻4在移动端实现次世代效果所作出的一些努力。
场景制作
首先是场景篇,我大致把它归类为以下几个方面:PBR材质制作、灯光烘焙、环境反射调整、POST后期校色、水面材质、光束材质和昼夜天气。
首先说PBR材质制作。基于物理的渲染大家应该已经都很了解了,从传统的Diffuse、Specular转换成了BaseColor、Metal和Roughness。虽然说效果上面有了很大的提高,但是相应的在效率上也会有一些压力。
在基础的材质方面,首先我们区分了金属和非金属材质,因为我们发现它其实存在两种高光计算,第一种是非金属,第二种是金属。而判断它的材质是金属还是非金属,是在材质编辑器中,看它的金属性是否和Specular有连接,下面这些是我们的一些基础材质的表现,在普通的材质表面我们并没有做其他的处理,只是提供了一些像BaseColor的明度、颜色,以及Roughness的强度、法线强度的调整。下面这个是非金属的表现。
接下来这个是我们贴图的存放关系,我们现在所有场景中的物件主要是三张贴图,第一是BaseColor,第二是Mask,第三是Normal。
因为我们现在的贴图压缩当中,绿通道是保留最多的,所以我们需要把存放信息比较多的Roughness通道放到绿通道里面,红通道是放了金属性,蓝通道是一个保留通道,会根据情况不同来存放场景或角色相关的AO、自发光或者我们所需要的混合材质的一个Mask。
为了节省贴图使用,我们使用了Mask材质,主要是我们在雪地或者沙漠这种场景中使用,这样就不用重新制作贴图,这个实现的方式主要是通过物体本身的法线位置以及蓝通道存放的Mask信息的混合,把物件本身与沙或者雪做混合,得到我们需要的一些效果表现。
接下来是一个灯光的过程,我记得去年也说过,所以简单过一遍就行了。我们是参考了现实中的光照并制作了相应的灯光测试球,首先是在场景中加入了一盏平行光,根据这些灯光测试球表面的高光表现以及光照强度对我们的平行光做强度和颜色的调整。
随后是加入天光,也就是环境光,由于我们的场景没有天光球,所以这个阶段我们事先在外面做了一个Cube Map,然后将这张图导入到场景当中,让暗部的阴影表现出我们需要的颜色。
还有增加环境反射,由于我们的游戏是固定视角,所以我们在反射的表明做了特殊处理,我们是首先取得反射贴图之后导入到PS中,在我们需要的灯光角度绘制了一个高亮点,这样在一些暗处就会有比较高光的环境表现,提高整体场景的层次。
然后是增加高度雾,它主要的好处是拉开近景、中景和远景的层次,并且在空气中增加尘埃的表现。最终是后期修正,4.15(版本)之后,虚幻引擎就把移动端的后期呈现改为了更加正确的呈现,这种情况下我们主要是做了对比度、饱和度以及整体曝光的适当调整。
(上图)右上角加入了一个体积光的光束片是为了让整体场景更加丰富。
这是一个光束的材质,这个原理也挺简单的,我们制作了一个烟雾的Mask、一张噪点的Mask以及光束片的Mask,让它们三者之间做一个相关的混合,使体积光显得更加有层次。因为我们会有一些拉近的场景,这样可以看到体积光中的一些尘埃细节呈现。
水面材质,最开始的时候我们考虑用Cube Map做反射来模拟真实水面效果的,但实际情况中,45度视角以及在移动端的表现不是太理想,因为并不像PC端那样有SSR或者临近反射的捕捉,所以最终我们采集了场景的2D纹理,通过屏幕将坐标传递到这张2D纹理,并把这个坐标的UV做了一定的扭曲,最终达到我们需要的效果。
最后是场景昼夜天气的变换,这个方面,我们是根据时间段的不同调整了灯光的颜色、强度,高度雾的强度、浓度,以及后期的校色、曝光这些方面,而且接下来我们的研发也会加入一些细节,比如特定环境下这些灯会打开。天气方面我们目前制作了一个下雨的效果,在下雨的情况下会有一些闪电,这些是我们采集了现实中的闪电频率,做了三四组然后进行随机播放。
角色制作
接下来我们说角色方面,也是主要有几方面的内容:搭建基础光照环境、角色皮肤材质、头发材质调整和Dither的使用。
角色制作方面,我们使用的是Substance Painter和虚幻4的结合,这样我们在制作的效率和效果方面可以得到很好的提升。
这张图是同一个角色在Substance、虚幻PC和虚幻移动端的对比,达到这种效果主要是我们根据Substance的光照环境,在虚幻引擎中做了相对准确的模拟。比如说之前有一个问题,我们最终制作的粗糙度表现在虚幻上会出现一些bug,最终我们发现这个问题,是因为在Substance导出的时候,会默认把所有的纹理默认勾选SRGB,只要去掉(勾选)就好了。
在后来的阶段中,我们是直接通过改substance的Shader让它降低一些反弹次数和反射,最终让substance和我们最终的效果达成一致。
这是一个皮肤的散射图,我们是根据皮肤的厚度手动绘制了散射关系,并把这张图自发光传递到角色上,最终发现在暗部和边缘会出现透红的现象,不过这张图是以前的。
在头发高光方面,我们使用了高光,并且在这个高光上面使用了类似束线状的Mask做一定的painting,之后就会呈现出比较高的精度。
最终是Dither的使用,起初我们是考虑用半透去做,但这样会出现半透排序的相关问题,如果用Mask去做又会出现很严重的锯齿感,现在虚幻后来的版本中已经提供了相关的功能,让Mask的边缘产生一些类似于噪点的效果达到近似半透的呈现,这个在材质当中只是一个开关,只要勾选就可以了。我所要将的也就是这些,谢谢大家。
如若转载,请注明出处:http://www.ashkeling.com/2017/06/292983