天天看點

《Unity着色器和螢幕特效開發秘笈(原書第2版)》——第2章 表面着色器和紋理映射 2.1 引言

本節書摘來自華章計算機《unity着色器和螢幕特效開發秘笈(原書第2版)》一書中的第2章,第2.1節,作者 [英]艾倫朱科尼(alan zucconi)[美]肯尼斯拉默斯(kenneth lammers),譯 占紅來,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

在這一章中,會研究表面着色器。我們會從一個非常簡單的無光材料開始,最後做出一個全息投影和進階地形混合特效。我們還可以用紋理來制作動畫、混合或者其他一些特效。在這一章中,你會學到如下内容:

漫反射着色

使用包裝數組

給着色器添加紋理

通過修改uv值來滑動紋理

法線映射

建立透明材質

建立全息着色器

打包和混合紋理

在地形周圍建立圓環

我們在第1章中已經對表面着色器進行了初步講解,表面着色器是unity中主要使用的一種着色器。本章會深入探讨表面着色器及其工作原理。一般來講,使用每一個表面着色器都需要兩個基本步驟:首先需要給你想描述的材質指定特殊的實體屬性,比如其漫反射顔色、光滑度、透明度等。這些實體屬性會在一個名為表面函數(surface function)的函數中進行初始化,存儲在一個名為表面輸出(surface output)的結構中。第二步是surface output會被傳遞給光照模型(lighting model)。光照模型是一個特殊的函數,該函數還依賴于場景中周圍的光照資訊。所有這些參數會被用來計算模型的每一個像素上最終的顔色。光照函數是着色器的這部分計算的根源,因為光照函數決定了光線在接觸到材質時的行為。

下面這個圖簡單總結了一下表面着色器的工作原理。自定義光照模型的内容會在第3章中展開。第5章主要關注頂點編輯器。

《Unity着色器和螢幕特效開發秘笈(原書第2版)》——第2章 表面着色器和紋理映射 2.1 引言

繼續閱讀