Blend 命令
为了进行透明度混合,Unity为ShaderLab提供了Blend命令:
命令 | 描述 |
---|---|
Blend Off | 关闭混合 |
Blend SrcFactor DstFactor | 开启混合,设置混合因子,前者乘以源颜色,后者乘以目标颜色,相加 |
Blend SrcFactor DstFactor SrcFactorA DstFactorA | 同上,但使用了不同的因子来进行混合 |
BlendOp BlendOperation | 并非简单相加混合,而是使用BlendOperation来进行其他操作 |
一般方法中,经过混合之后的新颜色是:
new_DstColor = SrcAlpha x SrcColor + (1-SrcAlpha ) x old_DstColor;
关闭深度写入的透明度混合效果
Shader "Unity Shaders Book/Chapter 8/Alpha Blend" {
Properties {
_Color ("Color Tint", Color) = (1, 1, 1, 1)
_MainTex ("Main Tex", 2D) = "white" {}
_AlphaScale ("Alpha Scale",