Unity Surface Shader 示例分析
对于Unity中的表面着色器(Surface Shader),它的代码整体结构如下所示:
Shader "name" {
Properties {
// 第一部分
}
SubShader {
// 第二部分
}
Fallback "Diffuse" // 第三部分
}
第一部分 Properties 数据块
它的作用是充当数据的接口,将外部的数据(资源)引入进来,以供着色器内部使用。在这里,我们可以定义的数据类型如下所示:
(1) _MainTex ( "Base (RGB)", 2D ) = "white" {}
2D类型,主要指我们所使用的纹理贴图。
_MainTex是自定义的变量名称,我们在编写shader的代码时将使用它,它会显示在shader的属性面板上,下同;