前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ug图改变颜色_unity改变image透明度

ug图改变颜色_unity改变image透明度

作者头像
全栈程序员站长
发布2022-09-30 10:50:42
1.3K0
发布2022-09-30 10:50:42
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。 UGUI 图片将其他颜色去除,显示灰色图片

本例适用于 UGUI

一般项目中会有一些图标,当你拥有该图标显示为彩色图标,一般项目中最占资源的就是图片,不允许添加一张彩色图片,一张灰色图片,必须通过一些方法将彩色图标的颜色去掉,获取图标的灰色值。

UGUI 自带了一个Shader, Sprites/Default, 默认给了一个添加该Shader 的材质球

代码语言:javascript
复制
 1 Shader "UISprites/DefaultGray"  2 {  3  Properties  4  {  5 [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {}  6 _Color ("Tint", Color) = (1,1,1,1)  7 [MaterialToggle] PixelSnap ("Pixel snap", Float) = 0  8  9 //---Add--- 10 // Change the brightness of the Sprite 11 _GrayScale ("GrayScale", Float) = 1 12 //---Add--- 13  } 14 15  SubShader 16  { 17  Tags 18  { 19 "Queue"="Transparent" 20 "IgnoreProjector"="True" 21 "RenderType"="Transparent" 22 "PreviewType"="Plane" 23 "CanUseSpriteAtlas"="True" 24  } 25 26  Cull Off 27  Lighting Off 28  ZWrite Off 29  Blend One OneMinusSrcAlpha 30 31  Pass 32  { 33  CGPROGRAM 34 #pragma vertex vert 35 #pragma fragment frag 36 #pragma multi_compile _ PIXELSNAP_ON 37 #include "UnityCG.cginc" 38 39 struct appdata_t 40  { 41  float4 vertex : POSITION; 42  float4 color : COLOR; 43  float2 texcoord : TEXCOORD0; 44  }; 45 46 struct v2f 47  { 48  float4 vertex : SV_POSITION; 49  fixed4 color : COLOR; 50  half2 texcoord : TEXCOORD0; 51  }; 52 53  fixed4 _Color; 54 55  v2f vert(appdata_t IN) 56  { 57  v2f OUT; 58 OUT.vertex = mul(UNITY_MATRIX_MVP, IN.vertex); 59 OUT.texcoord = IN.texcoord; 60 OUT.color = IN.color * _Color; 61  #ifdef PIXELSNAP_ON 62 OUT.vertex = UnityPixelSnap (OUT.vertex); 63 #endif 64 65 return OUT; 66  } 67 68  sampler2D _MainTex; 69 float _GrayScale; 70 71  fixed4 frag(v2f IN) : SV_Target 72  { 73 fixed4 c = tex2D(_MainTex, IN.texcoord) * IN.color; 74 75 //---Add-- 76 float cc = (c.r * 0.299 + c.g * 0.518 + c.b * 0.184); 77 cc *= _GrayScale; 78 c.r = c.g = c.b = cc; 79 //---Add-- 80 81 c.rgb *= c.a; 82 return c; 83  } 84  ENDCG 85  } 86  } 87 }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194159.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月13日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档