游戏设计与开发:Unity实战完全自学教程
  • 推荐0
  • 收藏0
  • 浏览341

游戏设计与开发:Unity实战完全自学教程

马遥 (作者) 

  • 书  号:978-7-121-42155-6
  • 出版日期:2021-10-26
  • 页  数:272
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:孔祥飞
纸质版 ¥89.00
从务实的角度来看,游戏开发是一种实战活动,游戏开发者在掌握了基础知识后,需要不断进行针对性的实战和思考,才能真正掌握游戏开发所需的技术。幸运的是,网络上有很多乐于分享知识的游戏从业者,他们制作了很多入门与进阶的实战教程。其中,介绍了很多广受好评的精品游戏实例,而且这些实例紧贴近年来热门的游戏类型与风格。
本书结合了游戏设计的原则与使用 Unity 开发游戏的方法,精心挑选了受欢迎、有代表性的 9 个相对独立的游戏实例,在原开发者的协助下进行了重新优化和整理。在编排上符合由浅入深的学习顺序,每章有特定的游戏类型与风格,尽最大的努力满足读者学习、实战与参考的需求,帮助读者成为一名更优秀的游戏开发者。
想成为一名优秀的游戏设计师吗?游戏开发是一种实战活动,其设计和开发难度却时常令人望而却步。当你对游戏制作手足无措时,这本书可以帮你解惑答疑并打下牢固的基础。
我们在网上经常会看到这样的问题:想要开发一款游戏,应该从哪里开始呢?
现在的游戏引擎已经相当强大了,开发游戏并不难。简单来讲,开发游戏主要需要两方面的知识:一是了解游戏引擎(比如 Unity)的使用方法,利用游戏引擎搭建出游戏工程;二是掌握一定的编程技术,通过编程实现游戏功能。
游戏开发是一种实战活动,想要掌握游戏开发技术,最好的方法就是在对基础知识有初步了解之后立即动手制作游戏。从简单的小游戏开始,从一知半解的状态进入实战。然后通过实战发现问题,并带着问题寻找答案、补充相关知识。
这种学习方式与传统的学习方式不同,在实战前我们并不知道会遇到哪些问题,也没有完美的标准答案。但无论是学习编程还是学习游戏开发,笔者都建议从实战出发,主动寻找问题、分 析问题并解决问题,建立一套自己的“实战→学习→再实战”的学习方式。这种学习方式不仅能够快速提高自身水平,而且会在不知不觉中增强自身创造性解决问题的能力。
当然,大部分初学者在起步阶段还需要一些辅助和引导。本书作为一本使用 Unity 开发游戏的实例大全,将会给读者做出一些示范。初学者可以通过复制或临摹的方式先实现游戏功能,了解游戏开发者的制作思路,再在此基础上去学习与实战相关的游戏功能和知识点,顺利完成起步阶段的学习。
实战中的问题往往不止有一种答案。在阅读本书的过程中,建议读者大胆尝试、勇于创新,尝试对实例的制作方法和脚本的写法提出不同的见解,并测试各种开发思路的优劣。例如,删除可能没有用的代码,换一种更简单的开发思路等。通过对实例的改动还能够进一步加深对游戏逻辑的理解。

本书内容
本书将游戏设计的原则与使用 Unity 开发游戏的方法融入到实例中,能够帮助读者成为一名更优秀的游戏开发者。本书具体内容如下:
第 1 章介绍了一个相对简单的 3D 动作解谜游戏《拉方块》的制作方法。
第 2 章介绍了一个 2D 平台跳跃跑酷游戏《冰火人》的制作方法,内容涉及 2D 关卡设计和2D 物理系统。
第 3 章介绍了一个“三消”益智游戏《糖果消消乐》的制作方法,讲解了详细的三消算法,以及三消特殊道具的实现原理。
第 4 章介绍了一个相对复杂的 3D 跑酷游戏《套马》的制作方法,不仅讲解了游戏逻辑的实现过程,而且用大量篇幅讲解了 3D 模型动画的导入和设置问题。
第 5 章介绍了一个 2D 经典小游戏《黄金矿工》的制作方法,讲解了完整的游戏流程和游戏界面的实现过程。
第 6 章介绍了一个 3D 动作游戏《割草无双》的制作方法,内容涉及 3D 角色控制、自由视角摄像机、攻击动画、技能系统等,本章是很好的开发动作游戏的参考资料。
第 7 章介绍了集群 AI“鸟群模拟”的演示方法,讲解了在游戏开发中,如何通过简单的算法实现特定功能的 AI。
第 8 章介绍了生成三维网格的方法,讲解了三维模型的顶点、网格和贴图的图形学的基础知识,本章内容是第 9 章的前置知识。
第 9 章介绍了《方块世界》游戏的制作方法。本章使用 Unity 实现了一个无限大的、由方块模型拼接成的 3D 世界,并且实现了创建和销毁方块等功能,玩家可以动手改造整个游戏世界的样貌。
本书在编排上符合由浅入深的学习顺序,每章有特定的游戏类型与风格。读者可以按顺序一边阅读一边实战,也可以挑选感兴趣的章节进行学习。由于本书的定位和篇幅所限,无法对相关知识点和功能展开详细介绍,建议读者在学习过程中先记录下来有疑问的地方,然后查阅相关书籍或网络资料。

本书特点
讲解细致,易学易用
为游戏初学者量身打造,一步一图,由浅入深,确保读者能轻松、快速地入门。
编排科学,结构合理
解读热门游戏的设计与开发,将核心技术融入大量实例,同时给出优化方案。
内容实用,案例丰富
详细讲解了多个相对独立的游戏实例,使读者在实战中掌握 Unity 的使用方法。
视频教学,学习高效
对重点实例提供了教学视频,可参考价值高,可以帮助读者快速提升技术水平。

致谢
本书的参考实例全部来自“皮皮关”的老师和同学们的创作,这些实例经过笔者的整理、重新编写和加工,得以呈现在读者面前。
本书参考实例的提供者有伍书培、黎大林、沈琰和卢佩媛同学,他们的精彩作品赢得了众多游戏开发者的赞赏。特别感谢卢佩媛同学协助了本书的整理和编写工作。感谢默默支持我的父母和家人,感谢所有帮助和批评过我的朋友。
由于笔者水平有限,书中的错误和疏漏在所难免,如有任何意见和建议,请读者不吝指正,感激不尽。

目录

第1 章 3D 动作解谜游戏—《拉方块》..........................................................................1
1.1 游戏的开发背景和功能概述...........................................................................................1
1.1.1 游戏开发背景简介 ..............................................................................................1
1.1.2 游戏功能简介 ......................................................................................................1
1.2 游戏的策划和准备工作...................................................................................................2
1.2.1 游戏的策划 ..........................................................................................................2
1.2.2 开发游戏前的准备工作 ......................................................................................3
1.3 游戏的架构 ......................................................................................................................3
1.3.1 游戏场景简介 ......................................................................................................3
1.3.2 游戏架构简介 ......................................................................................................3
1.4 游戏的开发与实现 ..........................................................................................................4
1.4.1 游戏场景的搭建及相关设置 ..............................................................................4
1.4.2 脚本编辑及相关设置 ..........................................................................................8
1.5 游戏的优化与改进 ........................................................................................................17
第 2 章 2D 平台跳跃跑酷游戏—《冰火人》.................................................................18
2.1 游戏的开发背景和功能概述.........................................................................................18
2.1.1 游戏开发背景 ....................................................................................................18
2.1.2 游戏功能 ............................................................................................................18
2.2 游戏的策划和准备工作.................................................................................................20
2.2.1 游戏的策划 ........................................................................................................20
2.2.2 使用 Unity 开发游戏前的准备工作 .................................................................20
2.3 游戏的架构 ....................................................................................................................21
2.3.1 游戏场景简介 ....................................................................................................21
2.3.2 游戏玩法简介 ....................................................................................................22
2.4 游戏的开发与实现 ........................................................................................................22
2.4.1 场景的搭建及相关设置 ....................................................................................23
2.4.2 脚本编辑及相关设置 ........................................................................................35
第 3 章 人见人爱—《糖果消消乐》..............................................................................47
3.1 游戏的开发背景和功能概述.........................................................................................47
3.1.1 游戏开发背景....................................................................................................47
3.1.2 游戏功能............................................................................................................47
3.2 游戏的策划和准备工作 ................................................................................................48
3.2.1 游戏的策划........................................................................................................49
3.2.2 使用 Unity 开发游戏前的准备工作 .................................................................49
3.3 游戏的架构 ....................................................................................................................49
3.3.1 游戏场景简介....................................................................................................50
3.3.2 游戏架构简介....................................................................................................50
3.4 游戏的开发与实现 ........................................................................................................50
3.4.1 场景的搭建及相关设置 ....................................................................................50
3.4.2 游戏的状态划分和数据结构的设计与实现 ....................................................53
3.4.3 棋盘和糖果的生成设计与实现 ........................................................................58
3.4.4 不同糖果删除效果设计与实现 ........................................................................61
3.4.5 洗牌状态的设计与实现 ....................................................................................65
3.4.6 动画状态的设计与实现 ....................................................................................70
3.4.7 糖果掉落状态的设计与实现 ............................................................................71
3.4.8 等待操作状态的设计与实现 ............................................................................73
3.4.9 检测状态的设计与实现 ....................................................................................79
3.4.10 删除与生成糖果的设计与实现 ......................................................................91
第 4 章 另类跑酷游戏——《套马》 .................................................................................94
4.1 游戏的开发背景和功能概述 ........................................................................................94
4.1.1 游戏开发背景....................................................................................................94
4.1.2 游戏功能............................................................................................................94
4.2 游戏的策划和准备工作 ................................................................................................95
4.2.1 游戏的策划........................................................................................................96
4.2.2 使用 Unity 开发游戏前的准备工作 .................................................................96
4.3 游戏的架构 ....................................................................................................................98
4.3.1 游戏场景简介....................................................................................................98
4.3.2 预制体介绍........................................................................................................98
4.3.3 游戏玩法和流程................................................................................................99
4.4 开始场景的开发 ............................................................................................................99
4.4.1 场景的搭建及相关设置 ..................................................................................100
4.4.2 脚本编辑及相关设置 ......................................................................................100
4.5 游戏场景的开发 ..........................................................................................................101
4.5.1 导入和使用模型素材 ......................................................................................101
4.5.2 创建角色预制体..............................................................................................103
4.5.3 创建场景预制体..............................................................................................106
4.5.4 搭建场景 ..........................................................................................................109
4.5.5 设置游戏物体的层 ..........................................................................................111
4.5.6 设置摄像机 ......................................................................................................112
4.5.7 创建游戏界面 ..................................................................................................113
4.5.8 实现游戏管理器 ..............................................................................................115
4.5.9 实现马脚本 ......................................................................................................117
4.5.10 实现角色脚本 ................................................................................................119
4.6 游戏的优化与改进 ......................................................................................................125
4.6.1 DOTween 插件的使用方法.............................................................................126
4.6.2 在该游戏中加入动态效果 ..............................................................................132
第 5 章 经典游戏—《黄金矿工》 ...............................................................................134
5.1 游戏的开发背景和功能概述.......................................................................................134
5.1.1 游戏开发背景 ..................................................................................................134
5.1.2 游戏功能 ..........................................................................................................134
5.2 游戏的策划和准备工作...............................................................................................135
5.2.1 游戏的策划 ......................................................................................................136
5.2.2 使用 Unity 开发游戏前的准备工作 ...............................................................136
5.3 游戏的架构 ..................................................................................................................137
5.3.1 游戏场景简介 ..................................................................................................137
5.3.2 游戏架构简介 ..................................................................................................138
5.4 游戏开始界面场景的开发...........................................................................................139
5.4.1 场景的搭建及相关设置 ..................................................................................139
5.4.2 脚本编辑及相关设置 ......................................................................................141
5.5 游戏关卡场景的开发...................................................................................................141
5.5.1 场景的搭建及相关设置 ..................................................................................141
5.5.2 脚本编辑及相关设置 ......................................................................................147
5.6 游戏的优化与改进 ......................................................................................................158
第 6 章 3D 动作游戏——《割草无双》..........................................................................159
6.1 游戏的开发背景和功能概述.......................................................................................159
6.1.1 游戏开发背景 ..................................................................................................159
6.1.2 游戏功能 ..........................................................................................................159
6.2 游戏的策划和准备工作...............................................................................................162
6.2.1 游戏的策划 ......................................................................................................162
6.2.2 使用 Unity 开发游戏前的准备工作 ...............................................................163
6.3 游戏的架构 ..................................................................................................................164
6.3.1 场景简介..........................................................................................................164
6.3.2 游戏架构简介..................................................................................................165
6.4 游戏的开发与实现 ......................................................................................................165
6.4.1 场景的搭建及相关设置 ..................................................................................166
6.4.2 控制系统的搭建及相关设置 ..........................................................................167
6.4.3 敌人系统的准备及相关设置 ..........................................................................172
6.4.4 UI 的搭建及相关设置.....................................................................................175
6.4.5 其他游戏脚本的准备 ......................................................................................181
6.4.6 脚本编辑及相关设置 ......................................................................................181
第 7 章 鸟群模拟 ............................................................................................................198
7.1 鸟群行为模式的理论与实现 ......................................................................................198
7.1.1 鸟群行为模式的分析 ......................................................................................198
7.1.2 创建工程..........................................................................................................199
7.1.3 编写脚本..........................................................................................................201
7.1.4 编写控制脚本..................................................................................................204
7.1.5 完成工程并测试..............................................................................................205
7.1.6 鸟的其他行为模式..........................................................................................206
7.2 鸟群的调整与完善 ......................................................................................................207
7.2.1 调整每只鸟的具体行为 ..................................................................................207
7.2.3 小结和扩展......................................................................................................208
第 8 章 程序建模—三维网格生成 ...............................................................................209
8.1 三维网格生成概述 ......................................................................................................209
8.1.1 三维网格的原理..............................................................................................209
8.1.2 与网格有关的 Unity 组件 ...............................................................................210
8.1.3 三维网格技术的应用 ......................................................................................211
8.2 用脚本生成三维网格 ..................................................................................................211
8.2.1 创建第一个三角面..........................................................................................211
8.2.2 对三角面程序的解释 ......................................................................................213
8.2.3 常用三维模型举例..........................................................................................214
8.3 三维模型贴图 ..............................................................................................................219
8.3.1 简单贴图实例..................................................................................................219
8.3.2 贴图代码详解..................................................................................................222
8.3.3 立方体贴图......................................................................................................223
8.4 噪声与地形 ..................................................................................................................227
8.4.1 地形建模..........................................................................................................227
8.4.2 柏林噪声简介 ..................................................................................................229
8.4.3 将噪声应用于地形建模 ..................................................................................230
第 9 章 三维沙盒游戏—《方块世界》........................................................................232
9.1 游戏简介与功能概述...................................................................................................232
9.1.1 无限大的地形 ..................................................................................................232
9.1.2 删除和创建地形方块 ......................................................................................233
9.2 无限网格的生成方法...................................................................................................233
9.2.1 问题分析 ..........................................................................................................233
9.2.2 创建组块 ..........................................................................................................234
9.2.3 编辑组块代码 ..................................................................................................236
9.2.4 组块贴图 ..........................................................................................................239
9.2.5 组块与地形 ......................................................................................................242
9.3 将组块组合成世界 ......................................................................................................244
9.4 创建游戏角色 ..............................................................................................................248
9.4.1 添加角色 ..........................................................................................................248
9.4.2 添加角色控制器组件 ......................................................................................250
9.4.3 编辑角色控制脚本 ..........................................................................................250
9.4.4 添加摄像机脚本 ..............................................................................................252
9.4.5 添加工具界面 ..................................................................................................253
9.5 动态改变组块 ..............................................................................................................254
9.5.1 销毁方块的算法 ..............................................................................................254
9.5.2 通过射线定位要销毁的方块 ..........................................................................255
9.5.3 创建方块的算法 ..............................................................................................257
9.5.4 编辑角色操作脚本 ..........................................................................................259
9.5.5 完善游戏并测试 ..............................................................................................260

读者评论

  • 各位读者朋友,获取本书配套素材、视频等资源请见百度网盘
    链接:https://pan.baidu.com/s/1VasOkq**qU0HvtAqUyKhDg
    提取码:7680
    (下载后再解压)

    王一发表于 2023/7/4 15:15:47
    • 书本二维码,以及您发的教学资源,已经失效了。不知在哪里能获取到这个书本的教学资源?

      3713发表于 2024/6/26 11:55:07
  • 这本书后面有一个二维码,提示说可以微信扫码后回复一串数字后获取本书配套素材资源视频等,可扫码后是显示一个“博文小玉米”企业号,选择添加到通信录会提示我发送验证,发了验证一直没有回应了,不知道是怎么回事麻烦看看,想下载资源,一直不能下载。谢谢。

    笼中雀发表于 2022/6/2 19:09:24
  • 这本书后面有一个二维码,提示说可以微信扫码后回复一串数字后获取本书配套素材资源视频等,可扫码后是显示一个“博文小玉米”企业号,选择添加到通信录会提示我发送验证,发了验证一直没有回应了,不知道是怎么回事麻烦看看,想下载资源,一直不能下载。谢谢。

    douhua发表于 2021/11/14 18:30:45
    • 解决了吗

      笼中雀发表于 2022/6/2 19:09:07
    • 获取本书配套素材、视频等资源请见百度网盘
      链接:https://pan.baidu.com/s/1VasOkq**qU0HvtAqUyKhDg
      提取码:7680
      (下载后再解压)

      王一发表于 2023/7/4 15:15:27