NGUI报错小结
来源:互联网 发布:mac系统盘在哪 编辑:程序博客网 时间:2024/04/27 23:28
用 NGUI的时候,想实现一个灰度功能,就是让彩色图片变成灰白的,这样就可以做按钮灰掉不可点击状态,也可以做一些灰色图片显示,表示功能关闭。于是自己就按网上的代码,写了一个灰度shader,把先前Atlas用的shader换成了自己的shader,虽然灰度功能实现了,但是一直在报错。错误如下。
Unlit/Transparent Gray shader doesn't have a clipped shader version for 1 clip regions
这个错误是NGUI里的UIDrawCall输出的
后来看到一篇文章才知道问题所在,文章在这里
我用的NGUI版本是3.7.5。原因大概是NGUI在较新的版本中,为了实现Clipping嵌套,为他自身的一些shader写了几个版本。就是说所以如果你新增了自己的shader,而且要支持Clipping的话,就需要也同时实现以上的4个版本.
因为我这个灰度图片会添加到UIScrollView上,用过UIScrollView的都知道,UIScrollView自身带了一个有Soft Clip的UIPanel,所以只写一个shader是不行滴,要同时实现4个shader.
网上有人说把Cliping设为None就不会出现上面的错误,不过这个只有在你使用的UIPanel不使用Clip的话是可以这样做的,因为不使用Clip话,一个shader就可以了,但是对于像UIScrollView这种需要使用Soft Clip的,还是老老实实写四个shader吧。
顺便提一下Atlas换shader的地方,如下图。
NGUI使用的shader所在的位置
实现自己的shader时,命名参考上面图片显示的NGUI的shader就行。拿我的来说,我是实现的灰度功能,然后4个shader的命名就是这样的
custom - Transparent Colored Graycustom - Transparent Colored Gray 1custom - Transparent Colored Gray 2custom - Transparent Colored Gray 3
如果是拷贝现有的shader,在其基础上实现自己的功能的话,记得还要修改shader里面的名字,如下图示:
这里命名开头使用 Custom,是为了和NGUI现有的Unlit - shader区分开,到时你添加自己的shader时可以从 Custom 里选取。你替换shader时可以从下拉列表里找到 Custom选项。
- NGUI报错小结
- NGUI Font Maker 打开报错 解决方法
- ngui切换场景drawcall报错
- @override 报错小结
- Unity 使用NGUI发布报错的解决方案
- adb 连接 板子 报错 小结
- 使用NDK编译报错小结
- gradle编译报错问题小结
- 项目中Spring注入报错小结
- 关于hibernate中createQuery执行hql报错的小结
- webservice客户端报错小结,如有问题继续补充
- NGUI
- NGUI
- NGUI
- NGUI
- NGUI
- NGUI
- NGUI
- 详谈排序算法之插入类排序(两种思路实现希尔排序)
- Java语言基础——第三回 Eclipse使用技巧和包的用途
- linux bio学习总结
- CListCtrl使用技巧
- logstash在windows上fileinput会锁定文件的问题
- NGUI报错小结
- “dos2unix 既不是内部或外部命令,也不是可运行的程序”的解决方法
- filePhoneGap向SD卡中写入文件
- IOS常用数据校验方法,验证手机号,信用卡号,电话号码,邮编,Email等
- MVC 绑定 DropDownList
- linux中export和source的作用和区别
- 文章投稿必看
- 黑马程序员——OC语言基础知识
- strcpy函数与memcpy函数