UGUI源码
文章平均质量分 92
UGUI源码初读
seif丶
学渣
展开
-
UGUI源码(五)VertexHelper
UGUI源码(五)VertexHelperVertexHelper.csVertexHelper.csUGUI提供了我们自己构建顶点、三角形的类,那就是VertexHelper类。通过这个类,我们可以创建顶点,构成三角形,填充到一张mesh上,然后用MeshRenderer渲染到屏幕上,实际上我们可以直接操作Mesh类添加顶点、三角形等操作,这里的vertexHelper只是UGUI与Mesh之间的一座桥梁。之前的文章中UGUI源码(二)Graphic,在OnPopulateMesh()函数中使用,保原创 2020-09-30 17:30:51 · 345 阅读 · 0 评论 -
UGUI源码(四)Text
UGUI源码(四)TextText.csShadow 与 OutlineShadow.csOutline.csOutline组件慎用,使用shader实现Text.cs//部分源码public class Text : MaskableGraphic, ILayoutElement{ //Text 组件在 Inspector 面板上显示的属性 [SerializeField] private FontData m_FontData = FontData.defaultFontData;原创 2020-09-30 15:44:34 · 378 阅读 · 0 评论 -
UGUI源码(三)Image
UGUI源码(三)ImageImage.csImage使用图集实现动态合批,减少DrawCall原理Image.cs//部分源码public class Image : MaskableGraphic, ISerializationCallbackReceiver, ILayoutElement, ICanvasRaycastFilter{ //更新网格(核心函数) protected override void OnPopulateMesh(VertexHelper toFill) {原创 2020-09-30 15:44:25 · 243 阅读 · 0 评论 -
UGUI源码(二)Graphic
UGUI源码(二)GraphicGraphic.csGraphic.cs//部分源码public abstract class Graphic : UIBehaviour, ICanvasElement{ //布局发生变化时调用(RectTransform的层级、尺寸、位置等等) //注册到 CanvasUpdateRegistry 中的 m_LayoutRebuildQueue队列中,等待重建布局 public virtual void SetLayoutDirty() {原创 2020-09-30 15:44:13 · 264 阅读 · 0 评论 -
UGUI源码(一)Canvas
UGUI源码解读 --- Canvas.csCanvas.csCanvasUpdateRegistry.csCanvas.cs//部分源码public sealed class Canvas : Behaviour{ public delegate void WillRenderCanvases(); //公有事件,在CanvasUpdateRegistry.cs的构造函数里,为willRenderCanvases事件添加了一个监听PerformUpdate。(后面贴了源码) //在渲染(原创 2020-09-30 15:44:04 · 618 阅读 · 0 评论