NGUI下制作灰化效果是修改Transparent Colored shader,通过传入的叠加颜色值,比如传入指定的颜色黑色则表示对颜色进行灰化处理,非黑色表示是叠加颜色。
UGUI下并不能像NGUI那样直接修改UI的shader,不过可以通过更改材质,需要显示灰化效果时切换到灰化Shader。修改UI-Default.shader为UI-Gray.shader,修改Shader,增加代码
shader.png修改Image材质,使用有灰化效果的Shader材质,效果出来了
gray.png实际游戏开发中并不会手动赋值材质,而是会通过代码动态去修改:
image.material = new Material (Shader.Find ("UI/Gray"));
网友评论