Chapter 2. Building Layouts

贯通RectTransform、Canvas组件、自动布局、尺寸适配、遮罩、缩放与EventSystem;用布局探针、事件路由和多分辨率发布门完成独立复核。

学习目标

  • 能说明“Chapter 2. Building Layouts”如何贯通RectTransform、Canvas组件、自动布局、尺寸适配、遮罩、缩放与EventSystem,并明确2015年uGUI原书与Unity 6现行资料的时代边界
  • 能先预测“怎样确定锚点、Layout Group、Fitter与Canvas Scaler的唯一尺寸写入者,并让输入路由不受重排破坏?”的布局或事件结果,再沿层级、矩形、画布、相机、射线和处理器逐阶段核对
  • 能注入“Layout Group与Content Size Fitter循环写入同一尺寸,编辑器预览稳定而运行时持续重建”,用“同一RectTransform属性只有一个权威布局写入者,缩放策略有参考分辨率,射线目标与可见层级一致”决定接受、修正或拒绝UI发布

为什么从这个UI任务开始

布局页把自动重排视作尺寸依赖图;任何组件写宽高前,都必须说明输入、输出以及是否与父子布局循环。 “Chapter 2. Building Layouts”使用的贯穿任务是:构建可滚动商品栏,在横竖屏切换中检查网格、内容尺寸、遮罩、Canvas Scaler和点击目标。 操作前先预测哪个矩形、射线目标或事件处理器会变化,运行后再补理由不算预测。

本页围绕“怎样确定锚点、Layout Group、Fitter与Canvas Scaler的唯一尺寸写入者,并让输入路由不受重排破坏?”建立正常、故障与恢复路径。只有“Chapter 2. Building Layouts”保持“同一RectTransform属性只有一个权威布局写入者,缩放策略有参考分辨率,射线目标与可见层级一致”并交付RectTransform矩阵、Canvas与Renderer层级、布局输入输出、Fitter所有权、遮罩边界、缩放样本和事件射线路径。,编辑器画面才构成UI证据。

书目、38组条目与UI时代

“Chapter 2. Building Layouts”以作者公告核对Simon Jackson在2014年发布的《Unity 3D UI Essentials》及其围绕Unity 4.6新UI、动态缩放、效果和世界空间界面的定位;出版社授权预览核对第一版详细目录,中文版书页核对《Unity UI设计》出版信息。课程分母为六章与附录合并后的38组公开目录条目。

“Chapter 2. Building Layouts”只依据作者公告、授权样章和公开目录限定范围,不逐段改写原文;解释、状态模型、交互、练习与答案均为独立教学重写。每个合并目录组保留组内全部英文小节名,不能用一个现代主题替换。

“Chapter 2. Building Layouts”另以技术核对 1技术核对 2技术核对 3技术核对 4技术核对 5核对现行技术事实。2015年的旧GUI对照、uGUI初版面板和源码仓库流程保留为原书时代轨;Unity 6的uGUI 2.0与UI系统比较只验证稳定布局、画布和事件机制或说明迁移边界,不能反向证明原书当年的菜单、包和默认值。

公开目录条目与UI机制

The Rect Transforms;The Rect Transform component

公开坐标 1/7。 在“Chapter 2. Building Layouts”的坐标1中,The Rect Transforms;The Rect Transform component用于以父矩形中的归一锚点、轴心和偏移计算UI矩形;先锁定场景和层级,再用Anchor Min/Max、Pivot、offset、父尺寸与运行结果复核,出现只在参考分辨率拖出绝对坐标时不得发布。

The Canvas;The Canvas Renderer;Canvas Groups

公开坐标 2/7。 The Canvas;The Canvas Renderer;Canvas Groups进入“Chapter 2. Building Layouts”后要回答第2张布局卡:它怎样由Canvas空间、排序、相机和组状态决定渲染与交互边界、改变哪个矩形或目标、由哪些Render Mode、相机、排序、透明度、射线与屏幕结果证明,并如何排除画面可见就假定事件相机正确。

Horizontal Layout Group;Vertical Layout Group;Grid Layout Group

公开坐标 3/7。 围绕“怎样确定锚点、Layout Group、Fitter与Canvas Scaler的唯一尺寸写入者,并让输入路由不受重排破坏?”,条目3把Horizontal Layout Group;Vertical Layout Group;Grid Layout Group解释为把最小、首选与弹性尺寸沿布局依赖图分配给子项;复核者先读取布局输入、尺寸写入者、重建次数和最终矩形再判断画面,不能接受多个组件循环写同一宽高。

Layout Element;Content Size Fitter;Aspect Ratio Fitter

公开坐标 4/7。 对“Chapter 2. Building Layouts”而言,Layout Element;Content Size Fitter;Aspect Ratio Fitter的最小合同是把最小、首选与弹性尺寸沿布局依赖图分配给子项,第4次检查保存布局输入、尺寸写入者、重建次数和最终矩形;若产生多个组件循环写同一宽高,就回到层级、布局或事件上游。

Scroll Rect;Masks;Resolution and scaling

公开坐标 5/7。 第5个公开条目组Scroll Rect;Masks;Resolution and scaling服务于贯通RectTransform、Canvas组件、自动布局、尺寸适配、遮罩、缩放与EventSystem,需要以视口、内容边界、缩放模式、参考分辨率、Match与安全区呈现用视口裁剪内容并按产品度量政策缩放Canvas;以单一16:9截图替代边界矩阵会破坏“同一RectTransform属性只有一个权威布局写入者,缩放策略有参考分辨率,射线目标与可见层级一致”。

Constant Pixel Size;Scale with Screen Size;Constant Physical Size

公开坐标 6/7。 学习者在“Chapter 2. Building Layouts”中讨论Constant Pixel Size;Scale with Screen Size;Constant Physical Size前预测用视口裁剪内容并按产品度量政策缩放Canvas会改变哪项布局或交互状态,再读取视口、内容边界、缩放模式、参考分辨率、Match与安全区;观察到以单一16:9截图替代边界矩阵时保留失败轨迹。

The UnityEvent system;Raycasting;Input modules;Event Triggers

公开坐标 7/7。 构建可滚动商品栏,在横竖屏切换中检查网格、内容尺寸、遮罩、Canvas Scaler和点击目标。 在条目7处理The UnityEvent system;Raycasting;Input modules;Event Triggers时,要把从活动输入模块经Raycaster生成事件数据并选择目标写进UI合同,把输入样本、活动模块、RaycastResult排序、目标和事件日志写进运行记录,并把多个模块或错误相机竞争同一输入写进故障样本。

先预测,再操作三个UI实验

分步1 / 3

1. 画布锚点与布局探针

切换“商品网格、滚动视口、缩放基准条”以及手机竖屏、横屏和桌面窗口,核对Anchor Min/Max、Pivot、offset与安全区怎样连接“Chapter 2. Building Layouts”。

画布与锚点探针

固定布局合同,再切换分辨率

怎样确定锚点、Layout Group、Fitter与Canvas Scaler的唯一尺寸写入者,并让输入路由不受重排破坏?

目标视口

被测 RectTransform

390 × 844窄屏与安全区
safe area
商品网格

Anchor Min / Max(0.05, 0.9) → (0.05, 0.9)

Pivot / Offset(0, 1) · +16, -16

本页目录坐标:The Rect Transforms;The Rect Transform component、The Canvas;The Canvas Renderer;Canvas Groups、Horizontal Layout Group;Vertical Layout Group;Grid Layout Group、Layout Element;Content Size Fitter;Aspect Ratio Fitter、Scroll Rect;Masks;Resolution and scaling、Constant Pixel Size;Scale with Screen Size;Constant Physical Size、The UnityEvent system;Raycasting;Input modules;Event Triggers

Chapter 2. Building Layouts的可重放UI协议

阶段UI动作必留证据拒绝条件
声明层级和尺寸所有权在“Chapter 2. Building Layouts”执行声明层级和尺寸所有权,只允许声明组件写入布局或状态Unity版本、场景层级、视口与初始状态层级或对象身份不可追溯
组合布局遮罩与缩放在“Chapter 2. Building Layouts”执行组合布局遮罩与缩放,只允许声明组件写入布局或状态RectTransform、Canvas、相机、射线与事件轨迹Layout Group与Content Size Fitter循环写入同一尺寸,编辑器预览稳定而运行时持续重建
追踪输入射线和事件在“Chapter 2. Building Layouts”执行追踪输入射线和事件,只允许声明组件写入布局或状态分辨率矩阵、构建截图、迁移与回退记录无法重放或恢复基线
unit: "uid-02"
question: "怎样确定锚点、Layout Group、Fitter与Canvas Scaler的唯一尺寸写入者,并让输入路由不受重排破坏?"
scenario: "构建可滚动商品栏,在横竖屏切换中检查网格、内容尺寸、遮罩、Canvas Scaler和点击目标。"
panels: ["商品网格", "滚动视口", "缩放基准条"]
stages: ["声明层级和尺寸所有权", "组合布局遮罩与缩放", "追踪输入射线和事件"]
invariant: "同一RectTransform属性只有一个权威布局写入者,缩放策略有参考分辨率,射线目标与可见层级一致"
fault: "Layout Group与Content Size Fitter循环写入同一尺寸,编辑器预览稳定而运行时持续重建"
evidence: "RectTransform矩阵、Canvas与Renderer层级、布局输入输出、Fitter所有权、遮罩边界、缩放样本和事件射线路径。"
reset: restore_viewport_panel_route_step_gates_and_artifact

该协议要求“Chapter 2. Building Layouts”在相同Unity版本、场景、层级、视口、输入和初始状态下重放。重置后若视口、面板、路由模式、步骤、发布门或证据显示没有回到基线,交互状态已经污染比较,不能作为UI证据。

本页回顾

掌握“Chapter 2. Building Layouts”不是记住编辑器点击顺序,而是能围绕“怎样确定锚点、Layout Group、Fitter与Canvas Scaler的唯一尺寸写入者,并让输入路由不受重排破坏?”重建UI状态,并用“同一RectTransform属性只有一个权威布局写入者,缩放策略有参考分辨率,射线目标与可见层级一致”拒绝“Layout Group与Content Size Fitter循环写入同一尺寸,编辑器预览稳定而运行时持续重建”。最终交付为RectTransform矩阵、Canvas与Renderer层级、布局输入输出、Fitter所有权、遮罩边界、缩放样本和事件射线路径。

练习与答案

练习

  1. 问题 1:UI合同。 “Chapter 2. Building Layouts”为什么必须先声明Unity版本、场景层级、视口、布局写入者、相机与输入模块?
  1. 问题 2:目录逐项覆盖。 怎样证明公开条目组已经进入机制、交互和练习?
  1. 问题 3:故障恢复。 怎样证明“Layout Group与Content Size Fitter循环写入同一尺寸,编辑器预览稳定而运行时持续重建”已经被修正?

名词解释

名词解释

本章出现的专业名词,用大白话再讲一遍。

UI条目1

对应“The Rect Transforms;The Rect Transform component”;在“Chapter 2. Building Layouts”中用于以父矩形中的归一锚点、轴心和偏移计算UI矩形,需要连接Unity时代、层级、矩形、画布、输入与目标。

The Canvas

对应“The Canvas;The Canvas Renderer;Canvas Groups”;在“Chapter 2. Building Layouts”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,需要连接Unity时代、层级、矩形、画布、输入与目标。

UI条目3

对应“Horizontal Layout Group;Vertical Layout Group;Grid Layout Group”;在“Chapter 2. Building Layouts”中用于把最小、首选与弹性尺寸沿布局依赖图分配给子项,需要连接Unity时代、层级、矩形、画布、输入与目标。

Layout Element

对应“Layout Element;Content Size Fitter;Aspect Ratio Fitter”;在“Chapter 2. Building Layouts”中用于把最小、首选与弹性尺寸沿布局依赖图分配给子项,需要连接Unity时代、层级、矩形、画布、输入与目标。

Scroll Rect

对应“Scroll Rect;Masks;Resolution and scaling”;在“Chapter 2. Building Layouts”中用于用视口裁剪内容并按产品度量政策缩放Canvas,需要连接Unity时代、层级、矩形、画布、输入与目标。

UI条目6

对应“Constant Pixel Size;Scale with Screen Size;Constant Physical Size”;在“Chapter 2. Building Layouts”中用于用视口裁剪内容并按产品度量政策缩放Canvas,需要连接Unity时代、层级、矩形、画布、输入与目标。

UI条目7

对应“The UnityEvent system;Raycasting;Input modules;Event Triggers”;在“Chapter 2. Building Layouts”中用于从活动输入模块经Raycaster生成事件数据并选择目标,需要连接Unity时代、层级、矩形、画布、输入与目标。

资料与写作方式声明

本章以Simon Jackson《Unity 3D UI Essentials》合法公开试读核定可见范围,并以目录限定未公开部分,并结合正文列出的技术资料独立重写;不宣称复现原书正文,也不沿用原作表述。

原作版权归作者与出版社所有;本站原创教学结构与表述仅供学习交流。

讨论

评论区加载中…