首页 > 其他分享 >[ToneTuneToolkit][023]UGUI的去色,使UI元素变为灰色

[ToneTuneToolkit][023]UGUI的去色,使UI元素变为灰色

时间:2024-06-11 11:56:12浏览次数:22  
标签:023 ToneTuneToolkit rgb UI pragma Greyscale UGUI

#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/
[开发者邮箱]
// [email protected]
[开发者微信]
// qq2957047371
[开发者企鹅]
// 2957047371
#endregion

标签:023,ToneTuneToolkit,rgb,UI,pragma,Greyscale,UGUI
From: https://www.cnblogs.com/mirzkisd1ex0/p/18241735

相关文章

  • 启动应用程序出现efsui.exe找不到问题解决
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个efsui.exe文件(挑选合适的版本文件)把它放入......
  • 使用Druid替换springboot默认连接池HikariPool
    使用Druid替换springboot默认连接池HikariPool1.在pom文件中增加Druid依赖<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.23</version></dependency>2.在a......
  • DoNet Core的启动过程-WebApplicationBuilder
     1.前言 在NET6开始做ASP.NETCore的开发,我们首先要看的是启动过程,而WebApplication和WebApplicationBuilder类是启动过程好不开的类,WebApplicationBuilder来引导启动,这和前面Core的版本引导启动分为Program和Startup是不同的,.NET6及以上版本直接使用Program中引导启动,而We......
  • vuInhub靶场实战系列--Kioptrix Level #3
    免责声明本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关。目录免责声明前言一、环境配置1.1靶场信息1.2靶场配置二、信息收集2.1主机发现2.1.1netdiscover2.1.2arp-scan主机扫描2.2端口扫描2.3指纹识别2.......
  • QT工具uic、moc、rcc
    QT中的moc、uic、rcc在学习QT的过程中接触到了moc、uic、rcc这几个名词moc(Meta-ObjectCompiler),元对象编译器,用于处理QT拓展的C++语法uic(UserInterfaceCompiler),用户界面编译器,将根据.ui文件生成相应的.h文件,例如根据mainwindow.ui生成ui_mainwindow.hrcc(ResourceComp......
  • 【源码】企业发卡系统源码蓝色UI模板+商户+手机端+对接易支付+搭建教程
    企业发卡系统源码蓝色UI模板+商户+手机端+对接易支付,是基于Thinkphp5开发的后台管理系统,集成后台系统常用功能,拥有多用户,多支付通道对接功能,全响应式界面,简约易操作,一站式寄售卡系统。史上最强大的企业自动发卡平台,支持多用户入驻,后台功能超强大!支持虚拟卡密自动发卡,支持优......
  • 【物联网】Arduino物联网实验(附带超详细代码注释)
    第1课:双色LED实验一、实验介绍双色发光二极管(LED)能够发出两种不同颜色的光,通常是红色和绿色,而不是仅有一种颜色。它采用3mm或5mm环氧树脂封装。它有3条线索;共阴极或共阳极可用。双色LED具有两个LED端子或引脚,以反平行方式排列在电路中并通过阴极/阳极连接。正电压......
  • Arduino实现温湿度传感器以及数据上传到云(乐维互联)
    本文首创于博客园,博客园作者也是我本人0准备材料0.1ESP-01S引脚及定义官方定义:序号pin功能1GND地线2IO0/GPIO0工作模式选择:①悬空:FlashBoot,工作模式②下拉:UARTDownLoad下载模式3IO2/GPIO2通用IO4RX/RXD数据接收端5TX/TXD谁发送端63V3/VCC3.3V,模块供电7RST1)外......
  • Python GUI编程:深入探索现代GUI库及其创新应用
    目录引言PythonGUI库概览1.Tkinter2.PyQt/PySide3.wxPython4.Kivy5.PyGTK6.FLTK(pyFLTK)创新应用案例1.交互式数据分析工具2.智能物联网(IoT)仪表板3.增强现实(AR)辅助设计软件4.跨平台的科学计算软件5.交互式教育软件实战示例1:使用PyQt5开发智能......
  • CF1970F1 Playing Quidditch (Easy) 题解
    一道大模拟题。这道题可以用一个 map 记录球员及鬼飞球当时的坐标,用一个数组 a 记录是否有人进球,用另一个数组 b 记录每位球员是否有鬼飞球。当球员抓住鬼飞球后,鬼飞球跟着这个球员移动,直到这个球员投球。话不多说,直接上代码。MyCode:#include<bits/stdc++.h>#de......