Preface
前言
很高兴我们能一起学习3D游戏开发的知识。首先介绍一下本书的作者分工:
❑ Anthony Davis,高级技术美术设计师,负责撰写本书、管理项目、制作特效和着色器以及打磨项目。
❑ Travis Baptiste,3D美术设计师,负责美术指导、游戏建模、游戏角色动画以及帮助定义游戏中的故事设计。
❑ Russell Craig,高级软件工程师,负责编写游戏脚本和游戏玩法。
❑ Ryan Stunkel,音效设计师,负责创建和实现项目中的所有音效。
为确保尽可能利用好我们加起来50多年的集体经验(本书的每一页都包含4个人的共同努力),我们在整本书上花了6个多月的时间并对初稿进行了两次修订,以确保用最合适的用例来解释新概念,而且最重要的是提供一种可行的教学方法。最后,我们相信自己成功创作了一本书,这本书将我们在游戏开发领域塑造的职业轨迹前移了3到5年。
本书涵盖了使用Unity设计和开发3D游戏的方方面面。我们将介绍如何设计、创建和实现游戏角色、环境、UI、音效和玩法。
本书目标
本书的目标是让每一位读者建立正确的思维方式来思考3D游戏,然后向读者展示我们创建游戏的所有步骤。欢迎新手阅读本书,但是书中主题的难度可能会快速提升。虽然有难度,但如果坚持下去,你将会快速掌握游戏开发的知识。本书的主要目标读者是那些对游戏开发有一定了解的人,但无论你的经验如何,我们都希望为你带来一次愉快的学习之旅。我们将涵盖的概念很快就会变得复杂,包括游戏角色、编程、设计模式以及我们将要学习的其他内容。
为了充分利用本书,建议你遵循下面的步骤:
❑ 通读各章,读完每章后有意地停顿一下来思考这些概念。
❑ 如果某些知识点对你来说是全新的,请查看我们在GitHub中的项目,看看实际动手是否有助于进一步理解它。如果没有,请上网搜索相关概念进一步研究。
本书的设计初衷是让你了解我们的学习方法,然后通过研究项目理解所有基础知识。更重要的是要理解我们先前为什么要这样设计。我们也花了不少时间去学习Unity界面的基础知识,但之后就可以通过大量的在线资源学习技术了。
你在本书中可能找不到某些内容,比如如何为角色建模、绑定(rig)角色或制作角色动画。我们很少谈论这个过程,因为这个过程需要单独去练习。我们更多谈及的是为什么以某种方式设计游戏角色,以帮助你以同样的方式进行游戏开发。项目中包含了所有动画,因此构建完成后的产品就是成品。这是一种强有力的学习方式,我们会教你为什么项目会以这种方式完成。通过这种方式,你可以看到最终结果,并且可以发挥创造力并按照自己的想法进行设计,还可以在阅读章节的同时使用新工具自行完成整个过程。
最后,在深入学习之前,我们建议你打开本书的GitHub仓库,导航到Builds文件夹看一看。这将帮助你了解我们的团队是如何将内容以完整的形式组合在一起的。看完之后,你可以想象我们从零开始构建这个项目时所经历的一切。
本书读者对象
本书特别适合对制作3D游戏感兴趣的入门读者,书中内容既涉及基础知识,也包括一些高级话题。
此外,本书对那些已经在开发游戏但还想学习更多知识的读者也会有帮助,因为书中涵盖了广泛的技巧和知识。
本书内容
第一部分:计划和设计
第1章介绍三维(3D)的概念和本书将要用到的一些术语。
第2章先介绍设计的基础知识,然后引导读者安装Unity并创建第一个项目。
第3章奠定编程基础,通过解释逻辑基础知识和Visual Studio的基本用法来介绍C#的强大功能。
第二部分:构建
第4章介绍在设计3D角色的同时考虑如何将它们用于绑定和动画。
第5章引导你思考游戏的环境以及我们为设计和构建环境所做的工作。
第6章花一些时间思考游戏机制以及用户需要什么样的交互,还包括项目中的交互所需的编程。
第7章增加一些复杂主题,包括与物理设置的交互和更加高级的编程概念。
第8章介绍Unity的画布组件以及如何在任意项目上开发整体游戏界面。
第三部分:打磨和细化
第9章介绍渲染的基础以及相关的系统,深入讲解如何使用视觉特效系统增进你的游戏世界与用户的情感联系。
第10章讲解Unity中的音效系统,并为声音设计奠定坚实的基础。
第11章教你如何使用Unity构建最终可运行的游戏,并讲解测试方法,根除可以避免的错误以制作更好的游戏产品。
第12章介绍用来完善项目的内容,包括专门的粒子系统、光照、艺术定义和声音润色。
第13章介绍Unity提供的一些其他服务,以防你的项目所需的那些在前面的章节中没有涵盖到,例如多人游戏或混合现实相关的内容。
如何充分利用本书
❑ 请注意本书不是一个示例教程,而是开发3D游戏时的一本参考书。我们只讨论几个简单的示例。请尽可能从中学习相应的逻辑原理并将其应用到你的项目中。
❑ 请对涵盖的主题做好笔记,我们加大了在物理引擎部分的编程难度。
下载示例代码
本书中涉及的代码已经放在了GitHub上,链接是https://github.com/PacktPublishing/Unity-3D-Game-Development。
下载彩图
我们还提供了一个包含书中所有彩图的PDF文件,下载链接是https://static.packt-cdn.com/downloads/9781801076142_ColorImages.pdf。
以上资料也可以从www.cmpreading.com获取。
排版约定
以下是书中涉及的一些文本格式的排版约定。
代码体文本:表示代码段、数据库表名、文件夹名、文件名、文件扩展名、路径名、短链接、用户输入。例如:“将下载好的WebStorm-10*.dmg镜像文件挂载到系统中。”
代码段的示例如下:
代表警告或重要信息。
代表技巧和小窍门。