NGUI在较新的版本中,为了实现Clipping嵌套,为他自身的一些shader写了几个版本。
Unlit – Transparent Colored.shader 无Clipping
Unlit – Transparent Colored 1.shader 1层Clipping
Unlit – Transparent Colored 2.shader 2层Clipping
Unlit – Transparent Colored 3.shader 3层Clipping
替换shader的代码在UIDrawCall的CreateMaterial部分。
所以如果你新增了自己的shader,,而且要支持Clipping的话,就需要也同时实现以上的4个版本
其实上面4个版本的主体内容是一样的,所以如果为了方便,你可以:
1、把这4个shader复制一份
2、修改每个shader上最上面的名字
3、把自己的shader主体功能部分每个里面替换
(NGUI默认支持3层嵌套Clipping,你可以自己扩展出4、5、6等,但是没必要了)
失败是什么?没有什么,只是更走近成功一步;