基本的屬性有,好像又是沒什麼規律,就一個個試試吧:
Properties {
[Header(additive shader)]//對shader的總體說明性文字可以這樣寫
[Space]//空位
_MainTex ("MainTex", 2D) = "white" {}
_SecondTex("SecondTex",2D)="white"{}
_TintColor ("Color", Color) = (0.5,0.5,0.5,1)
_Bright ("Bright", Float ) = 2
[Space(50)]
[Toggle] _DRIVESECONDTEX("SecondTex?", Float) = 0
[Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull Mode", Float) = 2//enum()枚舉函數,將CullMode寫到屬性面板,默認值“0”代表是off,“1”代表front"2"代表back
[Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 04//默認值從0到8本別代表了test類型
[Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Float) = 0
}
Header
[Header(No Chinese)]
_MainTex("Base (RGB)", 2D) = "white" {}
不能用中文,能有空格
Space
[Space(10)]間隔也不算很高,其實也不知道這個屬性有什麼用
Toggle
[Toggle]_Amount("DissAmount", Range(0.5, 1)) = 0.6
好像寫下限0.5並沒什麼用,聲明瞭Toggle就只能1,0
Enum
[Enum(UnityEngine.Rendering.CullMode)] _Cull("Cull Mode", Float) = 2
[Enum(Off, 0, On, 1)] _ZWrite("ZWrite", Float) = 0
[Enum(UnityEngine.RenderingPath)] _RenderPath("Render Path",Float) = 3
實際上,所以enum或自定義enum都可使用