属性框

来源:互联网 发布:java 迭代器 从头 编辑:程序博客网 时间:2024/05/22 03:21

Properties
{
     // 属性:公共级别变量;
}

注意:属性框必需存在于Shader “着色器名称” { } 这样外框之内。而且一定要在 外框的最上面;

属性:
写法:变量名 (” 在检视体面板上提供的名称 “, 变量的类型)=初始化值

写法注意:属性必须初始化,变量名必须是英文的,” 在检视体面板上提供的名称 “:这个东西可以是中文,一定要记住,最后不能添加 “;”进行结尾。这个属性变量一行只能定义一个 ,绝对不容许出现多个变量定义;

属性变量类型:

Vector : 向量类型,对应一个四位的向量 : (x, y, z, w);
Color : 颜色类型(float) ,对应一个 RGBA颜色设定: (R, G,B,A)

Float : 单精度浮点,没有范围,对于初始化值据对不容许加入 “f” 强转符号,例如 1.0
Range(min, max): 区间取值,范围是你定义的min 到 max之间的数包含min 和 max的数。这个数必须是单精度浮点;

2D: 表示一个2D的纹理贴图对象,必须是外界传递的 Texture2D资源。
Cube : 立方体贴图,多用于天空盒,支持六面体贴图;
Rect : 矩形贴图,用户鱼眼相机;

属性定义例如:

Properties
{
     // 表示我们定义了一个颜色变量,并且初始化为白色
     _Color(“颜色”, Color) = (1,1,1,1)
     // 表示我们定义了一个坐标,初始化为 Zero
     _Position(“坐标”, Vector) =(0,0,0,0)
     // 表示我们定义了一个浮点化的数值
     _Value(“浮点数值”, Float)=1.0
     // 表示我们定义了一个区间值,并且给了一个值
     _Range ( “区间值”, Range(0.0, 1.0) ) = 0.5
     // 表示我们定义了一个白色的底图,但是没有数据存在,需要外界程序给我们指定一个 2D纹理贴图;
     _MainTex(“纹理贴图”, 2D) = “white”{}

0 0