UnityShader自定義屬性面板

基本的屬性有,好像又是沒什麼規律,就一個個試試吧:

 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都可使用

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