本章导图
- (1)创建一个材质
- (2)创建一个Unity Shader(包含了着色器代码,纹理属性,渲染标签设置),并赋给材质
- (3)在材质面板中调整Unity Shader的属性,控制最终效果
-
步骤一:创建材质
面板如下:
-
步骤二:创建unity shader
默认纹理设置:
unity shader详细信息栏
针对不同图形api编译的shader代码
- 步骤三:将shader赋给材质
-
shader“ ”:填写shader的名字,加‘/’表示层级关系
-
properties:定义着色器所需的各种属性,可以让对应属性出现在材质面板中。其中,数字类型的默认值就是一个数字;color和vector属性的默认值是一个圆括号包围的一个四维向量;2d,cube,3d这三种纹理类的默认值为字符串(内置纹理名称)结构如下:
实例:
-
SubShader:子着色器:为不同类型的显卡定义不同的着色指令,以满足不同配置的要求。其中,可分为标签(一个键值对,告诉渲染引擎何时以及如何渲染这个对象),状态设置(设置显卡的状态,是否开启混合/深度测试等),Pass(定义的一个完整的渲染流程,有普通Pass,UsePass,GrabPass)三部分,结构如下:
标签:
状态设置:
Pass:
PASS可用于提高代码的复用性。其中,Name部分必须全部大写,Pass的Tag和SubShader的相比只能表示渲染方式。
- Fallback:如果上述的SubShader都不能运行,那么执行Fallback对应的shader
- 真正意义上的shader代码都需要包含在shaderLab语义块中,有两种着色器代码类型:表面着色器和顶点/片元着色器



