一:前言Graphic是UGUI的核心组件,负责显示图像,是MaskableGraphic的基类,而MaskableGraphic是Text、RawImage、Image的基类二:源码解析Graphic继承自UI
原创 2022-04-29 23:30:27
5537阅读
一:前言IMeshModifier是网格处理的接口,可以在子类中实现ModifyMesh方法去修改顶点数据二:源码解析可以子类继承IMeshModifier接口实现ModifyMesh方法去修改顶点数据UGUI源码解析——Graphic在Graphic类的UpdateGeometry方法中首先调用了OnPopulateMesh方法将元素的顶点、颜色、UV等信息暂存到m_VertexHelper中
原创 2022-04-29 23:30:50
5455阅读
一:前言Outline继承自Shadow,可以为图片或文字添加描边效果它的实现原理是将原网格数据复制四份并向指定方向移动指定像素,然后再填充到顶点数据中,也就是四个Shadow,所以顶点数和三角面数会增加4倍Outline可以理解为是4个Shadow,将Outline组件上的x偏移和y偏移调大可以看出来其实就是复制了四份原网格二:
原创 2022-04-29 23:31:07
5643阅读
继承了ILayoutElement和ILayoutIgnorer接口,作为布局元素组件挂载了Layout Element组件的对象,布局并不会
原创 2022-06-18 00:48:52
3097阅读
ContentSizeFitter继承自ILayoutSelfController,是调整对象自适应的组件,ContentSizeFitter不改变子物体
原创 2022-06-18 00:49:05
5055阅读
LayoutRebuilder类主要负责布局的刷新(UI位置的刷新)——MarkLayoutForRebuild此方法是外界与布局系统沟
原创 2022-06-18 00:49:11
4411阅读
继承自ILayoutController(布局控制器),用于控制自身布局元素,例如ContentSizeFitter、AspectRatioFitter
原创 2022-06-18 00:49:40
4785阅读
StencilMaterial是一个静态类,负责管理模板材质。维护了一个MatEntry类型的列表提供一个新的材质继承IClippable
原创 2022-07-23 00:46:10
8303阅读
MaskableGraphic继承自Graphic类,IClippable、IMaskable、IMaterialModifier接口,继承自Graphic类表示它负
原创 2022-07-23 00:46:21
9742阅读
一:前言CanvasUpdateRegistry是一个单例,它了Canvas即将渲染的UGUI组件,并调用已注册组件的Rebuild等方法二:源码解析首先可以看到ICanvasElement这个接口,每个UGUI的组件都继承自ICanvasElement接口——Rebuild:重构方法,需要在继承类中实现——transform:因为每个UGUI组件
原创 2022-04-19 15:22:36
8901阅读
一:前言UIBehaviour是所有UI组件的基类,UI组件都是直接或者间接继承UIBehaviour这个抽象类的,它继承自MonoBehavior,所以拥有和Unity相同的生命周期二:源码解析除了Awake、OnEnable、Start、OnDisable、OnDestroy外,还有一些与UI变化相关的方法——OnVal
原创 2022-04-19 15:22:43
9043阅读
一:前言BaseMeshEffect继承了IMeshModifier,是用于修改生成的网格的特效类的抽象基类,可以在子类继承并重写ModifyMesh方法去修改顶点数据,它与IMeshModifier没有太大的区别,只不
原创 2022-04-29 23:30:36
5352阅读
一:前言Shadow继承自BaseMeshEffect,可以为图片或文字添加阴影效果它的实现原理是将原网格数据复制一份并向指定方向移动指定像素,然后再填充到顶点数据中,所以顶点数和三角面数会增加1倍二:源码解析首先在ModifyMesh方法中使用vh.GetUIVertexStream把当前的顶点信息提取到一个List<UIVertex>中(UIVertex是一个结构体)
原创 2022-04-29 23:31:18
5575阅读
布局的工具类,可以获取到对象的minWidth、preferredWidth、flexibleWidth、minHeight、preferredH
原创 2022-06-18 00:48:59
3385阅读
ILayoutController可分为两种:控制自身和控制子布局元素。SetLayoutHorizontal、SetLayoutVertical:获取
原创 2022-06-18 00:49:50
10000+阅读
每个UGUI的组件都继承自ICanvasElement接口——Rebuild:重
原创 2022-06-19 00:38:33
10000+阅读
ClipperRegistry是一个单例,它是裁剪注册器——Register将裁剪对象添加到m_Clippers序列中——Unregister将裁剪对象
原创 2022-07-16 00:45:56
7503阅读
裁剪接口,RectMask2D继承此接口接口中只有一个方法,在子类中实现PerformClipping,此方法在布局重建后图像重建前执行
原创 2022-07-16 00:45:59
7635阅读
IMaskable是Mask遮罩接口(被遮罩者),可以在子类中实现RecalculateMasking方法去重新计算遮罩。
原创 2022-07-24 00:58:42
10000+阅读
Image是显示Sprite图像的组件,继承自MaskableGraphic。
原创 2022-08-27 00:35:57
10000+阅读
  • 1
  • 2
  • 3
  • 4
  • 5