#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 OffLighting OffZWrite OffBlend SrcAlpha OneMinusSrcAlphaPass{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