美文网首页
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