Unity shader学习笔记 (四) 分解Shader

来源:互联网 发布:linux怎么装ntfs 编辑:程序博客网 时间:2024/04/30 03:00

基本结构

Shader "Shader Name/test01" {  //Shader名字和路径    Properties {    //着色器输入参数    }    SubShader {   //子着色器    }    FallBack "Diffuse"  //返回}

Properties 着色器属性详细参数参考
这里的参数,将会在面板上显示出来,并且可以调整。
最基本的属性

Properties {    //着色器输入参数    _Name("Name",Color)=(1,1,1,1)       //_变量名("在着色器上显示的可调参数名",属性)= 值    }

属性的分类
数字类型
name (“display name”, Range (min, max)) = number
Range 一个可调的从小到大的值。
name (“display name”, Float) = number
Float 可调浮点数
name (“display name”, Int) = number
Int 可调值.
Tips: 对于Range和Float属性,它的值只是一个数字,例如“13.37”。

颜色和向量类型
name (“display name”, Color) = (number,number,number,number)
Color 一个可选的颜色。
name (“display name”, Vector) = (number,number,number,number)
Vector 一个向量属性。
Tips: 对于Color和Vector,它的值是RGBA或XYZW,例如(0.1,2,10,5)

贴图类型
name (“display name”, 2D) = “defaulttexture” {}
2D 一个2D贴图
Tips: 对于一个2D贴图,默认值是 "white"{} 白色
“black”{} 黑色 “gray”{}灰色 “red”{}红色
“bump”{} 凹凸贴图

name (“display name”, Cube) = “defaulttexture” {}
Cube 一个Cube贴图
name (“display name”, 3D) = “defaulttexture” {}
3D 一个3D贴图
对于非2D贴图,材质没有指定时,默认为空 {}