Unity3d中UGUI组件精简复盘Mask组件

Posted ProMer_Wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3d中UGUI组件精简复盘Mask组件相关的知识,希望对你有一定的参考价值。

上一节,我们简单概括了Unity3D编辑器中Text组件简要介绍。具体详情链接为:Unity3d中UGUI组件精简复盘(六)Text组件,话不多说,我们直接进入正题~ 今天我们简要概括复盘的组件便是Mask组件啦~
Mask组件,其实就是遮罩,也就是遮盖在某物上面,层级在上,以下的UI界面都会被遮住。

Mask组件

Mask:遮罩,可以作用于3D物体

Rect Mask:只能作用于同平面的2D物体

区别:Mask遮罩,可以作用于3D物体,Rect Mask只能作用于同平面的2D物体

Unity遮罩中为什么我们要避免使用Mask??

因为添加Mask会增加Drawcall,会影响性能,同时Mask不利于层级的合并。

当没有使用Mask的时候,可能只需要一个Drawcall既可以绘制出UI的渲染效果,但是当我们添加了Mask以后,Mask会作为单独的一个层级来渲染绘制,其他的UI也会作为单独的一个层级来绘制。

添加Rect Mask的话,没有增加DrawCall ,因为Rect Mask没有使用模板缓冲区,没有它额外的DrawCall,所以说对性能来说没什么影响。但是存在不稳定因素。至于存在的不稳定因素,目前博主也暂时不是很了解,并没有接触到这类的问题。

解决方案:自己写一个遮罩
博主自己没有在shader方面有太多的了解,但是看到过一篇很有用的文章,希望对你们能有所帮助:来自简书:sylo作者的文章:Unity一种更高效的遮罩实现

更新也许会迟到,但一定会到哈。

如果博客博友对这个章节有更多的内容想要了解的,可以评论哈,等这一个章节结束后,我会根据评论反馈以及自己的能力,将评论中反馈的内容在下一个计划中去制作出对应的内容的哈~

作者:ProMer_Wang

链接:https://blog.csdn.net/qq_43801020/article/details/117611915

本文为ProMer_Wang的原创文章,转载请注明原文出处,欢迎转载!

以上是关于Unity3d中UGUI组件精简复盘Mask组件的主要内容,如果未能解决你的问题,请参考以下文章

Unity3d中UGUI组件精简复盘(十九)ContentSizeFitter组件

Unity3d中UGUI组件精简复盘(十九)ContentSizeFitter组件

Unity3d中UGUI组件精简复盘RawImage组件

Unity3d中UGUI组件精简复盘(十四)Dropdown组件

Unity3d中UGUI组件精简复盘(十七)LayoutElement组件

Unity3d中UGUI组件精简复盘(十七)LayoutElement组件