Unity Shader属性
[Attribute]_Name ("Display Name",Type) = Default Value
Properties
{
[HDR]_Color("Color", Color) = (1,1,0,1)
}
Attribute
属性标记,就是Unity内置的几个属性标记关键字,可以不添加
_Name:
属性的名称,也就是变量名,在Shader的CG代码中就是通过这个名称来调用此属性内容的。
Display Name:
显示在材质面板上的名称,主要起到说明解释的作用。
Type
属性的类型,常用的有以下几种:
Color颜色
Int整数
Float浮点数
Vector四维数
2D纹理
3D纹理
Cube立方体纹理
属性的几种使用:
_Color("我是Color", Color) = (1,1,1,1)
[HDR]_Color("Color", Color) = (1,1,0,1) (HDR可以使颜色亮度的值超过1)
_Int("我是Int", Int) = 1
_Float("我是Float", Float) = 0.5
_Float("我是Float", Range( 0 , 1)) = 0.5 (将浮点数限制在一个可以通过滑动条来选择的一个区间)
[PowerSlider(3)]_Float("我是Float", Range( 0 , 1)) = 0.5 (PowerSlider (Value))其中Value的值我们可以自由定义,支持浮点数,值越大会导致 滑条的曲度变化越大,值为1时不改变。)
[IntRange]_Float("我是Float", Range( 0 , 1)) = 1 (在材质面板上拖动时就只能生成整数了)
[Toggle]_Float("我是Float", Range( 0 , 1)) = 1
[Enum(UnityEngine.Rendering.CullMode)]_Float("我是Float", Float) = 1
_Vector("我是Vector", Vector) = (0,0,0,0)
_MainTex("我是2D纹理", 2D) = "white" {}
[NoScaleOffset]_MainTex("我是2D纹理", 2D) = "white" {} (不显示Tiling (贴图重复度)Offset (贴图偏移值))
[Normal]_MainTex("我是2D纹理", 2D) = "white" {} (必须是法线贴图)
_MainTex("我是3D纹理", 3d) = "" {}
_MainTex("我是Cube纹理", CUBE) = "" {}
[Header(This is Header )]_Int("我是Int", Int) = 1 (在材质面板上进行标注,通常用作分类组别用,注意只支持英文、数字、空格以及下划线。)
网友评论