本节书摘来自华章社区《unity开发实战》一书中的第3章,第3.3节创建自发光材质,作者 (爱尔兰)matt smith (巴西)chico queiroz,更多章节内容可以访问云栖社区“华章社区”公众号查看
3.3 创建自发光材质
自发光材质可以用于模拟很多对象,从led手机显示屏到未来主义的tron套装上。本节我们将学习如何配置自发光材质以及它的纹理贴图。
3.3.1 准备工作
因为本节将创建一个lcd显示屏的例子,所以请读者确认已经安装这种字体。如果尚未安装,可以在网站www.dafont.com下载几个免费的lcd字体。
3.3.2 操作步骤
请按照下面的步骤创建自发光材质:
1)创建一个材质,命名为lcdmaterial。
在project视图中点击create下拉菜单并选择material(材质)是最简单的方式。
2)选择材质。在inspector视图中,在材质的名称下面使用下拉菜单把shader参数的值修改成self-illumin/diffuse(自发光/漫反射)。

14)在layers(图层)窗口中,隐藏或删除合并后的黑色和白色图层。
15)保存文件(.psd 或 .tga格式都可以,因为它们都会保存alpha通道)。
16)在unity编辑器中,通过菜单assets | import new asset导入此图片。
17)在project视图中,选择lcdmaterial,然后选择那个图片文件作为base(底图)和 illumin(发光)贴图(通过点击select按钮或从project视图拖到material槽中)。自发光材质就准备好了,如下图所示:
3.3.3 实现原理
unity可以读取纹理贴图的4个通道值:r(红)、g(绿)、b(蓝)和a(alpha)。
当alpha通道根据每个像素的亮度级别点亮(illuminate)材质时,自发光着色器使用rgb通道作为基础纹理(通常指的是漫反射纹理)。
3.3.4 更多内容
这里还有一些关于自发光材质的内容:
使用独立贴图
请注意还可以使用两个不同的图片文件作为base 和 illumination 贴图。此时,base纹理的alpha通道将会控制材质的光泽。
通过其他物体发光
当烘焙一个光照贴图(lightmap)时,material(材质)选项中的emission(lightmapper)字段可以通过其他物体模拟此材质的光照投影(light projection)。