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

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