天天看點

《Unity開發實戰》——3.3節建立自發光材質

本節書摘來自華章社群《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 更多内容

這裡還有一些關于自發光材質的内容:

使用獨立貼圖

請注意還可以使用兩個不同的圖檔檔案作為base 和 illumination 貼圖。此時,base紋理的alpha通道将會控制材質的光澤。

通過其他物體發光

當烘焙一個光照貼圖(lightmap)時,material(材質)選項中的emission(lightmapper)字段可以通過其他物體模拟此材質的光照投影(light projection)。

繼續閱讀