在 Unity Shader 中,透明度混合使用 Blend 指令控制前景(源图像)和背景(目标图像)的混合方式。
常见写法:
Blend SrcAlpha OneMinusSrcAlpha
SrcAlpha:前景颜色的 alpha(透明度)OneMinusSrcAlpha:1 - 前景的 alpha,也就是剩余部分,分给背景在 Shader 的 Blend 阶段,参与混合的两个颜色是:
SrcColor:当前正在被处理的片段颜色(即你写在 frag() 里的输出)DstColor:当前屏幕上该像素位置 已有的颜色(已经被之前的物体渲染到 Frame Buffer)OutputColor = SrcColor * SrcAlpha + DstColor * (1 - SrcAlpha)
SrcAlpha 决定1 - SrcAlphaZWrite Off)