科技>计算机>图形图像
游戏设计与开发:Unity实战完全自学教程

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

作者:马遥
ISBN:9787121421556
定价:¥89.0
字数:457千字
页数:272
出版时间:2021-10
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

从务实的角度来看,游戏开发是一种实战活动,游戏开发者在掌握了基础知识后,需要不断进行针对性的实战和思考,才能真正掌握游戏开发所需的技术。幸运的是,网络上有很多乐于分享知识的游戏从业者,他们制作了很多入门与进阶的实战教程。其中,介绍了很多广受好评的精品游戏实例,而且这些实例紧贴近年来热门的游戏类型与风格。本书结合了游戏设计的原则与使用 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

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个