Unity中,为Shader添加调节透明度功能

目的

给定某个不支持调节透明度的Shader,为其添加调节透明度功能

做法

修改该Shader内的如下内容

  1. SubShader下的Tags中的内容修改如下
        Tags { "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" }

  1. 新增1个Pass
        pass
        {
            ZWrite On
            // 用于设置颜色通道的写掩码,0意味着这个Pass不写入任何颜色
            // ColorMask  RGBA意味着写入RGBA四个通道的颜色
            ColorMask 0
        }
  1. 原Pass中,Tags下、CGPROGRAM上增加如下内容
            ZWrite Off
            Blend SrcAlpha OneMinusSrcAlpha
  1. 原Pass中,新增字段
            fixed _AlphaScale;
  1. 原Pass中的返回值修改为如下内容
            return fixed4(finalColor, _AlphaScale);

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/59994.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>