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

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...