subShader 可以有很多 根据平台运行不同的subshader
都不走就走fallback 语句
可选
Tags
Render设置
Cull off
ZTest Always
Zwrite off
LOD 100
必须写的。
Pass 通道 先后顺序 不建议使用多个
通道里有通道名称 Tags Render设置。
subShader 可以有很多 根据平台运行不同的subshader
都不走就走fallback 语句
可选
Tags
Render设置
Cull off
ZTest Always
Zwrite off
LOD 100
必须写的。
Pass 通道 先后顺序 不建议使用多个
通道里有通道名称 Tags Render设置。
SubShader块介绍
SubShader包含以下几部分
//可写/可不写
Tags { }
Cull off
ZTest Always
Zwrite off
Blend
LOD
//必须写
Pass { }
(一个SubShader中可以包含多个Pass通道,一般包含多个Pass通道的UnityShader是从第一个Pass 开始渲染,然后第二个,依次递推。)
(一版不建议使用多个Pass通道,因为每多一个Pass通道我们就要多耗费一个胶拷,这样会降低性能)
顶点片元着色器中使用的变量会在SubShader 下的 Pass通道中定义。
Pass通道中定义的变量名要和属性块中定义的名字相同,否则Unity监视面板中是无法控制的。
一个UnityShader中可以包含很多个SubShader块
Unity在加载这个Shader的时候,Unity会扫描所有的SubShader块选择第一个能在目标平台上运行的SubShader块,如果所有的SubShader块都不能运行,unity会选择Fallback 指定的Shader
Fallback 样式:
( Fallback "Legacy Shaders/Transparent/VertexLit" )
tag :标签
Cull off :阴影面剔除 /不可见shader面剔除