第1章 回顾与展望 1
1.1 发展状况 1
1.2 通用控件特性 17
1.2.1 分组控件 18
1.2.2 命名控件 18
1.2.3 获取焦点 19
1.2.4 工具提示 21
1.2.5 Window控件 22
1.3 GUI样式和皮肤 25
1.4 GUI事件和属性 29
1.5 布局控件 30
1.5.1 BeginArea 31
1.5.2 水平和垂直布局组件 31
1.6 Asset Store 31
1.7 重新设计系统 32
1.8 新的布局方案 33
1.8.1 Rect Transform控件 33
1.8.2 Canvas控件 34
1.8.3 布局组件 34
1.8.4 遮挡机制 35
1.9 新控件 36
1.10 新UnityEvent系统 37
1.11 控件的扩展性 37
1.12 动画效果 38
1.13 Asset Store中的资源 38
1.14 MenuPage 39
1.15 本章小结 39
第2章 构造布局 41
2.1 Rect Transform 41
2.1.1 Rect工具 41
2.1.2 Rect Transform组件 42
2.1.3 缩放Rect Transform 45
2.1.4 Canvas 45
2.2 自动布局和选项 50
2.2.1 Horizontal Layout Group 51
2.2.2 Vertical Layout Group 53
2.2.3 Grid Layout Group 54
2.2.4 布局选项 57
2.3 分辨率和缩放行为 69
2.3.1 Constant Pixel Size 69
2.3.2 Scale with Screen Size 70
2.3.3 Constant Physical Size 71
2.4 UnityEvent系统 72
2.4.1 光线投射机制 72
2.4.2 输入模块 73
2.4.3 输入事件 74
2.4.4 事件触发器 76
2.5 本章小结 77
第3章 控制行为 78
3.1 概述 78
3.1.1 添加代码 79
3.1.2 构建项目 79
3.1.3 内建图像中的警告消息 79
3.2 文本处理 80
3.2.1 简单的FPS控件 83
3.2.2 添加输入交互行为 85
3.2.3 阴影效果 87
3.3 显示图像 88
3.3.1 图像类型 90
3.3.2 向混合结果中添加动画 94
3.3.3 RawImage上的单词 98
3.4 按钮控件 98
3.4.1 选择操作 100
3.4.2 事件处理 103
3.4.3 终的菜单效果 106
3.5 行进方向 109
3.5.1 分组选项 111
3.5.2 动态事件属性 112
3.6 滑块操作 113
3.7 滚动栏 115
3.8 导航 118
3.9 着色器简介 121
3.10 本章小结 121
第4章 锚定系统 122
4.1 设置锚点 122
4.2 设置和调整 124
4.3 拉伸和变形 127
4.4 缩放操作和分辨率 132
4.4.1 与默认的常量值协同工作 132
4.4.2 缩放视图 134
4.4.3 获取物理尺寸 136
4.4.4 选取终方案 140
4.5 本章小结 141
第5章 屏幕空间、世界空间和相机 142
5.1 Canvas和相机 142
5.1.1 屏幕空间和世界空间 142
5.1.2 渲染相机 144
5.1.3 事件相机 145
5.2 透视 145
5.3 构建游戏 147
5.3.1 前提条件 148
5.3.2 2D精灵对象 148
5.4 屏幕空间相机的状态栏 150
5.4.1 Canvas中的内容 151
5.4.2 死亡状态 152
5.4.3 相机设置 156
5.4.4 添加深度效果 157
5.5 进一步讨论 158
5.5.1 定位Canvas 159
5.5.2 效果示例 160
5.5.3 构建UI并将其置于场景中 160
5.5.4 缩放问题 163
5.5.5 较好的方案 163
5.5.6 Event Cameras的后几点说明 165
5.6 本章小结 165
第6章 与UI源代码协同工作 167
6.1 了解Event System 167
6.1.1 事件系统循环 168
6.1.2 状态控制 169
6.1.3 光线投射编组 169
6.2 与事件协同工作 170
6.2.1 使用参数 173
6.2.2 内建事件接口 175
6.2.3 执行事件 176
6.3 构建自定义句柄或事件 179
6.3.1 自定义事件的数据结构 180
6.3.2 自定义事件接口 181
6.3.3 自定义事件静态容器 181
6.3.4 处理自定义事件 182
6.4 滚球示例 184
6.4.1 Droid脚本 186
6.4.2 警示压力板 187
6.4.3 管理警示系统 189
6.5 事件系统小结 191
6.6 操作示例 191
6.7 访问源代码 192
6.7.1 代码库 193
6.7.2 获取副本 194
6.7.3 下载代码 195
6.7.4 更新操作 198
6.7.5 解决方案 198
6.7.6 向项目中添加UI个人版本 200
6.7.7 将调整结果置于Unity中 202
6.8 本章小结 203
附录A 3D示例场景 205