UGUI源码解析——RawImage
Posted Hello Bug.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UGUI源码解析——RawImage相关的知识,希望对你有一定的参考价值。
一:前言
RawImage是显示图像的组件,继承自MaskableGraphic,可以显示任何类型的贴图
大多应用于小地图或需要根据UV坐标实现动图的效果
因为RawImage显示的图片类型是贴图类型,所以不能打图集,导致每一张RawImage渲染的图像都需要增加一个DrawCall
二:源码解析—属性
——mainTexture
如果mainTexture不为空则使用mainTexture作为贴图,如果mainTexture为空则使用材质材质上的贴图,如果材质上的贴图为空则使用Texture2D.whiteTexture,最终会将mainTexture交给Canvas进行绘制
——uvRect
根据uv参数设置图像的显示范围
多出来的空缺部分,会根据贴图Import Settings中的Wrap Mode决定
1.Repeat:重复
2.Clamp:用最后的像素填充(最后像素为透明,则也用透明填充)
3.Mirror:以边界为中心线镜像
4.Mirror Once:只镜像一次,剩下的空缺的部分用最后的像素填充
5.Per-axis:分别设置uv的Wrap Mode
三:源码解析—方法
——SetNativeSize
设置rectTransform为图片的原尺寸
——OnPopulateMesh
重写了OnPopulateMesh方法修改元素的顶点、颜色、UV等信息存到m_VertexHelper中,最终会将m_VertexHelper传入Mesh并交给Canvas进行绘制
UGUI源码解析——Graphic
以上是关于UGUI源码解析——RawImage的主要内容,如果未能解决你的问题,请参考以下文章