UGUI源码解析——StencilMaterial
Posted Hello Bug.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UGUI源码解析——StencilMaterial相关的知识,希望对你有一定的参考价值。
一:前言
StencilMaterial是一个静态类,负责管理模板材质,维护了一个MatEntry类型的列表,主要作用就是提供一个新的材质
对材质设置的参数,实际上是设置给Shader的(UI-Default.shader)
二:源码解析
——Add
添加一个材质
创建一个MatEntry,用指定的baseMat以及其他参数赋值给MatEntry并创建了customMat(实际上赋值的是customMat的shader参数)
设置材质时会开启UNITY_UI_ALPHACLIP,这也解释了为什么将Mask对象上Graphic对应的Alpha值设置为0,所有子对象都显示不出来了,在UI-Default.shader中有以下操作:透明度过小会被裁剪
——Remove
从MatEntry列表中移除一个已存在的材质
——ClearAll
移除MatEntry列表中的全部材质
以上是关于UGUI源码解析——StencilMaterial的主要内容,如果未能解决你的问题,请参考以下文章