//透明度混合
//模型本身有遮挡情况下,使用2个pass,第一个pass开启深度写入,不输出颜色,只是为里吧模型的深度值吸入到深度缓冲中;第二个pass进行正常的透明度混合
//使用混合命令Blend
//正确的透明效果,解决了由于关闭深度写入而造成的错误排序
//本列只计算环境光和漫反射
Shader "Unity shader book/Chapter 8/AlphaBlendZWrite" {
Properties {
_Color("Color Tint",Color)=(1,1,1,1)
_MainTex("Main Tex",2D) = "white"{}
_AlphaScale("Alpha Scale",Range(0,1))=1//控制透明度
}
SubShader {
Tags{"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}//透明度混合队列Transparent 设置shader不受投影器projector影响
Pass{
//目的仅仅时为了吧模型的深度值信息写入深度缓冲中
ZWrite On
ColorMask 0 //用于设置颜色通道的写掩码;设置为0意味着不写入任何颜色通道,即不会输出任何颜色
}
Pass{