Pass Tags
Syntax 語法
Tags { “TagName1” = “Value1” “TagName2” = “Value2” }
指定TagName1 的值爲 Value1 ,TagName2 的值爲 Value2 你可以指定很多你喜歡的標籤
Details 細節
標籤基本上是鍵-值對的形式。 內部的Pass 標籤用來控制光照管道(環境光照,頂點關照和像素光照)中pass 的任務和一些其它選項。注意以下的標籤必須在pass段內部,而不是在SubShader中被識別。
LightMode tag 光照模式標籤
LightMode 標籤定義了光照觀點中的pass的任務。查閱render pipeline瞭解更多細節。這些標籤很少手動使用。常用的shader 需要與光照進行互動的Shader寫成表面着色器 然後在去關聯那些細節
LightMode 的可選值:
- Always:總是渲染。沒有光照應用。
- ForwardBase:用於正向渲染,環境主要方向燈和定點光/SH 等的應用。
- ForwardAdd:用於正向渲染,附加的像素光被應用,每個光照一個pass。
- PrepassBase:用於延遲光照,渲染法線/鏡面指數。lor function)。
- PrepassFinal:用於延遲光照,通過結合紋理,光照和自發光渲染最終顏色。
- Vertex:用於頂點光照渲染,當物體沒有光照映射時,所有頂點光照被應用。
- VertexLMRGBM:用於頂點光照渲染,當物體有光照映射的時候使用頂點光照渲染。在平臺上光照映射是RGBM 編碼。
- VertexLM:用於頂點光照渲染,當物體有光照映射的時候使用頂點光照渲染。在平臺上光照映射是double-LDR 編碼(移動平臺,及老式臺式CPU)。
- ShadowCaster:將物體當做陰影產生者來渲染。
- ShadowCollector:爲了正向渲染對象的路徑,將對象的陰影收集到屏幕空間緩衝區中。
RequireOptions tag 需要選項標籤
當一些外部條件得到滿足時 這個pass才渲染,這是通過使用RequireOptions標籤,它的值是一個空格分割的字符串,目前由Unity3d支持的選項是:
SoftVegetation:如果在Quality Settings中開啓(Edit->Project Settings->Quality)渲染軟植被則pass可以渲染。