Unity 3D游戏开发案例教程 / “十四五”高等学校数字媒体类专业规划教材
¥56.00定价
作者: 彭平,胡垂立
出版时间:2021-06
出版社:中国铁道出版社
- 中国铁道出版社
- 9787113276850
- 1版
- 412048
- 48256822-7
- 16开
- 2021-06
- 220
- 工学
- 计算机科学与技术
- TP317.6
- 计算机类
- 本科 高职
作者简介
内容简介
本书面向游戏设计与开发的初学者,按照由浅入深、理论结合实例的原则,介绍 Unity游戏开发的编程技术、设计技巧及开发过程。全书共分为 5 章,内容包括 :游戏概述、 C#程序语言基础、 Unity 3D 游戏开发基础、Unity 游戏开发基础案例、Unity 游戏开发综合案例。
本书针对 Unity 游戏开发,既有基本理论作为基础,又有大量经典游戏设计开发实例,可使读者轻松、快速、全面地掌握 Unity 游戏开发的技术及技巧。
本书结构清晰,内容通俗易懂,实例针对性强,案例与知识点结合紧密,使读者能够在专业应用案例中掌握 Unity 游戏开发技巧,提高游戏开发能力,具有较强的实用性和参考价值。
本书适合作为高等学校数字媒体相关专业本科生的教材,也可供 Unity 引擎爱好者,以及对游戏开发感兴趣的人员阅读学习。
本书针对 Unity 游戏开发,既有基本理论作为基础,又有大量经典游戏设计开发实例,可使读者轻松、快速、全面地掌握 Unity 游戏开发的技术及技巧。
本书结构清晰,内容通俗易懂,实例针对性强,案例与知识点结合紧密,使读者能够在专业应用案例中掌握 Unity 游戏开发技巧,提高游戏开发能力,具有较强的实用性和参考价值。
本书适合作为高等学校数字媒体相关专业本科生的教材,也可供 Unity 引擎爱好者,以及对游戏开发感兴趣的人员阅读学习。
目录
第 1 章 游戏概述....................... 1
1.1 游戏的概念................................................1
1.1.1 游戏的定义........................................... 1
1.1.2 游戏的特征........................................... 2
1.1.3 游戏的本质........................................... 3
1.2 游戏的发展与演变.....................................4
1.2.1 电子游戏的诞生.................................... 4
1.2.2 2D 游戏时代 ........................................ 5
1.2.3 3D 游戏时代......................................... 7
1.3 电子游戏的分类.........................................9
1.3.1 角色扮演类游戏.................................... 9
1.3.2 动作类游戏......................................... 10
1.3.3 冒险类游戏......................................... 11
1.3.4 策略类游戏......................................... 13
1.3.5 射击类游戏......................................... 14
1.3.6 体育类游戏......................................... 14
1.3.7 竞速类游戏......................................... 15
1.3.8 模拟类游戏......................................... 16
1.3.9 益智类游戏......................................... 17
1.4 游戏程序..................................................17
1.4.1 游戏程序的定义.................................. 17
1.4.2 常用的游戏编程语言.......................... 18
1.4.3 游戏引擎的定义.................................. 19
1.4.4 世界主流游戏引擎介绍...................... 21
1.4.5 游戏引擎编辑器的基本功能.............. 25
第 2 章 C# 程序语言基础.............. 26
2.1 C# 程序设计概述.....................................27
2.1.1 C# 的语言特点及历史....................... 27
2.1.2 编程语言与脚本语言.......................... 28
2.1.3 C# 的基本语法................................... 28
2.1.4 C# 面向对象程序设计....................... 41
2.2 使用 C# 进行程序开发 ............................43
2.2.1 一个典型的游戏循环代码框架 ......... 43
2.2.2 简单的 Windows 程序......................... 43
2.2.3 第一个“游戏”.................................. 45
2.3 休闲类小游戏:连连看............................49
2.3.1 游戏概述............................................. 49
2.3.2 游戏设计思路..................................... 49
2.3.3 界面设计............................................. 49
2.3.4 图片的随机生成.................................. 50
2.3.5 事件处理............................................. 52
2.3.6 图片的消除与计分规则...................... 54
2.3.7 项目打包............................................. 59
第 3 章 Unity 3D 游戏开发基础........ 63
3.1 Unity 引擎概览.........................................64
3.1.1 熟悉界面............................................. 64
3.1.2 Project 视图......................................... 69
3.1.3 Hierarchy 视图..................................... 69
3.1.4 Inspector 视图...................................... 69
3.1.5 Scene 视图........................................... 70
3.1.6 Game 视图........................................... 71
3.1.7 控制台和状态栏.................................. 71
3.2 Unity 脚本程序开发.................................72
3.2.1 Unity 脚本概述................................... 72
3.2.2 Unity 中 C# 脚本的注意事项............ 72
3.3 Unity 脚本的基础语法..............................73
3.3.1 常用操作............................................. 73
3.3.2 访问游戏对象组件.............................. 74
3.3.3 访问其他游戏对象.............................. 75
3.3.4 向量..................................................... 72
3.3.5 成员变量和全局变量.......................... 75
3.3.6 实例化游戏对象.................................. 76
3.3.7 协同程序和中断.................................. 76
3.3.8 一些重要的类 .................................... 77
3.3.9 性能优化............................................. 77
3.3.10 脚本编译........................................... 78
3.4 Roll A Ball 小游戏....................................78
3.4.1 初始化游戏环境.................................. 78
3.4.2 刚体介绍和脚本的创建...................... 82
3.4.3 控制相机跟随..................................... 85
3.4.4 旋转对象............................................. 90
3.4.5 碰撞检测............................................. 91
3.4.6 显示分数和胜利检测.......................... 93
3.4.7 游戏发布和运行.................................. 96
第 4 章 Unity 游戏开发基础案例........ 99
4.1 飞翔的小鸟............................................100
4.1.1 设置 2D 图形.................................... 100
4.1.2 搭建 2D 游戏场景............................. 105
4.1.3 构建飞翔的小鸟并让其响应............ 106
4.1.4 构建游戏背景并让其移动................ 108
4.1.5 构建 UI 对象并让其响应.................. 109
4.1.6 游戏的开始结束逻辑........................ 111
4.2 3D 塔防游戏..........................................114
4.2.1 游戏的准备工作................................ 114
4.2.2 敌人的创建和管理............................ 117
4.2.3 炮台的创建和管理............................ 122
4.2.4 子弹的控制及特效添加.................... 133
4.2.5 游戏 UI 界面设计............................. 144
第 5 章 Unity 游戏开发综合案例....... 151
5.1 游戏功能架构.........................................152
5.1.1 设计游戏基本架构............................ 152
5.1.2 设计游戏流程图................................ 152
5.2 游戏的策划及准备工作..........................153
5.2.1 游戏策划........................................... 153
5.2.2 前期准备工作................................... 154
5.3 游戏场景构建.........................................154
5.3.1 地形编辑器....................................... 155
5.3.2 导入场景资源................................... 156
5.3.3 模型碰撞体....................................... 158
5.3.4 制作天空盒....................................... 159
5.3.5 制作雾特效....................................... 161
5.4 创建角色................................................162
5.4.1 导入角色模型................................... 162
5.4.2 设置碰撞器....................................... 163
5.4.3 添加 Rigidbody 刚体组件................. 167
5.4.4 编写角色和状态控制脚本................ 169
5.4.5 摄像机跟随....................................... 170
5.5 连接动画................................................173
5.5.1 配置 Avatar........................................ 173
5.5.2 创建动画控制器................................ 175
5.5.3 设置动画控制器过渡条件................ 178
5.5.4 设置玩家控制器的动画.................... 179
5.5.5 添加动画事件................................... 180
5.6 使用触发器并创建环境交互...................182
5.6.1 触发器和碰撞................................... 182
5.6.2 设置一个简单的触发器对象............ 183
5.6.3 设置其他触发器................................ 184
5.7 创建敌人和怪物 AI.................................187
5.7.1 一些简单的 AI 指导方针.................. 187
5.7.2 设置敌人的追踪................................ 188
5.7.3 设置敌人的攻击、承伤、死亡........ 189
5.8 实现玩家的战斗事件..............................191
5.8.1 玩家的攻击....................................... 191
5.8.2 玩家的承伤、死亡及其他设置........ 193
5.9 设计游戏的 UI........................................195
5.9.1 游戏界面设计................................... 195
5.9.2 Unity 的 UI 系统............................... 195
5.9.3 设置主菜单界面................................ 196
5.10 完善和最后的修饰...............................209
5.10.1 使用粒子系统.................................. 209
5.10.2 音乐和音效..................................... 211
5.11 优化和发布..........................................212
5.11.1 基本的 Unity 调试和优化............... 212
5.11.2 项目打包发布.................................. 213
1.1 游戏的概念................................................1
1.1.1 游戏的定义........................................... 1
1.1.2 游戏的特征........................................... 2
1.1.3 游戏的本质........................................... 3
1.2 游戏的发展与演变.....................................4
1.2.1 电子游戏的诞生.................................... 4
1.2.2 2D 游戏时代 ........................................ 5
1.2.3 3D 游戏时代......................................... 7
1.3 电子游戏的分类.........................................9
1.3.1 角色扮演类游戏.................................... 9
1.3.2 动作类游戏......................................... 10
1.3.3 冒险类游戏......................................... 11
1.3.4 策略类游戏......................................... 13
1.3.5 射击类游戏......................................... 14
1.3.6 体育类游戏......................................... 14
1.3.7 竞速类游戏......................................... 15
1.3.8 模拟类游戏......................................... 16
1.3.9 益智类游戏......................................... 17
1.4 游戏程序..................................................17
1.4.1 游戏程序的定义.................................. 17
1.4.2 常用的游戏编程语言.......................... 18
1.4.3 游戏引擎的定义.................................. 19
1.4.4 世界主流游戏引擎介绍...................... 21
1.4.5 游戏引擎编辑器的基本功能.............. 25
第 2 章 C# 程序语言基础.............. 26
2.1 C# 程序设计概述.....................................27
2.1.1 C# 的语言特点及历史....................... 27
2.1.2 编程语言与脚本语言.......................... 28
2.1.3 C# 的基本语法................................... 28
2.1.4 C# 面向对象程序设计....................... 41
2.2 使用 C# 进行程序开发 ............................43
2.2.1 一个典型的游戏循环代码框架 ......... 43
2.2.2 简单的 Windows 程序......................... 43
2.2.3 第一个“游戏”.................................. 45
2.3 休闲类小游戏:连连看............................49
2.3.1 游戏概述............................................. 49
2.3.2 游戏设计思路..................................... 49
2.3.3 界面设计............................................. 49
2.3.4 图片的随机生成.................................. 50
2.3.5 事件处理............................................. 52
2.3.6 图片的消除与计分规则...................... 54
2.3.7 项目打包............................................. 59
第 3 章 Unity 3D 游戏开发基础........ 63
3.1 Unity 引擎概览.........................................64
3.1.1 熟悉界面............................................. 64
3.1.2 Project 视图......................................... 69
3.1.3 Hierarchy 视图..................................... 69
3.1.4 Inspector 视图...................................... 69
3.1.5 Scene 视图........................................... 70
3.1.6 Game 视图........................................... 71
3.1.7 控制台和状态栏.................................. 71
3.2 Unity 脚本程序开发.................................72
3.2.1 Unity 脚本概述................................... 72
3.2.2 Unity 中 C# 脚本的注意事项............ 72
3.3 Unity 脚本的基础语法..............................73
3.3.1 常用操作............................................. 73
3.3.2 访问游戏对象组件.............................. 74
3.3.3 访问其他游戏对象.............................. 75
3.3.4 向量..................................................... 72
3.3.5 成员变量和全局变量.......................... 75
3.3.6 实例化游戏对象.................................. 76
3.3.7 协同程序和中断.................................. 76
3.3.8 一些重要的类 .................................... 77
3.3.9 性能优化............................................. 77
3.3.10 脚本编译........................................... 78
3.4 Roll A Ball 小游戏....................................78
3.4.1 初始化游戏环境.................................. 78
3.4.2 刚体介绍和脚本的创建...................... 82
3.4.3 控制相机跟随..................................... 85
3.4.4 旋转对象............................................. 90
3.4.5 碰撞检测............................................. 91
3.4.6 显示分数和胜利检测.......................... 93
3.4.7 游戏发布和运行.................................. 96
第 4 章 Unity 游戏开发基础案例........ 99
4.1 飞翔的小鸟............................................100
4.1.1 设置 2D 图形.................................... 100
4.1.2 搭建 2D 游戏场景............................. 105
4.1.3 构建飞翔的小鸟并让其响应............ 106
4.1.4 构建游戏背景并让其移动................ 108
4.1.5 构建 UI 对象并让其响应.................. 109
4.1.6 游戏的开始结束逻辑........................ 111
4.2 3D 塔防游戏..........................................114
4.2.1 游戏的准备工作................................ 114
4.2.2 敌人的创建和管理............................ 117
4.2.3 炮台的创建和管理............................ 122
4.2.4 子弹的控制及特效添加.................... 133
4.2.5 游戏 UI 界面设计............................. 144
第 5 章 Unity 游戏开发综合案例....... 151
5.1 游戏功能架构.........................................152
5.1.1 设计游戏基本架构............................ 152
5.1.2 设计游戏流程图................................ 152
5.2 游戏的策划及准备工作..........................153
5.2.1 游戏策划........................................... 153
5.2.2 前期准备工作................................... 154
5.3 游戏场景构建.........................................154
5.3.1 地形编辑器....................................... 155
5.3.2 导入场景资源................................... 156
5.3.3 模型碰撞体....................................... 158
5.3.4 制作天空盒....................................... 159
5.3.5 制作雾特效....................................... 161
5.4 创建角色................................................162
5.4.1 导入角色模型................................... 162
5.4.2 设置碰撞器....................................... 163
5.4.3 添加 Rigidbody 刚体组件................. 167
5.4.4 编写角色和状态控制脚本................ 169
5.4.5 摄像机跟随....................................... 170
5.5 连接动画................................................173
5.5.1 配置 Avatar........................................ 173
5.5.2 创建动画控制器................................ 175
5.5.3 设置动画控制器过渡条件................ 178
5.5.4 设置玩家控制器的动画.................... 179
5.5.5 添加动画事件................................... 180
5.6 使用触发器并创建环境交互...................182
5.6.1 触发器和碰撞................................... 182
5.6.2 设置一个简单的触发器对象............ 183
5.6.3 设置其他触发器................................ 184
5.7 创建敌人和怪物 AI.................................187
5.7.1 一些简单的 AI 指导方针.................. 187
5.7.2 设置敌人的追踪................................ 188
5.7.3 设置敌人的攻击、承伤、死亡........ 189
5.8 实现玩家的战斗事件..............................191
5.8.1 玩家的攻击....................................... 191
5.8.2 玩家的承伤、死亡及其他设置........ 193
5.9 设计游戏的 UI........................................195
5.9.1 游戏界面设计................................... 195
5.9.2 Unity 的 UI 系统............................... 195
5.9.3 设置主菜单界面................................ 196
5.10 完善和最后的修饰...............................209
5.10.1 使用粒子系统.................................. 209
5.10.2 音乐和音效..................................... 211
5.11 优化和发布..........................................212
5.11.1 基本的 Unity 调试和优化............... 212
5.11.2 项目打包发布.................................. 213