首页 > Unity > NGUI > NGUI控件变灰效果
2016
07-25

NGUI控件变灰效果

在NGUI的UIWidget.cs中添加如下代码:

然后Unlit – Transparent Colored.shader里frag函数修改如下:

这样拿到一个UI控件只要isGray = true就可以置灰啦,原理就是用到特殊色绿色,发现顶点色是绿色的话就返回灰色。

 

优化:

1.该shader由于用了if判断,而且判断条件是取的动态值,所以会有动态分支,会比较废,具体原理可以参考:http://www.zhihu.com/question/27084107

下面是一个不采用if的实现,topameng提供:

2.新建一个shader专门用来显示灰度图,这样应该是效率最高的~

 

NGU:3.8.2

 

最后编辑:
作者:maosongliang
这个作者貌似有点懒,什么都没有留下。