做Unity开发过程中,有需求让未开启的功能模块的入口灰色显示。因为没有滤镜的概念,所以没flash那么方便。解决思路还是Shader,以前按网上其他帖子的方法,一直没有成功实现过。这两天比较闲一点,专门研究了下,总算成功了。

NGUI里已经有Unlit - Transparent Colored.shader。一般打Atlas的时候默认就是这个。如下图。![这里写图片描述](http://img.blfixed4 frag (v2f IN) : COLOR

{return tex2D(_MainTex, IN.texcoord) * IN.color;
}
ENDCGog.csdn.net/20151120094810182)

上面就是Transparent Colored.shader内的核心颜色渲染代码,可见是没有灰色转换的功能的。我们这里需要使用另外个shader,也是NGUI自带的:Unlit - Transparent Colored Gray.shader,它的核心代码如下:

fixed4 frag (v2f IN) : COLOR
{ fixed4 col; if (IN.color.r < 0.001) { col = tex2D(_MainTex, IN.texcoord); float grey = dot(col.rgb, float3(0.299, 0.587, 0.114)); col.rgb = float3(grey, grey, grey); } else { col = tex2D(_MainTex, IN.texcoord) * IN.color; } return col;
}

当颜色值的r值为0的时候,就灰色显示。

图集打好后,我们看看效果:

我们将r设置为0,但是图片还是没有成灰色,这是为何呢?后来根据http://bbs.9ria.com/thread-431562-1-1.html的启示,找到NGUI,UIDrawCall.cs类,发现如果是Scroll下,NGUI会更改默认shader,我们是Unlit - Transparent Colored Gray.shader,它会去寻找Unlit - Transparent Colored Gray (SoftClip).shader,然后没找到就默认回nlit - Transparent Colored .shader,这下好办了,我们复制一份Unlit - Transparent Colored Gray.shader,更改它的名字为Unlit - Transparent Colored Gray.shader,然后打开它的代码:

Shader "Unlit/Transparent Colored Gray"
{Properties{_MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {}}

将最顶上一行修改下名字:

Shader "Unlit/Transparent Colored Gray (SoftClip)"
{Properties{_MainTex ("Base (RGB), Alpha (A)", 2D) = "black" {}}
}

然后回过头来再看看显示:
灰色显示成功。
我们要代码控制它灰色怎么操作呢?

Color bgColor = item.FindChild(itemName +"/bgImage").GetComponent<UISprite>().color;
bgColor.r = 0;
item.FindChild(itemName + "/bgImage").GetComponent<UISprite>().color = bgColor;

转载:
http://www.cnblogs.com/1000pen/p/4971737.html?utm_source=tuicool&utm_medium=referral

UGUI - 中设置UISprite图片灰显方法相关推荐

  1. unity3dui中图片加不上_Unity3d中设置UISprite图片灰显方法

    做Unity开发过程中,有需求让未开启的功能模块的入口灰色显示.因为没有滤镜的概念,所以没flash那么方便.解决思路还是Shader,以前按网上其他帖子的方法,一直没有成功实现过.这两天比较闲一点, ...

  2. 如何给html文件加背景图片,怎么在文件夹中设置背景图片

    在文件夹中设置美丽的背景图片,可以让你的电脑显得与众不同,下面是学习啦小编给大家整理的一些有关在文件夹中设置背景图片的方法,希望对大家有帮助! 在文件夹中设置背景图片的方法 打开你要设置背景的文件夹, ...

  3. echarts热力背景图_Echarts 图表中设置背景图片

    在项目开发过程中,遇到在Echarts图表上添加背景图的需求,通过查找Echarts官网的配置项,发现 graphic 能够实现在图表中设置背景图片. image 在Echarts的实例中,找到一个实 ...

  4. Ubuntu 中设置源的几种方法

    来源:http://forum.ubuntu.org.cn/viewtopic.php?t=177997 九.设置源 作者:Teliute 来源:基础教程网 Ubuntu里的许多应用程序软件包,是放在 ...

  5. html图片定位代码怎么写,如何在css中设置插入图片定位

    在做网页开发时,客户给的素材图片通常都是连在一起的,这样做也是为了缩短响应时间.下面就给大家具体说一下 ,如何通过css属性来定位图片. 如何在css中设置插入图片定位 首先设置固定图片的css属性是 ...

  6. 在vue中设置背景图片

    在vue中设置背景图片 在App.vue中将样式中默认的margin-top 改为0,使得页面顶部不留白 #app {font-family: 'Avenir', Helvetica, Arial, ...

  7. word整个表格首行缩进_Word2016中设置首行缩进的方法

    缩进决定了段落到左右页边距的距离.在Word 2016中,可以使用首行缩进.左缩进.右缩进和悬挂缩进来设置段落的缩进方式.本文介绍了Word2016中设置首行缩进的方法. 默认输入的文档内容都是顶行输 ...

  8. Echarts图表中设置背景图片

    Echarts 图表中设置背景图片 在项目开发过程中,遇到在Echarts图表上添加背景图的需求,通过查找Echarts官网的配置项,发现 graphic 能够实现在图表中设置背景图片. graphi ...

  9. 在HTML5中, web app 以及手机客户端中,设置页面图片等比例居中显示

    在HTML5中, web app 以及手机客户端中,设置页面图片等比例居中显示 接触前端时间不长,费了一些时间 img{display:block;max-width:100%;margin:auto ...

最新文章

  1. wordpress 常用函数-wpdb类
  2. 在Windows7 (SP1)配置IIS7.5 + .Net Framework 4.0.30319
  3. 对微软Microsoft Dynamics CRM 的认识
  4. shiro实现url级别的权限控制(用户登录)配置文件分析
  5. wampserver环境下,apache本地下设置多个域名
  6. ETL 工具的比较:Talend,Kettle,Informatica 等
  7. 简指南越狱的iOS及原因,负责其
  8. 【无机纳米材料科研制图——Photoshop 0403】PS使用索套工具和魔棒工具框出选区
  9. linux shc shell脚本_用shc加密shell脚本
  10. java unexpected token解决方法
  11. SQL数据库性能胯了,换 SSD硬盘就能解决问题?
  12. org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured
  13. 【数据结构】悬空指针和野指针
  14. php投影,ppt投影怎么显示备注
  15. 2003excel职称计算机,职称计算机考试Excel2003使用技巧:设置技巧
  16. LeetCode 到底怎么刷?GitHub 上多位大厂程序员亲测的高效刷题方式
  17. 学生上课考勤系统jsp_jsp+ssm+mysql课堂考勤系统
  18. 一个电脑板绘初学者的自述,设计基础
  19. myeclipse 做移动开发
  20. SpringBoot+Vue+ElementUI实现的JAVA快速开发平台

热门文章

  1. 嘉宾专访|2020 PostgreSQL亚洲大会阿里云数据库专场:曾文旌
  2. python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析
  3. 当仁不让!一文看尽MWC舞台上的人工智能
  4. 联想小新air13装双系统_联想小新air13pro安装ubuntu双系统要点笔记
  5. 金蝶云的企业数字化转型之道:从ERP到EBC,从竞争到共生
  6. urv中保研碰撞测试结果_深度解读中保研碰撞测试结果,多款热销车竟获“差评”...
  7. Java多进程从头讲到尾,值得收藏!
  8. 2021Java笔试真题,满满干货指导
  9. 2022年钒电池行业研究报告
  10. 美国站亚马逊UL2772测试报告16 CFR PART 1512自行车安全报告办理