Unity Shader 基礎

與材質(Material)共同影響渲染對象

常見的流程為:

1.創(chuàng)建一個材質(包含材質屬性、紋理、漫反射系數);

2.創(chuàng)建一個Unity shader,再把Unity shader 賦給材質;

3.把材質賦給需要影響的物體;

4.在材質面板中調節(jié)Unity shader的屬性,最后得到滿意的渲染效果。


材質(Material)

Unity中的材質需要創(chuàng)建一個GameObject的Mesh,或者是Particle System組件來工作。


Shader

在Assets中創(chuàng)建 和 Material一樣

可創(chuàng)建的shader分為四種:

1.Standard Surface Shader,包含標準光照模型的表面著色器;

2.Unlit Shader ,不包含光照的頂點/片元著色器;

3.Image Effect Shader 實現屏幕后處理效果(各種后期:高斯模糊,鉛筆風格,輝光);

4.Compute Shader,利用GPU進行一些與常規(guī)渲染流水線無關的計算。


創(chuàng)建之后在project面板中選中Shader文件,可以在Inspector面板里看見他的導入設置(Import Settings)

如果這個Shader是一個

固定函數著色器(Fixed Function Shader)在Fixed function 后面會出現Show generated code按鈕,以便讓我們查看該固定函數著色器生成的頂點/片元著色器;

如果是一個

表面著色器,后面也會出現Show generated code按鈕,點擊查看Unity背后為表面著色器生成的頂點/片元著色器。


Unity Shader的基礎ShaderLab

ShaderLab是編寫Unity Shader的一種說明性語言;屬于一層抽象。

一個Unity的基本結構包括:


Shader ?" ShaderName "{

????????????Properties{

? ? ? ? ? ? //屬性

????????????}

? ? ? ? ? ? SubShader{

? ? ? ? ? ? //顯卡A使用的子著色器

????????????}

????????????SubShader{

? ? ? ? ? ? //顯卡B使用的子著色器

????????????}

? ? ? ? ? ? Fallback"VertexLit"

}

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容