游戏中经常遇到需要图片或者文字置灰的情况,比如说按钮的锁定,关卡未开放等等。
传统做法就是添加一个灰度的材质球,然后在需要的时候替换(后面会贴上灰度shader)。
这个方法虽然能使用,但是功能单一,而且使用麻烦。
推荐使用UIEffect插件,支持灰色,阴影,轮廓,流光等多种UI特效。UIEffect
Shader "UI/ImageGray"
{
Properties
{
[PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}
_Color ("Tint", Color) = (1,1,1,1)
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15
[Toggle(UNITY_UI_ALPHACLIP)] _UseUIAlphaClip ("Use Alpha Clip", Float) =