NGUI Sprite灰化处理,很简单的一种方式
2016-02-25 18:25
411 查看
NGUI Sprite灰化处理,最近项目要用到,四处查资料,发现网上给的答案用起来都比较复杂,下面是自己偶然发现的一种方法
首先找到NGUI Sharder目标:Assets\NGUI\Resources\Shaders
打开Unlit - Transparent Colored.shader文件
把下面这段
改成:
然后在使用时,不管Texture还是UISprite,只需要把color的R值设为0,变会变成灰色
注意上面那句判断 if(i.color.r < 0.001) 意思就是如果R为0时,灰化,如果大家觉得不严谨,可以改变其它判断
图片就变成灰色了
首先找到NGUI Sharder目标:Assets\NGUI\Resources\Shaders
打开Unlit - Transparent Colored.shader文件
把下面这段
fixed4 frag (v2f IN) : COLOR { return tex2D(_MainTex, IN.texcoord) * IN.color; }
改成:
fixed4 frag (v2f i) : COLOR { fixed4 col; if (i.color.r < 0.001) { col = tex2D(_MainTex, i.texcoord); float grey = dot(col.rgb, float3(0.299, 0.587, 0.114)); col.rgb = float3(grey, grey, grey); } else { col = tex2D(_MainTex, i.texcoord) * i.color; } return col; }
然后在使用时,不管Texture还是UISprite,只需要把color的R值设为0,变会变成灰色
注意上面那句判断 if(i.color.r < 0.001) 意思就是如果R为0时,灰化,如果大家觉得不严谨,可以改变其它判断
图片就变成灰色了
相关文章推荐
- A. Robot Sequence
- 【SPOJ- HORRIBLE】Horrible Queries【线段树】
- UITableView优化之按需加载
- Mysql插入数据报错java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8D\xE8\xBE...'
- 45.Which two statements are true about sequences created in a single instance database? (Choose two.
- iOS UINavigationController popToViewController用法
- UINavigationController--导航控制器
- 前端框架easyui的使用
- UITextField,UITextView回收键盘
- GPUimage 简单使用(-)单个滤镜使用
- 【Hibernate】query查询不报错卡住不动不往下执行的解决办法
- 笔记之-uevent机制
- POJ 3601-Subsequence【尺取法】
- UILabel的一些用法
- uiautomator中一些常用的方法
- UI基本三控件
- UVA 10401 Injured Queen Problem
- UITableView属性及方法大全
- UIModalPresentationStyle和UIModalTransitionStyle
- UI控件学习