在Unity中使用Shader

1、Material 和 Shader 的關係,一個材質包含一個Shader程序,在Shader中設置的屬性可以通過Material可視化設置


2、內建Shader,5.0之後的版本中大部分舊的Shader都集成在了Standard Shader中了,可以通過設置Standard Shader的屬性達到不同的需要的渲染效果。

 

Albedo:反光率

Specular:鏡面反射

Smoothness:鏡面反射的光滑度

NormalMap:法線貼圖

爲什麼叫法線貼圖,我們知道法線(Normal)是垂直於一個面的直線,通過計算光線與這條法線的角度就可以知道與面的角度,進而可以計算出面應得到的顏色值。如果我們知道物體每個面的法線就能實現對這個物體進行光照渲染。但是一堵牆也許只有四個頂點,也就是隻有一個面,它最終的渲染效果將會非常單一,假設這堵牆上有更多的磚的凹凸痕跡,我們增樣實現僅用四個頂點渲染出立體感很強,細節層次感很強的這堵牆呢,使用法線貼圖。 在法線貼圖技術中,我們就是通過把牆面的每個像素的法線存儲在一張紋理中,渲染的時候根據每個像素的法線確定他們的陰暗程度,而這張法線貼圖是可以用photoshop軟件從一張牆的紋理生成對應的法線貼圖的。到此,熟悉法線貼圖的朋友會對以上內容很熟悉的。

HeightMap:高度圖

Occlusion:貼圖吸收

添加一個貼圖之後設置吸收的係數

Emission:自發光貼圖和顏色

 

 

 

3、創建自定義Shader程序

l 創建一個Material

l 創建自定義的Shader程序

l 爲Material指定Shader程序(根據Shader文件內定義的名稱查找)

l 將Material指定給GameObject查看效果

 

 

 

 

4、Shader程序的語法和規則

http://blog.csdn.net/zh13544539220/article/details/46925009

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章