news 2026/6/15 16:56:12

1.19 UGUI的准备数据流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
1.19 UGUI的准备数据流程

1.UGUI准备数据的流程


a.PostLateUpdate.PlayerUpdateCanvases-作用:这是Unity在每帧的晚期更新(LateUpdate)之后,专门用于更新所有Canvas(UI画布)的系统函数;它负责驱动整个 UI渲染流程-详细流程:它会调用Canvas.SendWillRenderCanvases(),从而触发一系列UI更新操作,包括布局计算、网格重建、批处 理生成等 b.UGUI.Rendering.UpdateBatches-作用:更新渲染批处理,这是Unity UI系统进行批处理的关键步骤,将多个UI元素合并到一个Draw Call中,以减少渲染 开销 c.CanvasRenderer.SyncTransform-作用:同步CanvasRenderer的变换信息,当UI元素的位置、旋转或缩放发生变化时,需要将变换信息从Transform组件同步 到CanvasRenderer,以便正确渲染 d.Canvas.BuildBatch-作用:构建批处理,将需要渲染的UI元素按照材质、纹理等条件进行分组,生成一个或多个批处理(Batch),每个批处理对 应一个DrawCalle.Canvas.SendWillRenderCanvases()[invoke]-作用:触发WillRenderCanvases事件,这个事件会调用所有注册的CanvasUpdateRegistry中的元素,执行布局和重建 f.Render-作用:这是一个总的渲染阶段,可能包含了多个子步骤;在您提供的截图中,它下面包含了Layout(布局)相关的步骤 g.Layout(布局计算)-作用:计算UI元素的位置和大小,当UI元素发生变化(如文本改变、尺寸调整)时,需要重新计算布局 h.CanvasUpdate.Prelayout-作用:布局前的准备工作,在正式计算布局之前,可能需要更新一些数据或状态 i.CanvasUpdate.PostLayout-作用:布局后的处理工作;在布局计算完成后,可能需要更新一些依赖于布局结果的属性 j.CanvasUpdate.Layout-作用:执行布局计算。这是布局系统的核心,会根据UI元素的约束(如锚点、布局组)计算每个UI元素的最终位置和大小 k.CanvasRenderer.SyncWorldRect-作用:同步CanvasRenderer的世界空间矩形,这个矩形用于确定UI元素在屏幕上的裁剪区域 l.TransformChangeSystem-作用:变换更改系统。处理Transform组件的更改,并更新相关的渲染数据 m.CanvasRenderer.SyncClipRect-作用:同步CanvasRenderer的裁剪矩形;当使用Mask或RectMask2D等裁剪组件时,需要更新裁剪区域 m.Canvas.SendPreWillRenderCanvases()[invoke]-作用:触发PreWillRenderCanvases事件;这个事件在WillRenderCanvases之前被调用,用于执行一些前置操作
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 14:11:33

JavaEE进阶-SpringBoot三层架构:餐厅模式解析

目录 核心架构:数据流转的“流水线” 1. Entity (实体类) —— com.entity 2. Controller (控制层) —— com.controller 3. Service (业务层) —— com.service 4. Dao (持久层) —— com.dao 辅助架构:让系统更好用的“后勤部” 5. Config (配置…

作者头像 李华
网站建设 2026/6/15 14:33:02

从Bash脚本到Firebase数据库:解决JSON上传问题

在开发过程中,我们常常会遇到各种技术问题,尤其是涉及到云服务和数据管理时。本文将通过一个实际案例,详细讲解如何解决在Bash脚本中使用Firebase CLI上传JSON文件时遇到的错误。 问题背景 用户moco在使用Bash脚本尝试将一个JSON文件上传到Firebase实时数据库时,遇到了40…

作者头像 李华
网站建设 2026/6/14 18:14:24

sward全面介绍(7) - 如何将confluence数据导入sward

1、安装配置 首先安装配置sward 1.1 安装 下载,点此下载,或直接使用命令在线下载安装包 wget -O tiklab-sward-2.0.7.rpm https://install.tiklab.net/app/install/sward/2.0.7/tiklab-sward-2.0.7.rpm 安装,以centos为例,将Li…

作者头像 李华
网站建设 2026/6/15 13:50:44

Solon AI MCP v3.7.3, v3.6.6 发布

Solon AI & MCP(支持 LTS) Solon AI & MCP ,是 Solon 官方推出的 Java 智能体应用开发框架。旨在为 Java 开发者提供统一的接口抽象层,简化与 OpenAI、DeepSeek、QWen 等主流 AI 模型的集成流程,以及简化 Mcp…

作者头像 李华
网站建设 2026/6/15 12:50:20

OpenHarmony Flutter 分布式任务调度:跨设备负载均衡与资源优化方案

前言在开源鸿蒙(OpenHarmony)全场景分布式生态中,跨设备任务调度是实现多设备算力协同、资源高效利用的核心技术。传统单设备应用受限于硬件性能,无法高效处理高负载任务(如 AI 计算、视频渲染、大数据分析&#xff09…

作者头像 李华
网站建设 2026/6/15 11:43:49

探索Qt下的UI皮肤生成器:多风格与编译那些事儿

Qt下UI皮肤生成器,好几套UI皮肤风格。 Qt5.6.1_MinGW的debug下需要将Pro里的PRECOMPILED_HEADER注释掉,在release下编译无问题; 源码: 使用Qt5.6.1_MinGW,Qt5.7.1_msvc编译通过。在Qt开发的世界里,UI皮肤生…

作者头像 李华