UGUI源码解析——总览

article/2025/10/6 14:37:03

一:图像相关


——UIBehaviour:UI组件的基类,继承MonoBehaviour
UGUI源码解析——UIBehaviour
——CanvasUpdateRegistry:图像、布局重建注册器
UGUI源码解析——CanvasUpdateRegistry
——ICanvasElement:图像、布局重建接口
UGUI源码解析——ICanvasElement
——LayoutRebuilder:负责布局的更新
UGUI源码解析——LayoutRebuilder
——Graphic:负责图像显示与更新
UGUI源码解析——Graphic
——MaskableGraphic:继承自Graphic,实现了裁剪和遮罩功能
UGUI源码解析——MaskableGraphic
——IMaskable:
遮罩接口(被遮罩者)
UGUI源码解析——IMaskable
——ICliappable:裁剪接口(被裁剪者)
UGUI源码解析——IClippable
——IMaterialModifier:材质处理的接口,可以在子类中实现GetModifiedMaterial方法去修改渲染的材质
UGUI源码解析——IMaterialModifier
——Image:显示图像的组件,继承自MaskableGraphic
UGUI源码解析——Image
——RawImage:
显示图像的组件,继承自MaskableGraphic
UGUI源码解析——RawImage
——Text:
显示文本的组件


——VertexHelper:网格数据的工具类
UGUI源码解析——VertexHelper
——IMeshModifier:网格处理的接口,可以在子类中实现ModifyMesh方法去修改顶点数据
UGUI源码解析——IMeshModifier
——BaseMeshEffect:用于实现网格效果的抽象基类,可以在子类中重写ModifyMesh方法去修改顶点数据,我们实现网格效果尽量继承此类(例如描边、阴影、镜像)
UGUI源码解析——BaseMeshEffect
——Shadow:阴影组件,实现原理是将原网格顶点复制出一份并向指定方向移动
UGUI源码解析——Shadow
——Outline:描边组件,实现原理是将原网格顶点复制出四份并向指定方向移动
UGUI源码解析——Outline


二:布局相关

布局系统基于ILayoutElement(布局元素)和ILayoutController(布局控制器)两个概念

 ——LayoutRebuilder:负责布局的更新
UGUI源码解析——LayoutRebuilder
——ILayoutElement:挂载了实现ILayoutElement的组件的对象被视为一个布局元素,布局元素不直接设置布局,只计算自身属性,设置布局由布局控制器设置
UGUI源码解析——ILayoutElement
——ILayoutController:挂载了实现ILayoutController的组件的对象被视为一个布局控制器,布局控制器用于设置布局。布局控制器可分为两种:控制自身和控制子布局元素
UGUI源码解析——ILayoutController
——ILayoutGroup:继承自ILayoutController,挂载了实现ILayoutGroup的组件的对象被视为一个布局控制器,用于控制子布局对象,例如HorizontalOrVerticalLayoutGroup、GridLayoutGroup
UGUI源码解析——ILayoutGroup
——ILayoutSelfController:继承自ILayoutController(布局控制器),挂载了实现ILayoutSelfController的组件的对象被视为一个布局控制器,用于控制自身布局对象,例如ContentSizeFitter、AspectRatioFitter
UGUI源码解析——ILayoutSelfController
——ILayoutIgnorer:挂载了实现ILayoutIgnorer接口的组件的对象可以设置不受布局系统控制,例如LayoutElement
UGUI源码解析——ILayoutIgnorer
——LayoutGroup:LayoutGroup是控制子布局对象组件的基类,实现了ILayoutElement和ILayoutGroup接口,说明它既是一个布局元素也是一个布局控制器,HorizontalLayoutGroup、VerticalLayoutGroup、GridLayoutGroup都继承或间接继承了此类
UGUI源码解析——LayoutGroup
——HorizontalOrVerticalLayoutGroup:继承自LayoutGroup,是HorizontalLayoutGroup和VerticalLayoutGroup的父类,提供了一些HorizontalLayoutGroup和VerticalLayoutGroup通用的方法
UGUI源码解析——HorizontalOrVerticalLayoutGroup
——HorizontalLayoutGroup:水平布局组件
UGUI源码解析——HorizontalLayoutGroup、VerticalLayoutGroup、GridLayoutGroup
——VerticalLayoutGroup:垂直布局组件
UGUI源码解析——HorizontalLayoutGroup、VerticalLayoutGroup、GridLayoutGroup
——GridLayoutGroup:网格布局组件,同时实现了水平和竖直布局
UGUI源码解析——HorizontalLayoutGroup、VerticalLayoutGroup、GridLayoutGroup
——ContentSizeFitter:ContentSizeFitter继承自ILayoutSelfController,是调整对象自适应的组件
UGUI源码解析——ContentSizeFitter
——LayoutElement:继承了ILayoutElement和ILayoutIgnorer接口,作为布局元素组件
UGUI源码解析——LayoutElement
——LayoutUtility: 布局的工具类
UGUI源码解析——LayoutUtility


三:遮罩、裁剪相关 


——MaskableGraphic:继承自Graphic,实现了裁剪和遮罩功能
UGUI源码解析——MaskableGraphic
——IClippable:裁剪接口(被裁剪者)
UGUI源码解析——IClippable
——IMaskable:遮罩接口(被遮罩者)
UGUI源码解析——IMaskable
——IMaterialModifier:材质处理的接口,可以在子类中实现GetModifiedMaterial方法去修改渲染的材质
UGUI源码解析——IMaterialModifier
——IClipper:裁剪接口(裁剪者)
UGUI源码解析——IClipper
——ClipperRegistry:裁剪注册器
UGUI源码解析——ClipperRegistry
——Mask:遮罩组件,它遮罩的形状由Graphic决定,通过StencilBuffer(模板缓存)实现
UGUI源码解析——Mask
——RectMask2D:矩形遮罩组件,它只能裁剪一个矩形区域,不依赖于Graphic,通过
UGUI源码解析——RectMask2D
——MaskUtilities:遮罩相关工具类
UGUI源码解析——MaskUtilities
——StencilMaterial:负责管理模板材质,添加新的材质设置给UI-Default.shader
UGUI源码解析——StencilMaterial
——Clipping:裁剪的工具类,只有一个计算裁切区域的方法


四:


http://chatgpt.dhexx.cn/article/hFoaETig.shtml

相关文章

UGUI 全方位了解

随着 unity3d 4.6 ~ 5.x 新 UI 系统终于与大家见面了。这篇文章将不会介绍如何使用按钮、滚动条之类的UI控件,这些内容可以参考 Unity Manual;这篇文章的重点是,如何理解 UI 系统的设计,以便更好的在实际中使用它。 RectTransfor…

UI框架(UGUI)

整个游戏的工程源码下载链接:点击打开链接 可以参考的写的Demo和本文章来学习 毕竟有些细节问题在文章中不能一一说到 工具:VS2010、Unity5.2.3f 先介绍整个Demo的主面板 其中任务、技能、符文等等都是按钮,点击按钮会生成相应面板 【Pro…

UGUI相关使用

UGUI 文章目录 UGUI1.六大基础组件概述1.1 Canvas组件1.2 CanvasScaler组件1.3 Graphic Raycaster组件1.4 Event System组件1.5 Standalone Input Module组件1.6 RectTransform组件 2.三大基础控件概述2.1 图像控件Image2.2 文本控件Text2.3 RawImage原始图像组件 3.七大组合控…

Unity UGUI系统

UI系统对比 对 UI 系统的选择取决于是为 Unity 编辑器开发 UI,还是为游戏或应用程序开发运行时 UI。 UI 的类型UI 工具包Unity UI(uGUI)IMGUI注意事项运行时(调试)✔ *✔✔这指用于调试用途的临时运行时 UI。运行时(游戏内&…

UGUI 详解

1.RectTransform RectTransform组件 继承自Transform组件,是2D界面中元素的Transform。 对比Transform增加了新的属性分别是:Anchor(锚点)和 Pivot(轴心点)。 属性: localPosition:图…

UGUI学习笔记(八)UGUI不规则响应区域

一、Unity自带的点击策略 在上一篇文章中我们了解到,UI的默认响应区域是UI元素所在的矩形框线内的区域。这也就意味着,当UI的图形为不规则形状时,点击图形的外部也可能会触发事件。 但其实Unity自带了一种不规则区域点击策略。要想使用它&…

[Unity UGUI图集系统]浅谈UGUI图集使用

**写在前面,下面是自己做Demo的时候一些记录吧,参考了很多网上分享的资源 一、打图集 1.准备好素材(建议最好是根据图集名称按文件夹分开) 2、创建一个SpriteAtlas 3、将素材添加到图集中 4、生成图集 到此,我们的图…

Ngui和Ugui的区别

NGUI的元素更新: UIPanel.LateUpdate采用轮询的方式,每帧都会执行,并且每帧都会有UIPanel.UpdateWidgets这个函数的调用,做的事情就是对这些UI元素的位置、缩放等信息的获取,也就是即使没有变化的UI元素,也…

Unity—UGUI

每日一句:读数、学习 去更远的地方,才能摆脱那些你不屑一顾的圈子 目录 InputFiled输入框 例:用户名和密码 Toggle组件 案例:冷却效果 InputFiled输入框 Text Component 输入文本组件 Text输入内容 Character Limit 输入字符…

【Unity3D】UGUI概述

1 UGUI 与 GUI 区别 GUI控件 在编译时不能可视化,并且界面不太美观,在实际应用中使用的较少。UGUI 在编译时可视化,界面美观,实际应用较广泛。 2 Canvas 渲染模式(Render Mode) Screen Space - Overlay&a…

怎样使用UGUI

什么是 UGUI UGUI 是 Unity 自带的一套 GUI 系统,含有基本的一些 UI 控件。 UGUI 控件有哪些? 我们常用的有 Canvas,Text,Image,Button,Toggle,Slider,Scroll Bar,Scroll…

Unity3D UGUI系列之合批

目录 1. 什么是UGUI的合批1.1 准备工作1.2 批处理1.3 批处理的意义1.4 UGUI的合批 2 分析工具的使用2.1 Frame Debugger的使用2.2 Profiler-UI的使用 3 UGUI合批规则3.1 UGUI合批初体验3.2 UGUI合批被打断初体验3.3 UGUI合批规则详解3.3.1 合批规则3.3.2 合批规则示例13.3.3 合…

unity中NGUI与UGUI的区别?

什么是UI? UI即User Interface(用户界面)的简称。泛指用户的操作界面,UI设计主要指界面的样式,美观程度。而使用上,对软件的人机交互、操作逻辑、界面美观的整体设计则是同样重要的另一个门道。好的UI不仅是让软件变得…

【UGUI】UGUI入门,系统介绍

Unity 2017.1.0f3 常用的UI控件 添加UI控件 创建UI控件时,如果没有Canvas和EventSystem系统会自动创建。 Canvas是画布,是所有UI控件的根类,所有UI控件都必须在Canvas上绘制。如果UI控件不在Canvas下,将无法正常渲染显示。 Eve…

UGUI框架

记录最新学习的UGUI框架。 UIType类保存面板基本信息(名称、路径),该面板会在具体的面板类里面(StartPanel)进行实例化。 public class UIType {private string name;public string Name { get > name; }private …

UGUI的简单理解

1.Canvas(画布) UGUI中几乎所有的组件都要在Canvas下搭建 2.EventSysteam(事件系统) 如果进行UI搭建的时候,缺少或删除了EventSysteam的话会导致UGUI中的组件无法交互,无法发生事件. 3.Panel 平时我们进行UI工程搭建的时候,我们都会先创建Panel面板,创建Panel面板的…

UGUI底层

关于UGUI底层的小知识---上 (转雨松momo) 1 | UGUI原理简述 1.1 原理 首先得生成显示UI用的Mesh,如图1-1所示,一个矩形的Mesh,由4个顶点,2个三角形组成,每个顶点都包含UV坐标,如果需要调整颜色&#xf…

UGUI组件详解

什么是 UGUI UGUI 是 Unity 自带的一套 GUI 系统,含有基本的一些 UI 控件。 UGUI 控件有哪些? 我们常用的有 Canvas,Text,Image,Button,Toggle,Slider,Scroll Bar,Scroll…

【Unity基础】ugui的基础知识篇

文章目录 前言一、常用用可视化控件1、Image2、RawImageI.和Image的区别 3、Text组件4、画布是怎么渲染出可视化UI的?II.这里整理一下渲染相关的关系图,如下: 5、关于画布的布局重构 二、Button交互组件1、Button组件的源码以及使用方式2、Button组件是如…

Unity之UGUI详解

UGUI 文章目录 UGUI六大基础组件概述Canvas对象上依附的:CanvasCanvas ScalerGraphic RaycasterRectTransform EventSystem对象上依附的:EventSystemStandalone Input Module Canvas画布组件Screen Space overlayScreen Space CameraWorld Space CanvasS…