×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • 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章 Unity简介 1

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 的制作团队就职,他通过制作并传播具有强大影响力的学习资源,使得游戏开发技术更加普及。同时,迈克也是一位经验丰富的独立游戏开发者,一位大学老师,一位作家。作为一位资深游戏人,他对该领域的热爱使他致力于将这项互动艺术的开发过程变得更加有趣,让各行各业的人都能加入进来。【译者】唐誉玲,毕业于英国爱丁堡大学的艺术学院,是一位交互媒体艺术从业者,具有丰富的游戏引擎使用经验,擅长建立人与机器、人与虚拟空间的交流,并乐于探索游戏化思维及虚拟空间的多场景应用。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航