ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【Unity UGUI源码深度解析】11|RectMask2D源码解析:矩形裁剪、交集计算与可见性剔除

【Unity UGUI源码深度解析】11|RectMask2D源码解析:矩形裁剪、交集计算与可见性剔除 《UGUI源码深度解析》第 11 篇 · 界面小组工作日志基准:Unity 2022.3.62f2c1 / 本地 UGUI 1.0.0。人物与项目情节为虚构;源码机制以本地实现为准。一、看不见的装备,是不是已经回收了?背包物品逐渐变多。阿澈在列表外框加上 RectMask2D,窗口以外的图标终于消失了。“那放一万个物品应该也没问题,反正只显示十几个。”这句话听起来很合理,却把三个概念合并了:像素裁剪、图形剔除和对象虚拟化。RectMask2D 负责前两类工作的一部分,不替我们管理一万个物品的实例和数据绑定。我们先看它到底向谁发了什么通知。二、先登记窗口,再找到窗口里的图形RectMask2D 启用后向 ClipperRegistry 注册。CanvasUpdateRegistry 在布局完成之后调用 Cull,注册表再逐个驱动 PerformClipping。MaskableGraphic 会根据层级寻找相关 RectMask2D,并注册为裁剪目标。层级变化、启用禁用或者 maskable 状态变化,都可能要求重新建立关系。它不是每次裁剪时无条件遍历整个场景寻找所有 Image。这里分工很清楚:注册表负责调度,RectMask2D 负责计算区域,目标 G
返回列表