陈栋梁

特效美术:光晕制作


概述

有过摄影经验的朋友都有体会,当我们对着强光拍摄时容易出现光晕现象。我们知道镜头是由很多镜片组成的,虽然每个镜片的通透性很高,但是难免会有一部分光线发生反射和散射,而这些没有与其他入射光保持方向一致的光线就造成了光晕现象。

在游戏场景中合理地运用光晕现象,能使我们的画面变得绚丽多彩。下图为在Evil3D引擎中使用光晕特效制作的效果图。接下来本文将详细介绍光晕特效的制作方法。

image

素材的准备

分析镜头光晕的组成元素,绘制光晕贴图,如下图所示。每张贴图的大小不必一致,可根据需要设置分辨率。贴图以黑色为背景即可,无需带透明通道。

image

在引擎中添加光晕特效

1、首先,将所有贴图素材放入一个文件夹里。打开引擎,在引擎中新建一个HaloSet,选中该HaloSet,进入其属性面版。首先需要在属性面版中输入Texture Count,即贴图素材张数,此处为7,然后点击Texture Atlas右边的“导入”按钮,把我们前面准备的贴图素材导进来。

image
image

选中放置贴图素材的文件夹,点击“选择文件夹”:

image

我们发现,引擎已为我们把所有的素材贴图拼凑成了一张大图:

image

需要注意,引擎为我们合成的大图的长宽分辨率只能为2的正整数次幂(如128、256、512等)。由于我们在此使用到的每张贴图的大小都经过了准确控制(3张256X256的贴图+4张128X128的贴图),所以恰好可以拼凑成一张512X512的大图。假如我们不对贴图的大小进行控制,那就不一定能恰好铺满整张大图了,此时就会产生贴图空间的浪费。调整右上角的“合成方式”,或许能够找到减少空间浪费的合成方法,但建议还是先将贴图的大小调整至最合理。

2、回到HaloSet的属性面版,在Halos展卷栏下点击添加符号按钮,为我们的HaloSet添加组成元素。点击每个Halo右边的箭头,都可以进入单个Halo元素的编辑面版。

image

image

添加好Halo后,我们可以在场景中观察光晕的效果,但此时光晕会不停地跳动。这是因为我们没有指定好光晕的方向。正常来说光晕应该来自于太阳光的方向,因此我们应该在HaloSet的属性面版中将Direction改成与场景中充当太阳光的Directional Light的方向一致。我们还可以通过Direction项右边的铅笔图标按钮来确定光晕方向。点击该按钮,然后在场景中正对太阳的位置双击鼠标,引擎会从当前像素向摄像机位置投射出一根射线,此射线方向即为光晕的方向。

3、接下来就可以一个一个地为我们的Halo设置属性。首先,点击Texture右边按钮可更换贴图,调整Size数值可改变当前Halo的尺寸。Position表示该Halo在光晕射线上的位置,当其为0时Halo与太阳位置重合。调整Diffuse Level可改变Halo的亮度,Diffuse Color可设置Halo的颜色。如果想整体地改变整个HaloSet的颜色,可以回到属性面版的上一层级,调整HaloSet属性中的Mix Color。经过如此一系列属性设置,就可以得到前面所看到的效果了。

PS:

① 本文介绍的是新版光晕,与旧版相比主要有两个新特性:1、支持不同尺寸的素材贴图,并提供将所有贴图合并成大图集的功能,比旧版灵活度更高更节省资源;2、可以修改整个HaloSet的颜色,也可以单独修改每个Halo的颜色。
② 如果有疑问或者错误不足之处,请和TA组联系!欢迎交流,我们会及时补充纠正!