//8.5 开启深度写入的半透明效果
Shader "Unlit/Chapter8-AlphaBlendWrite"
{
Properties
{
_Color("Main 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" }
//新增的Pass,为了把模型的深度信息写入深度缓冲中,从而剔除模型中被自身遮挡的片元
pass {
//开启深度写入
ZWrite On
/*一个新的渲染命令,ColorMask在shaderLab中,用于设置颜色通道的写掩码(write mask)
ColorMask RGB|A|0 |其他任何RGBA的组合
当是0时,意味着Pass不写入任何颜色通道,即不输出任何颜色
*/
ColorMask 0
}
pass {
Tags{ "LightMode" = "ForwardBase" }
//把Pass的深度写入(ZWrite)设置为关闭状态(Off)
ZWrite off
/*Blend 是unity提供的设置混合模式的命令
想要实现半透明的效果就需要把当前自身的颜色和已经存在于颜色缓冲中的颜色值进行混合&#
开启深度写入的半透明效果8.5
最新推荐文章于 2022-02-05 22:26:26 发布