Shader入门精要读书笔记7
透明效果
-
2种透明效果的实现:Alpha Test、Alpha Blending
-
渲染顺序的意义
-
使用Unity提供的渲染队列解决不同的排序情景
-
透明度测试实现:使用clip函数抛弃texColor.a低于阈值的片元(要么在,要么不在),缺点:渲染边缘效果不好
-
透明度混合实现:关闭深度写入,设置混合因子SrcAlpha和1-SrcAlpha,最后透明度1.0改为texColor.a * _AlphaScale,缺点:同一模型的深度被忽略了,导致如图结果,前边无法遮挡后边
-
在SubShader中增加一个Pass(只写入深度,不输入输出颜色)以修正这个问题
-
Blend混合命令的参数、操作、常见混合类型使用
-
双面渲染透明效果:关闭深度写入时,使用Cull Off关闭剔除;开启深度写入时,将一个Pass分为2个,先使用Cull Front关闭前方剔除,渲染正面,再使用Cull Back关闭后方剔除,渲染背面,效果如开头图片所示。