#region Environment
Windows 10 22H2
Unity 2022.3.30f1 LTS
VSCode 1.90.0
// ToneTune Toolkit 下载地址
// https://github.com/MirzkisD1Ex0/ToneTuneToolkit.git
#endregion

 

把UGUI的元素去色!变成灰色!!!

超级方便!

// 该项功能已包含至ToneTuneToolkit插件

 

 01.新建场景,新建一个Shader,取名为GreyscaleShader.shader,内容如下。

Shader "UI/GreyscaleShader"
{
  Properties
  {
    [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {}
    _Color("Tint", Color) = (1, 1,1 , 1)
    _Greyscale("Greyscale", Range(0, 1)) = 1
    [HideInInspector] _RendererColor("RendererColor", Color) = (1,1,1,1)
    [HideInInspector] _Flip("Flip", Vector) = (1,1,1,1)
    [PerRendererData] _AlphaTex("External Alpha", 2D) = "white" {}
    [PerRendererData] _EnableExternalAlpha("Enable External Alpha", Float) = 0
  }
  SubShader
  {
    Tags
    {
      "Queue" = "Transparent"
      "IgnoreProjector" = "True"
      "RenderType" = "Transparent"
      "PreviewType" = "Plane"
      "CanUseSpriteAtlas" = "True"
    }
    Cull Off
    Lighting Off
    ZWrite Off
    Blend SrcAlpha OneMinusSrcAlpha
    Pass
    {
      CGPROGRAM
      #pragma vertex SpriteVert
      #pragma fragment frag
      #pragma target 2.0
      #pragma multi_compile_instancing
      #pragma multi_compile _ ETC1_EXTERNAL_ALPHA
      #include "UnitySprites.cginc"
      half _Greyscale;
      fixed4 frag(v2f IN) : SV_Target
      {
        fixed4 c = SampleSpriteTexture(IN.texcoord) * IN.color;
        c.rgb = lerp(c.rgb, dot(c.rgb, float3(0.3, 0.59, 0.11)), _Greyscale);
        c.rgb *= c.a;
        return c;
      }
      ENDCG
    }
  }
  Fallback "Sprites/Default"
}

 

  02.场景中新建一个UGUI,随便上张图作为测试用。

 

03.新建一个Materials,Shader选择刚刚创建的UI/GreyscaleShader。

 

04.将Materials赋给UGUI,Greyscale可以对灰度进行缩放。

 

#region Introduction
工具原工程位于Github并遵从GPLv3.0协议,请根据需求使用。
文章仅作抛砖引玉之用,希望借此给予寻求思路的开发者们一些灵感。
此教程系列曾属于“Unity The Great”,但由于“Tone Tune Tookit”的诞生,因此我决定将两个系列进行合并。
如果内容中出现了语混序乱、错鳖字、缺少标点符号的情况还请见谅
互联网精神永存。
#endregion

#region Developer
[团队代言人博客]
// https://www.cnblogs.com/mirzkisd1ex0/
[开发者邮箱]
// dearisaacyang@outlook.com
[开发者微信]
// qq2957047371
[开发者企鹅]
// 2957047371
#endregion

posted on 2024-06-11 11:45  MirzkisD1Ex0  阅读(17)  评论(0编辑  收藏  举报