美文网首页
Unity中,为Shader添加调节透明度功能

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

作者: 全新的饭 | 来源:发表于2023-07-13 15:47 被阅读0次

    目的

    给定某个不支持调节透明度的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);
    

    相关文章

      网友评论

          本文标题:Unity中,为Shader添加调节透明度功能

          本文链接:https://www.haomeiwen.com/subject/zfvmudtx.html