且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Unity开发实战》——3.3节创建自发光材质

更新时间:2022-10-03 13:31:32

本节书摘来自华章社区《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(自发光/漫反射)。


《Unity开发实战》——3.3节创建自发光材质


《Unity开发实战》——3.3节创建自发光材质

14)在Layers(图层)窗口中,隐藏或删除合并后的黑色和白色图层。
15)保存文件(.psd 或 .tga格式都可以,因为它们都会保存alpha通道)。
16)在Unity编辑器中,通过菜单Assets | Import New Asset导入此图片。
17)在Project视图中,选择LCDMaterial,然后选择那个图片文件作为Base(底图)和 Illumin(发光)贴图(通过点击Select按钮或从Project视图拖到material槽中)。自发光材质就准备好了,如下图所示:


《Unity开发实战》——3.3节创建自发光材质

3.3.3 实现原理
Unity可以读取纹理贴图的4个通道值:R(红)、G(绿)、B(蓝)和A(Alpha)。
当alpha通道根据每个像素的亮度级别点亮(illuminate)材质时,自发光着色器使用RGB通道作为基础纹理(通常指的是漫反射纹理)。

3.3.4 更多内容
这里还有一些关于自发光材质的内容:

  1. 使用独立贴图
    请注意还可以使用两个不同的图片文件作为Base 和 Illumination 贴图。此时,Base纹理的alpha通道将会控制材质的光泽。
  2. 通过其他物体发光
    当烘焙一个光照贴图(lightmap)时,Material(材质)选项中的Emission(Lightmapper)字段可以通过其他物体模拟此材质的光照投影(light projection)。