注意:shader 不区分大小写 名称规范:在变量前面加_下划线,首字母也大写
//声明shader在下拉菜单里的路径
shader "Custom/AAA" {
//定义properties着色器输入属性,提供给所有子着色器使用 每句后不能加分号 ; 浮点数不能加 f
properties {
//定义浮点数
_Float("浮点数",Float)=0.5
//定义带范围浮点数
_FloatRange("限定范围的浮点数",Range(0,1))=0
//定义四个元素的向量 四维数
_Vector("Vector向量",Vector)=(1,1,1,1)
//定义颜色 RGBA
_Color("颜色",Color)=(0.5,0.5,0.5,1)
//定义2D贴图 2的阶数大小(256,512之类)的贴图。这张贴图将在采样后被转为对应基于模型UV的每个像素的颜色,最终被显示出来
_2DTexture ("2D贴图", 2D) = "white" {}
//定义长方形贴图 非2阶数大小的贴图
_Rect("Rect",Rect)="white" {}
//定义立方体贴图 简单说就是6张有联系的贴图的组合,主要用来做反射效果(比如天空盒动态反射),也会被转换为对应点的采样
_CubeTexture ("Cube贴图", Cube) = "white" {TexGen ObjectLinear}}
//对于贴图来说,默认值可以是空字符串或者”white”,”black”,”gray”,”bump”中的一个,另外还有一个{},它只对2D,Rect或者Cube贴图有关,当我们需要打开特定选项时可以把其写在这对花括号内。如果需要同时打开多个选项,可以使用空白分隔。TexGen可能的选择有 ObjectLinear, EyeLinear, SphereMap, CubeReflect, CubeNormal中的一个,这些都是OpenGL中TexGen的模式。注意如果使用自定义顶点程序,那么TexGen纹理生成将被忽略。