- ISBN:9787115602442
- 装帧:平装
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:312
- 出版时间:2024-01-01
- 条形码:9787115602442 ; 978-7-115-60244-2
本书特色
1.针对初学者精心设计,每章内容1小时轻松阅读,24小时轻松掌握关键知识。
2.本书是第4版中译本,针对2020.3版本Unity完整更新。
3. 手把手教你完整开发4款游戏。
(1)Amazing Racer 游戏:与时间赛跑的3D 竞走游戏。
(2)Chaos Ball 游戏:涉及大量的碰撞和物理动力学。
(3)Captain Blaster 游戏:复古风格的2D 太空射击游戏,使用了滚动背景和2D效果。
(4)Gauntlet Runner 游戏:3D 跑酷游戏,包括收集充电装置和避开障碍物。
4. 通过本书将学会如下内容:
(1)快速上手Unity 游戏引擎和编辑器。
(2)高效使用Unity的图形资源。1.针对初学者精心设计,每章内容1小时轻松阅读,24小时轻松掌握关键知识。
2.本书是第4版中译本,针对2020.3版本Unity完整更新。
3. 手把手教你完整开发4款游戏。
(1)Amazing Racer 游戏:与时间赛跑的3D 竞走游戏。
(2)Chaos Ball 游戏:涉及大量的碰撞和物理动力学。
(3)Captain Blaster 游戏:复古风格的2D 太空射击游戏,使用了滚动背景和2D效果。
(4)Gauntlet Runner 游戏:3D 跑酷游戏,包括收集充电装置和避开障碍物。
4. 通过本书将学会如下内容:
(1)快速上手Unity 游戏引擎和编辑器。
(2)高效使用Unity的图形资源。
(3)充分利用灯光和摄像机。
(4)用Unity的地形和环境工具塑造出令人惊叹的游戏世界。
(5)编写任务脚本,从捕获输入到构建复杂行为。
(6)使用预制件快速创建可重复使用的游戏对象。
(7)实现简单直观的游戏用户界面。
(8)通过内置和自定义角色控制器控制游戏角色。
(9)实现真实的物理效果并使用碰撞器。
(10)充分利用Unity动画和时间轴系统的强大功能。
(11)将复杂音频集成到游戏中。
(12)使用移动设备加速计和多点触摸屏幕。
(13)使用Unity的2D瓦片地图构建引人入胜的2D游戏。
(14)做好“收尾”工作并部署游戏。
内容简介
Unity 游戏引擎是由 Unity Technologies 公司开发的一个让玩家能够轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等内容的跨平台综合游戏开发工具。很多热门游戏都是应用该引擎开发的,例如《深海迷航》《坎巴拉太空计划》等。 本书以直截了当、循序渐进的方式讲解Unity 游戏开发从基础到高级的所有内容,包括游戏物理引擎、动画和移动设备部署技术。本书分为24 章,内容包括 Unity 游戏引擎和编辑器的介绍,游戏对象、模型、材质、纹理、地形、环境、灯光和摄像机的介绍及应用,任务脚本的编写,真实的物理效果和碰撞的应用,预制件、2D 游戏工具、瓦片地图、用户界面、粒子系统、动画、动画器、时间轴、复杂音频的集成、移动设备加速计和多点触摸屏幕的使用,以及4 个游戏案例。 本书附赠源代码,适合对使用Unity 进行游戏开发感兴趣的零基础读者学习。有过其他游戏平台开发经验,打算向Unity 平台拓展的读者也可以通过本书快速上手。
目录
1.1 安装Unity 1
1.1.1 下载并安装Unity Hub 2
1.1.2 安装Unity编辑器 2
1.2 熟悉Unity编辑器 4
1.2.1 项目部分 4
1.2.2 Unity界面 5
1.2.3 项目视图 6
1.2.4 层级视图 9
1.2.5 检查器视图 9
1.2.6 场景视图 11
1.2.7 游戏视图 12
1.2.8 值得一提:工具栏 13
1.3 在场景视图中移动 13
1.3.1 手形工具 14
1.3.2 飞越模式 14
1.4 总结 16
1.5 问答 16
1.6 测试 16
1.6.1 试题 16
1.6.2 答案 16
1.7 练习 16
第 2章 游戏对象 18
2.1 维度和坐标系统 18
2.1.1 走进3D 18
2.1.2 使用坐标系统 19
2.1.3 世界坐标和局部坐标 20
2.2 游戏对象 21
2.3 变换 22
2.3.1 移动 23
2.3.2 旋转 24
2.3.3 缩放 24
2.3.4 变换的风险 25
2.3.5 工具句柄位置 26
2.3.6 变换或嵌套对象 27
2.4 总结 27
2.5 问答 27
2.6 测试 28
2.6.1 试题 28
2.6.2 答案 28
2.7 练习 28
第3章 模型、材质和纹理 29
3.1 模型的基础知识 29
3.1.1 内置的3D对象 30
3.1.2 导入模型 30
3.1.3 模型和资源商店 32
3.2 纹理、着色器和材质 33
3.2.1 纹理 34
3.2.2 着色器 35
3.2.3 材质 35
3.2.4 再论着色器 35
3.3 总结 38
3.4 问答 38
3.5 测试 38
3.5.1 试题 38
3.5.2 答案 38
3.6 练习 38
第4章 地形和环境 40
4.1 地形生成 40
4.1.1 为项目添加地形 40
4.1.2 高度图的绘制 42
4.1.3 Unity绘制地形工具 44
4.2 地形纹理 46
4.2.1 导入地形资源 46
4.2.2 纹理化地形 47
4.3 生成树和草 49
4.3.1 绘制树 49
4.3.2 绘制草 50
4.3.3 地形设置 51
4.4 角色控制器 53
4.5 总结 54
4.6 问答 54
4.7 测试 55
4.7.1 试题 55
4.7.2 答案 55
4.8 练习 55
第5章 灯光和摄像机 56
5.1 灯光 56
5.1.1 烘焙与实时 56
5.1.2 点光源 57
5.1.3 聚光灯 58
5.1.4 定向光 59
5.1.5 利用对象创建灯光 60
5.1.6 光晕 60
5.1.7 剪影 61
5.2 摄像机 62
5.2.1 剖析摄像机 63
5.2.2 多个摄像机 64
5.2.3 拆分屏幕和画中画 64
5.3 图层 66
5.3.1 处理图层 66
5.3.2 使用图层 67
5.4 总结 69
5.5 问答 69
5.6 测试 69
5.6.1 试题 69
5.6.2 答案 70
5.7 练习 70
第6章 游戏案例1:Amazing Racer 71
6.1 设计 71
6.1.1 概念 71
6.1.2 规则 71
6.1.3 需求 72
6.2 创建游戏世界 73
6.2.1 绘制游戏世界 73
6.2.2 添加环境 74
6.2.3 雾 74
6.2.4 天空盒 75
6.2.5 角色控制器 76
6.3 游戏化 76
6.3.1 添加游戏控制器对象 77
6.3.2 添加脚本 79
6.3.3 连接脚本 80
6.4 游戏测试 81
6.5 总结 82
6.6 问答 82
6.7 测试 82
6.7.1 试题 82
6.7.2 答案 82
6.8 练习 83
第7章 脚本(第 一部分) 84
7.1 脚本 84
7.1.1 创建脚本 85
7.1.2 附加脚本 87
7.1.3 一个基本脚本的详细分析 88
7.1.4 using部分 88
7.1.5 类声明部分 89
7.1.6 类的内容 89
7.2 变量 90
7.2.1 创建变量 90
7.2.2 变量可用域 91
7.2.3 公有和私有 91
7.3 运算符 92
7.3.1 算术运算符 92
7.3.2 赋值运算符 93
7.3.3 等式运算符 93
7.3.4 逻辑运算符 94
7.4 条件语句 95
7.4.1 if语句 95
7.4.2 if/else语句 96
7.4.3 if/else if语句 96
7.5 循环语句 97
7.5.1 while循环语句 98
7.5.2 for循环语句 98
7.6 总结 99
7.7 问答 99
7.8 测试 99
7.8.1 试题 99
7.8.2 答案 100
7.9 练习 100
第8章 脚本(第二部分) 101
8.1 方法 101
8.1.1 方法的具体分析 102
8.1.2 编写方法 104
8.1.3 使用方法 105
8.2 输入 106
8.2.1 输入的基础知识 106
8.2.2 编写输入脚本 107
8.2.3 特定的键输入 108
8.2.4 鼠标输入 109
8.3 访问局部组件 110
8.3.1 使用GetComponent 111
8.3.2 获取变换 111
8.4 访问其他对象 112
8.4.1 查找其他对象 112
8.4.2 修改对象组件 114
8.5 总结 115
8.6 问答 115
8.7 测试 115
8.7.1 试题 116
8.7.2 答案 116
8.8 练习 116
第9章 碰撞 117
9.1 刚体 117
9.2 碰撞器和物理材质 118
9.2.1 碰撞器 118
9.2.2 物理材质 120
9.3 触发器 121
9.4 光线投射 123
9.5 总结 124
9.6 问答 124
9.7 测试 125
9.7.1 试题 125
9.7.2 答案 125
9.8 练习 125
第 10章 游戏案例2:Chaos Ball 126
10.1 设计 126
10.1.1 概念 126
10.1.2 规则 126
10.1.3 需求 127
10.2 舞台 127
10.2.1 创建舞台 127
10.2.2 纹理化 128
10.2.3 创建超级弹性材质 129
10.2.4 完成舞台 129
10.3 游戏实体 130
10.3.1 游戏角色 130
10.3.2 混沌球 130
10.3.3 彩色球 132
10.4 控制对象 132
10.4.1 球门 133
10.4.2 游戏控制器 134
10.5 优化游戏 135
10.6 总结 136
10.7 问答 136
10.8 测试 136
10.8.1 试题 136
10.8.2 答案 136
10.9 练习 137
第 11章 预制件 138
11.1 预制件的基础知识 138
11.1.1 预制件的术语 138
11.1.2 预制件结构 139
11.2 使用预制件 140
11.2.1 新建预制件 140
11.2.2 向场景中添加一个预制件实例 142
11.2.3 修改已有预制件 143
11.2.4 使用代码实例化预制件 145
11.3 总结 145
11.4 问答 145
11.5 测试 146
11.5.1 试题 146
11.5.2 答案 146
11.6 练习 146
第 12章 2D游戏工具 148
12.1 2D游戏的基础知识 148
12.2 正交摄像机 150
12.3 添加精灵 151
12.3.1 导入精灵 151
12.3.2 Sprite模式 152
12.3.3 导入精灵大小 153
12.4 绘制顺序 154
12.4.1 排序图层 154
12.4.2 图层顺序 155
12.5 2D物理 156
12.5.1 2D刚体 156
12.5.2 2D碰撞器 156
12.6 总结 158
12.7 问答 158
12.8 测试 158
12.8.1 试题 158
12.8.2 答案 158
12.9 练习 158
第 13章 2D瓦片地图 160
13.1 瓦片地图的基础知识 160
13.1.1 创建一个瓦片地图 160
13.1.2 网格 162
13.2 调色板 162
13.3 瓦片的相关操作 164
13.3.1 配置精灵 165
13.3.2 创建瓦片 165
13.3.3 绘制瓦片 166
13.3.4 自定义调色板 169
13.4 瓦片地图和物理属性 169
13.4.1 瓦片地图碰撞器 169
13.4.2 使用Composite Collider 2D组件 171
13.5 总结 172
13.6 问答 172
13.7 测试 172
13.7.1 试题 172
13.7.2 答案 172
13.8 练习 172
第 14章 用户界面 174
14.1 UI的基本原则 174
14.2 画布 174
14.2.1 矩形变换 175
14.2.2 锚点 176
14.2.3 其他Canvas组件 178
14.3 UI元素 179
14.3.1 图像 179
14.3.2 文本 181
14.3.3 按钮 181
14.4 画布渲染模式 184
14.4.1 屏幕空间-覆盖 184
14.4.2 屏幕空间-摄像机 185
14.4.3 世界空间 185
14.5 总结 186
14.6 问答 186
14.7 测试 186
14.7.1 试题 186
14.7.2 答案 187
14.8 练习 187
第 15章 游戏案例3:Captain Blaster 189
15.1 设计 189
15.1.1 概念 189
15.1.2 规则 189
15.1.3 需求 190
15.2 画布 190
15.2.1 摄像机 190
15.2.2 背景 190
15.2.3 游戏实体 191
15.2.4 游戏角色 192
15.2.5 流星 193
15.2.6 子弹 194
15.2.7 触发器 195
15.2.8 用户界面 195
15.3 控制 196
15.3.1 游戏控制器 196
15.3.2 流星的脚本 198
15.3.3 流星生成器 198
15.3.4 DestroyOnTrigger脚本 199
15.3.5 ShipControl脚本 200
15.3.6 Bullet脚本 201
15.4 优化 203
15.5 总结 203
15.6 问答 203
15.7 测试 203
15.7.1 试题 204
15.7.2 答案 204
15.8 练习 204
第 16章 粒子系统 205
16.1 粒子系统的基础知识 205
16.1.1 粒子 205
16.1.2 Unity粒子系统 205
16.1.3 粒子系统的控制 206
16.2 粒子系统模块 207
16.2.1 默认模块 208
16.2.2 发射模块 209
16.2.3 形状模块 209
16.2.4 生命周期内速度模块 210
16.2.5 生命周期内速度限制模块 210
16.2.6 继承速度模块 210
16.2.7 基于发射器速度的生命周期模块 210
16.2.8 生命周期内受力模块 211
16.2.9 生命周期内颜色模块 211
16.2.10 速度颜色模块 212
16.2.11 生命周期内大小模块 212
16.2.12 速度决定大小模块 212
16.2.13 生命周期内旋转模块 212
16.2.14 按速度旋转模块 212
16.2.15 外力模块 212
16.2.16 噪音模块 212
16.2.17 碰撞模块 213
16.2.18 触发器模块 215
16.2.19 子发射器模块 215
16.2.20 纹理表格动画模块 215
16.2.21 光线模块 216
16.2.22 拖尾模块 216
16.2.23 自定义数据模块 216
16.2.24 渲染器模块 216
16.3 曲线编辑器 217
16.4 总结 218
16.5 问答 218
16.6 测试 219
16.6.1 试题 219
16.6.2 答案 219
16.7 练习 219
第 17章 动画 220
17.1 动画的基础知识 220
17.1.1 绑定 220
17.1.2 动画 221
17.2 2D动画与创建动画 221
17.2.1 2D动画 221
17.2.2 创建动画 222
17.3 动画工具 223
17.3.1 动画视图 224
17.3.2 创建一个新的动画 225
17.3.3 记录模式 227
17.3.4 曲线编辑器 228
17.4 总结 229
17.5 问答 230
17.6 测试 230
17.6.1 试题 230
17.6.2 答案 230
17.7 练习 230
第 18章 动画器 231
18.1 动画器的基础知识 231
18.1.1 绑定 232
18.1.2 导入模型 233
18.2 配置你的资源 233
18.2.1 绑定的准备工作 234
18.2.2 动画的准备工作 235
18.3 创建动画器 239
18.3.1 动画器视图 240
18.3.2 Idle动画 241
18.3.3 参数 242
18.3.4 状态和混合树 243
18.3.5 过渡 244
18.4 脚本控制动画器 245
18.5 总结 246
18.6 问答 246
18.7 测试 247
18.7.1 试题 247
18.7.2 答案 247
18.8 练习 247
第 19章 时间轴 248
19.1 时间轴的基础知识 248
19.1.1 解析时间轴视图 248
19.1.2 创建一个时间轴 249
19.2 使用时间轴 250
19.2.1 时间轴视图 251
19.2.2 时间轴轨道 251
19.2.3 时间轴片段 253
19.3 不只是简单的控制 254
19.3.1 在轨道上混合片段 255
19.3.2 时间轴的脚本 256
19.4 总结 258
19.5 问答 258
19.6 测试 258
19.6.1 试题 258
19.6.2 答案 258
19.7 练习 258
第 20章 游戏案例4:Gauntlet Runner 259
20.1 设计 259
20.1.1 概念 259
20.1.2 规则 259
20.1.3 需求 260
20.2 游戏世界 260
20.2.1 场景 260
20.2.2 赛道 261
20.2.3 让地面滚动起来 262
20.3 实体 263
20.3.1 充电装置 263
20.3.2 障碍物 264
20.3.3 触发区 264
20.3.4 游戏角色 265
20.4 控制 266
20.4.1 TriggerZone脚本 266
20.4.2 GameManager脚本 267
20.4.3 Player脚本 269
20.4.4 Collidable脚本 270
20.4.5 Spawner脚本 271
20.4.6 把游戏的各个部分结合起来 272
20.5 优化 273
20.6 总结 273
20.7 问答 273
20.8 测试 274
20.8.1 试题 274
20.8.2 答案 274
20.9 练习 274
第 21章 音频 275
21.1 音频的基础知识 275
21.1.1 音频的组成部分 275
21.1.2 2D和3D音频 276
21.2 音频源 276
21.2.1 导入音频片段 277
21.2.2 在场景视图中测试音频 278
21.2.3 3D音频 279
21.2.4 2D音频 280
21.3 编写音频的脚本 280
21.3.1 启动和停止音频 280
21.3.2 更换音频片段 282
21.4 音频混合器 282
21.4.1 创建音频混合器 283
21.4.2 将音频发送给混合器 283
21.5 总结 284
21.6 问答 284
21.7 测试 284
21.7.1 试题 284
21.7.2 答案 285
21.8 练习 285
第 22章 移动开发 287
22.1 移动开发的准备 287
22.1.1 设置环境 288
22.1.2 Unity Remote 289
22.2 加速计 290
22.2.1 为加速计设计游戏 291
22.2.2 使用加速计 291
22.2.3 多点触摸输入 292
22.3 总结 294
22.4 问答 295
22.5 测试 295
22.5.1 试题 295
22.5.2 答案 295
22.6 练习 295
第 23章 润色和部署 297
23.1 管理场景 297
23.1.1 建立场景顺序 298
23.1.2 切换场景 299
23.2 保存数据和对象 299
23.2.1 保存对象 299
23.2.2 保存数据 301
23.3 Unity玩家设置 303
23.3.1 跨平台的设置 303
23.3.2 每个平台的设置 304
23.4 生成游戏 305
23.5 总结 306
23.6 问答 306
23.7 测试 306
23.7.1 试题 306
23.7.2 答案 306
23.8 练习 307
第 24章 结束语 308
24.1 成功 308
24.1.1 23章的学习 308
24.1.2 4个完整的游戏 309
24.1.3 超过50个场景 310
24.2 之后的方向 310
24.2.1 制作游戏 310
24.2.2 与人打交道 310
24.2.3 记录 310
24.3 可供使用的资源 311
24.4 总结 311
24.5 问答 311
24.6 测试 311
24.6.1 试题 311
24.6.2 答案 312
24.7 练习 312
作者简介
【作者】迈克·吉格(Mike Geig)在Unity Technologies 的制作团队就职,他通过制作并传播具有强大影响力的学习资源,使得游戏开发技术更加普及。同时,迈克也是一位经验丰富的独立游戏开发者,一位大学老师,一位作家。作为一位资深游戏人,他对该领域的热爱使他致力于将这项互动艺术的开发过程变得更加有趣,让各行各业的人都能加入进来。【译者】唐誉玲,毕业于英国爱丁堡大学的艺术学院,是一位交互媒体艺术从业者,具有丰富的游戏引擎使用经验,擅长建立人与机器、人与虚拟空间的交流,并乐于探索游戏化思维及虚拟空间的多场景应用。
-
全图解零基础word excel ppt 应用教程
¥16.3¥48.0 -
C Primer Plus 第6版 中文版
¥62.6¥108.0 -
零信任网络:在不可信网络中构建安全系统
¥34.2¥59.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥20.3¥39.8 -
情感计算
¥66.8¥89.0 -
大模型RAG实战 RAG原理、应用与系统构建
¥74.3¥99.0 -
大学计算机基础实验教程(MS Office版)——面向数据分析能力培养
¥29.1¥39.8 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥51.8¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥70.0¥89.8 -
LINUX实战——从入门到精通
¥52.4¥69.0 -
剪映AI
¥52.8¥88.0 -
快速部署大模型:LLM策略与实践(基于ChatGPT等大语言模型)
¥56.9¥79.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
数据存储架构与技术(第2版)
¥62.9¥89.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
实战知识图谱
¥51.8¥69.0