Chapter 5. Screen Space, World Space, and the Camera
比较Screen Space Overlay、Screen Space Camera与World Space的渲染和事件摄像机合同;用布局探针、事件路由和多分辨率发布门完成独立复核。
学习目标
- 能说明“Chapter 5. Screen Space, World Space, and the Camera”如何比较Screen Space Overlay、Screen Space Camera与World Space的渲染和事件摄像机合同,并明确2015年uGUI原书与Unity 6现行资料的时代边界
- 能先预测“怎样为HUD、相机平面和世界血条选择Canvas模式,并证明深度、比例、朝向和事件摄像机一致?”的布局或事件结果,再沿层级、矩形、画布、相机、射线和处理器逐阶段核对
- 能注入“World Space Canvas使用错误Event Camera,画面可见但射线从另一相机发出而无法点击”,用“渲染相机、事件相机、Canvas模式、排序、世界尺度和目标对象形成明确的一对一映射”决定接受、修正或拒绝UI发布
为什么从这个UI任务开始
空间页把“看得见”和“点得到”分开验证:渲染相机决定画面,事件相机与Raycaster决定输入坐标如何命中。 “Chapter 5. Screen Space, World Space, and the Camera”使用的贯穿任务是:同时制作屏幕HUD、相机空间生命条和世界空间展柜标签,改变FOV、距离与遮挡进行复核。 操作前先预测哪个矩形、射线目标或事件处理器会变化,运行后再补理由不算预测。
本页围绕“怎样为HUD、相机平面和世界血条选择Canvas模式,并证明深度、比例、朝向和事件摄像机一致?”建立正常、故障与恢复路径。只有“Chapter 5. Screen Space, World Space, and the Camera”保持“渲染相机、事件相机、Canvas模式、排序、世界尺度和目标对象形成明确的一对一映射”并交付Canvas模式、Render Camera、Event Camera、Plane Distance、FOV、排序、世界尺寸、遮挡、射线结果和尺度对照。,编辑器画面才构成UI证据。
书目、38组条目与UI时代
“Chapter 5. Screen Space, World Space, and the Camera”以作者公告核对Simon Jackson在2014年发布的《Unity 3D UI Essentials》及其围绕Unity 4.6新UI、动态缩放、效果和世界空间界面的定位;出版社授权预览核对第一版详细目录,中文版书页核对《Unity UI设计》出版信息。课程分母为六章与附录合并后的38组公开目录条目。
“Chapter 5. Screen Space, World Space, and the Camera”只依据作者公告、授权样章和公开目录限定范围,不逐段改写原文;解释、状态模型、交互、练习与答案均为独立教学重写。每个合并目录组保留组内全部英文小节名,不能用一个现代主题替换。
“Chapter 5. Screen Space, World Space, and the Camera”另以技术核对 1、技术核对 2、技术核对 3、技术核对 4核对现行技术事实。2015年的旧GUI对照、uGUI初版面板和源码仓库流程保留为原书时代轨;Unity 6的uGUI 2.0与UI系统比较只验证稳定布局、画布和事件机制或说明迁移边界,不能反向证明原书当年的菜单、包和默认值。
公开目录条目与UI机制
The Canvas and Cameras;Screen Space and World Space
↡UI条目1对应目录条目组“The Canvas and Cameras;Screen Space and World Space”,在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,并受Unity时代、层级、矩形、画布、输入和相机边界约束。公开坐标 1/6。 在“Chapter 5. Screen Space, World Space, and the Camera”的坐标1中,The Canvas and Cameras;Screen Space and World Space用于由Canvas空间、排序、相机和组状态决定渲染与交互边界;先锁定场景和层级,再用Render Mode、相机、排序、透明度、射线与屏幕结果复核,出现画面可见就假定事件相机正确时不得发布。
Render cameras;Event Cameras;Getting some perspective
↡Render cameras对应目录条目组“Render cameras;Event Cameras;Getting some perspective”,在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,并受Unity时代、层级、矩形、画布、输入和相机边界约束。公开坐标 2/6。 Render cameras;Event Cameras;Getting some perspective进入“Chapter 5. Screen Space, World Space, and the Camera”后要回答第2张布局卡:它怎样由Canvas空间、排序、相机和组状态决定渲染与交互边界、改变哪个矩形或目标、由哪些Render Mode、相机、排序、透明度、射线与屏幕结果证明,并如何排除画面可见就假定事件相机正确。
A Screen Space - Camera health bar;What's in a Canvas?;Am I dead yet?
↡UI条目3对应目录条目组“A Screen Space - Camera health bar;What's in a Canvas?;Am I dead yet?”,在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,并受Unity时代、层级、矩形、画布、输入和相机边界约束。公开坐标 3/6。 围绕“怎样为HUD、相机平面和世界血条选择Canvas模式,并证明深度、比例、朝向和事件摄像机一致?”,条目3把A Screen Space - Camera health bar;What's in a Canvas?;Am I dead yet?解释为由Canvas空间、排序、相机和组状态决定渲染与交互边界;复核者先读取Render Mode、相机、排序、透明度、射线与屏幕结果再判断画面,不能接受画面可见就假定事件相机正确。
Reaching in;It's all gone a bit flat;Going deep
↡Reaching in对应目录条目组“Reaching in;It's all gone a bit flat;Going deep”,在“Chapter 5. Screen Space, World Space, and the Camera”中用于在屏幕、相机或世界坐标中校准生命条与展柜UI,并受Unity时代、层级、矩形、画布、输入和相机边界约束。公开坐标 4/6。 对“Chapter 5. Screen Space, World Space, and the Camera”而言,Reaching in;It's all gone a bit flat;Going deep的最小合同是在屏幕、相机或世界坐标中校准生命条与展柜UI,第4次检查保存对象绑定、相机、FOV、距离、深度、尺度、朝向与事件命中;若产生渲染相机与事件相机不一致,就回到层级、布局或事件上游。
Hang your Canvas wherever you like;The showcase
↡UI条目5对应目录条目组“Hang your Canvas wherever you like;The showcase”,在“Chapter 5. Screen Space, World Space, and the Camera”中用于在屏幕、相机或世界坐标中校准生命条与展柜UI,并受Unity时代、层级、矩形、画布、输入和相机边界约束。公开坐标 5/6。 第5个公开条目组Hang your Canvas wherever you like;The showcase服务于比较Screen Space Overlay、Screen Space Camera与World Space的渲染和事件摄像机合同,需要以对象绑定、相机、FOV、距离、深度、尺度、朝向与事件命中呈现在屏幕、相机或世界坐标中校准生命条与展柜UI;渲染相机与事件相机不一致会破坏“渲染相机、事件相机、Canvas模式、排序、世界尺度和目标对象形成明确的一对一映射”。
Troubles with scale;A better way;A final word on Event Cameras
↡UI条目6对应目录条目组“Troubles with scale;A better way;A final word on Event Cameras”,在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,并受Unity时代、层级、矩形、画布、输入和相机边界约束。公开坐标 6/6。 学习者在“Chapter 5. Screen Space, World Space, and the Camera”中讨论Troubles with scale;A better way;A final word on Event Cameras前预测由Canvas空间、排序、相机和组状态决定渲染与交互边界会改变哪项布局或交互状态,再读取Render Mode、相机、排序、透明度、射线与屏幕结果;观察到画面可见就假定事件相机正确时保留失败轨迹。
先预测,再操作三个UI实验
1. 画布锚点与布局探针
切换“屏幕HUD、相机生命条、世界展柜标签”以及手机竖屏、横屏和桌面窗口,核对Anchor Min/Max、Pivot、offset与安全区怎样连接“Chapter 5. Screen Space, World Space, and the Camera”。
画布与锚点探针
固定布局合同,再切换分辨率
怎样为HUD、相机平面和世界血条选择Canvas模式,并证明深度、比例、朝向和事件摄像机一致?
目标视口
被测 RectTransform
Anchor Min / Max(0.05, 0.9) → (0.05, 0.9)
Pivot / Offset(0, 1) · +16, -16
本页目录坐标:The Canvas and Cameras;Screen Space and World Space、Render cameras;Event Cameras;Getting some perspective、A Screen Space - Camera health bar;What's in a Canvas?;Am I dead yet?、Reaching in;It's all gone a bit flat;Going deep、Hang your Canvas wherever you like;The showcase、Troubles with scale;A better way;A final word on Event Cameras
Chapter 5. Screen Space, World Space, and the Camera的可重放UI协议
| 阶段 | UI动作 | 必留证据 | 拒绝条件 |
|---|---|---|---|
| 选择Canvas空间与相机 | 在“Chapter 5. Screen Space, World Space, and the Camera”执行选择Canvas空间与相机,只允许声明组件写入布局或状态 | Unity版本、场景层级、视口与初始状态 | 层级或对象身份不可追溯 |
| 校准透视深度和世界尺度 | 在“Chapter 5. Screen Space, World Space, and the Camera”执行校准透视深度和世界尺度,只允许声明组件写入布局或状态 | RectTransform、Canvas、相机、射线与事件轨迹 | World Space Canvas使用错误Event Camera,画面可见但射线从另一相机发出而无法点击 |
| 验证事件相机与遮挡 | 在“Chapter 5. Screen Space, World Space, and the Camera”执行验证事件相机与遮挡,只允许声明组件写入布局或状态 | 分辨率矩阵、构建截图、迁移与回退记录 | 无法重放或恢复基线 |
unit: "uid-05"
question: "怎样为HUD、相机平面和世界血条选择Canvas模式,并证明深度、比例、朝向和事件摄像机一致?"
scenario: "同时制作屏幕HUD、相机空间生命条和世界空间展柜标签,改变FOV、距离与遮挡进行复核。"
panels: ["屏幕HUD", "相机生命条", "世界展柜标签"]
stages: ["选择Canvas空间与相机", "校准透视深度和世界尺度", "验证事件相机与遮挡"]
invariant: "渲染相机、事件相机、Canvas模式、排序、世界尺度和目标对象形成明确的一对一映射"
fault: "World Space Canvas使用错误Event Camera,画面可见但射线从另一相机发出而无法点击"
evidence: "Canvas模式、Render Camera、Event Camera、Plane Distance、FOV、排序、世界尺寸、遮挡、射线结果和尺度对照。"
reset: restore_viewport_panel_route_step_gates_and_artifact该协议要求“Chapter 5. Screen Space, World Space, and the Camera”在相同Unity版本、场景、层级、视口、输入和初始状态下重放。重置后若视口、面板、路由模式、步骤、发布门或证据显示没有回到基线,交互状态已经污染比较,不能作为UI证据。
本页回顾
掌握“Chapter 5. Screen Space, World Space, and the Camera”不是记住编辑器点击顺序,而是能围绕“怎样为HUD、相机平面和世界血条选择Canvas模式,并证明深度、比例、朝向和事件摄像机一致?”重建UI状态,并用“渲染相机、事件相机、Canvas模式、排序、世界尺度和目标对象形成明确的一对一映射”拒绝“World Space Canvas使用错误Event Camera,画面可见但射线从另一相机发出而无法点击”。最终交付为Canvas模式、Render Camera、Event Camera、Plane Distance、FOV、排序、世界尺寸、遮挡、射线结果和尺度对照。
练习与答案
练习
- 问题 1:UI合同。 “Chapter 5. Screen Space, World Space, and the Camera”为什么必须先声明Unity版本、场景层级、视口、布局写入者、相机与输入模块?
- 问题 2:目录逐项覆盖。 怎样证明公开条目组已经进入机制、交互和练习?
- 问题 3:故障恢复。 怎样证明“World Space Canvas使用错误Event Camera,画面可见但射线从另一相机发出而无法点击”已经被修正?
名词解释
名词解释
本章出现的专业名词,用大白话再讲一遍。
- UI条目1
对应“The Canvas and Cameras;Screen Space and World Space”;在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,需要连接Unity时代、层级、矩形、画布、输入与目标。
- Render cameras
对应“Render cameras;Event Cameras;Getting some perspective”;在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,需要连接Unity时代、层级、矩形、画布、输入与目标。
- UI条目3
对应“A Screen Space - Camera health bar;What's in a Canvas?;Am I dead yet?”;在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,需要连接Unity时代、层级、矩形、画布、输入与目标。
- Reaching in
对应“Reaching in;It's all gone a bit flat;Going deep”;在“Chapter 5. Screen Space, World Space, and the Camera”中用于在屏幕、相机或世界坐标中校准生命条与展柜UI,需要连接Unity时代、层级、矩形、画布、输入与目标。
- UI条目5
对应“Hang your Canvas wherever you like;The showcase”;在“Chapter 5. Screen Space, World Space, and the Camera”中用于在屏幕、相机或世界坐标中校准生命条与展柜UI,需要连接Unity时代、层级、矩形、画布、输入与目标。
- UI条目6
对应“Troubles with scale;A better way;A final word on Event Cameras”;在“Chapter 5. Screen Space, World Space, and the Camera”中用于由Canvas空间、排序、相机和组状态决定渲染与交互边界,需要连接Unity时代、层级、矩形、画布、输入与目标。