NGUI扩展之 图片置灰

需求置灰

在属性 面板添加一个小功能,置灰属性。 设计思路很简单, 就是通过勾选或者不勾选,实现置灰 或者不置灰。
包括对scroview的置灰等等…

效果预览:

在这里插入图片描述

在这里插入图片描述

代码分析

实际上,在NGUI中 所有需要渲染的 物体 都继承自 wight,
而编辑器 部分则 作用于它。
在UIWidgetInspector 中。
在这里插入图片描述
这个脚本作用于 UIWidget, 而我们 知道所有需要渲染的元素都继承自 UIWidget 包括sprite
可以找到这个, DrawInspectorProperties 画属性面板的 属性,我们就可以在里面进行 画一个Toggle,
然后根据Toggle 对 Widget 进行设置。

UIWidgetInspector 是一个 单例。
在这里插入图片描述

对于画它的 时机,在NGUITransformInspector 中,
在这里插入图片描述
在这里插入图片描述
通过一个 单例 调用了这个方法,
在这里插入图片描述
直接我们 就可以再里面 进行添加了些 额外的需求了。

代码其实也 很简单, 在UIWidget 中添加 了这个isGray属性后,
就可以 在 get 或者 set里进行 改变了。
在这里插入图片描述
我这里的处理 十分简单, 就直接替换 drawCall的 shader,
当然这样做有不好的地方, 就是这个 drawCall 他们的材质是公用的,
因此,得重新用另一个材质球给置灰的shader 使用,实现也十分简单。
在这里插入图片描述
关于 置灰的算法, 有很多种, 可以是平均置灰,灰度系数值置灰 等等…

可以参考这个 传送门
这里比较简单,
在这里插入图片描述
待续…
另外针对 scroview的 置灰 可以参考这个
在这里插入图片描述
默认情况下NGUI 使用的是这个
后面的1 表示 panel的 clipCount。
在这里插入图片描述
相应的 只要建立一个 对应的 名字的 灰度 sharder 即可。
生于1997,被人直播,生活素材被人剪辑成商品出售,身边潜伏的都是撒旦演员,我就是撒旦的献祭物.
吸血鬼,恶魔张牙舞爪,欢呼雀跃
人体试验,精pua.麻木的活着,真不如死

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值