基本的属性有,好像又是没什么规律,就一个个试试吧:
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都可使用