发表于2024-12-23
0.1 为什么写这本书
实时3D游戏已经出现10年多了。我们都玩这类游戏,按自己的喜好为这类游戏创作相关资源,甚至可能Mod(游戏模组,指通过修改游戏原作创建新游戏——译者注)其中的一些。然而,Unity游戏引擎突破性地提供了一种免费的或者是低成本的桌面游戏、手机游戏和单机游戏创作方式,创作你自己的游戏的唯一障碍是你的决心以及你愿意或能够投入到游戏创作中的时间。
时代变了。3D技术已经普及,在影视领域我们可以看到很多以计算机图形(Computer Graphics,CG)为特色的公司,在游戏业界也是一样,很多休闲游戏正从2D转向3D。Unity迈出了大胆的一步,通过提供免费、强大的引擎,改变了高端引擎的价格模式,推动了业界的发展。引擎的价格不再是将你的创意变成游戏原型甚至是产品的障碍。
无论你的兴趣是休闲游戏还是其他更高的目标,如果你之前没有脚本经验,但是又很想把你的艺术创作资源和故事变成游戏,本书都能帮助你实现愿望。在现代的游戏引擎中,繁重的程序由引擎自己控制,而逻辑和游戏玩法(指游戏的目标、规则、挑战、交互等设定——译者注)可以由那些在创意方面比在程序方面更具特长的人通过脚本实现。
在本书中,我将从3D艺术家的角度来探讨游戏创作和设计决策,将逻辑和脚本分散在各个小的部分,同时向艺术家、初级游戏设计人员以及编程新手介绍实时游戏引擎概念。
本书以项目导向的方式撰写,所以你最终不但可以完成一个可以赏玩的游戏,并且能够获得一些可以复用到其他游戏中的脚本资源。同时,你也会体验到典型的设计决策,这些决策在整个游戏设计过程中都不得不完成。你将从创建游戏的基础开始,通过增加功能,不断地优化它;在这个过程中,我将会解释特定选择背后的逻辑以及实时游戏的相关概念。
本书的项目基于第一人称点击式冒险游戏,功能包括装备包、状态管理、载入/保存功能,特别强调游戏创作中的视觉要素。即使你不单是第一人称射击游戏的爱好者,你也能学到如何通过引入娱乐性的和有趣的人物和功能,来优化你偏爱的游戏。
本书项目旨在向你介绍一种符合逻辑的设计决策和问题解决过程,这个过程对冒险游戏之外的其他游戏设计也有助益。它为创建并(更重要的是)最终完成你的游戏提供了一个框架和方法。本章内容的介绍将超出基本的Unity功能和标准资源(Unity引擎自带的标准资源包,含游戏设计常用的基本功能和素材——译者注)的使用,还会介绍一些在在线教程和其他书籍里很少讨论的内容。项目需要的所有艺术资源都已提供。
作者的话
几年以前,在带领我的班级完成一个竞速游戏、一个第一人称的射击游戏和一个平台跳跃游戏之后,我决定最后一个小项目是经典的冒险游戏。令我惊讶的是班里的同学被这个游戏的设计决策和逻辑所激发的热情。因为在当时没有这类游戏的现成教程,我们不得不从头设计游戏,从之前的项目中借鉴代码,创建自己的脚本,从Unity社区汲取大量的知识。这本书的创作就源于那段经历,既是为了需要,也是为了与他人分享探索的过程。
0.2 现代冒险游戏
在这个项目中,你将要创建一个经典的第一人称点击式冒险游戏的变种。冒险游戏有很多变种,对于没有或者只有很少脚本经验的艺术家或一般爱好者来说,这是一个很好的起点。故事、艺术资源、动画是这类游戏的主要组成部分,较慢的节奏允许更多的脚本优化方法,因为争分夺秒的响应时间是不需要的。如果你的目标是创建第一人称射击类游戏,本书可能不适合你。相反,如果你的口味特别一些,你也许会找到各种各样的信息,它们都可以用到你当前正在创作的游戏类型中。
在Unity 4.0中,加入了Mecanim,它提供了理想的方法,用来实现探险游戏的一个常规特性——角色和对话树。即使你并非角色动画专家,也能够这样做,这非常有趣。更重要的改进在于更好地结合了物理特性以及各种特殊效果,使得本版书籍中的项目从“经典的”变成了“现代的”。
冒险游戏的一个最有意思的部分是可以搜集和使用奇怪的对象组合。因为装备包和状态管理的重要性,有几章专门介绍它们的设计和实现。Unity游戏开发新手经常在社区论坛提问如何实现这些特性,但是他们很少得到回答,因为话题涉及的范围超出了Unity本身。在本书的末尾,你将获得额外的一些脚本、概念和经验,它们能够使你将学到的知识应用到其他类型的游戏中。
交互冒险游戏对于独立开发人员也非常理想,因为这类游戏吸引了大批玩家。FireProof Games的The Room游戏在本年度手机游戏排行中名列前茅,它是使用Unity开发的,这说明Unity已经在休闲游戏和手机游戏社区中占有重要的地位。
0.3 关于Unity游戏引擎
Unity是小型工作室、独立游戏开发人员和那些希望开发自己游戏的开发人员的理想选择。它有广泛的用户群(在2013年夏季大约有120万左右)和特别活跃的用户社区,使得从新手到资深高手都能够及时地获得答案和分享信息。
Unity是游戏开发的一个很好的切入点,它在价格与特性和功能间获得平衡。免费版的Unity允许人们在付出辛苦赚来的资金前试验、测试、开发和销售游戏。Unity很便宜,功能齐备的Pro版是免版税的,允许人们以非常低的附加成本制作和销售游戏,这对休闲游戏市场非常重要。
多平台游戏市场——特别是iPhone和Android休闲游戏——在当前是非常流行的,Unity的跨平台能力已经经过充分证明。最早基于Mac系统创作的应用程序可以发布到Mac和Windows,2009年Unity发布了Windows版,正如期望的那样,它为Windows平台的开发人员和艺术家提供了机会。从那时开始,Unity开始不断地增加对iPhone、Android、iPad和Wii的支持,并开始为支持Xbox 360和PS3进行开发。在2013年春季,Unity推出了更大的惊喜:对于Unity的免费用户,iOS、Android、Windows 8 Mobile和Blackberry的许可证现在或者很快也将免费。
最早的Unity引擎适配器试图从Flash或者Director进行迁移,这可以使得脚本环境更容易应用。毕竟很多Unity用户都有用Flash制作游戏并使用ActionScript的背景,这无论如何是一个先决条件。有很多关于在Unity中创建游戏的资料,包括第一人称射击游戏、竞速游戏、平台跳跃游戏等。即使你的兴趣在别的地方,也有很多提示和技巧可以从一些不太可能的地方收集到。应积极利用Unity网站(www.Unity3D.com)、Unity Forum(forum.unity3d.com)、维基百科(www.unifycommunity.com/wiki)、Unity Answers(answers.unity3d.com)提供的资源,也包括数量巨大的与Unity引擎相关的其他私有网站。
Unity文档也包含了非常丰富而有价值的信息,但是,正如任何技术都有特别的词汇一样,有时候很难找到你想要的东西。在你查询Unity或者Unity3D之前,先搜索互联网通常是找到难以捉摸的概念或功能的最简单的方法。可以通过Help菜单使用Unity帮助,但是通常使用在线版本更快。
0.4 我必须学习脚本吗
用Unity来设计游戏,你不必是一个程序员,但是你必须具备如下能力:识别脚本完成什么功能、知道如何调整脚本以符合你的需要、判断一个脚本是否符合你的需要。
大多数游戏玩法都要通过脚本实现,但是有数以百计的现成脚本都可以重用。Unity自带了一些最常用的脚本。可以访问Unity Forum、Wiki和Unity Answers来搜索查询更多的脚本。很多论坛成员甚至会为较不擅长脚本的用户编写一些代码。在论坛的合作组中,你甚至能找到用脚本换艺术资源的脚本编写者。在本书的最后,你将看到Unity社区的丰富资源。
游戏最初的定义是一种交互;即使在基本由物理规律控制、由逻辑驱动、符合因果规律的游戏中,交互性也是使这些游戏区别于线性的、线索驱动的被动媒体的重要特征。即使是最“对艺术家友好”的游戏引擎也需要通过脚本来进行移动,更不要说简单的环境导航了。本书旨在教你每次熟悉几行脚本代码,并在这个过程中尽可能地提供视觉反馈。本书假设你还没有决定要系统学习脚本,但是乐于以稍被动的方式参与脚本的创建。
0.4.1 除了语法,脚本更重要的是逻辑
尽管很多人因学习一门新的语言而感到困难和胆怯,但可以这样想:大多数人在35岁前已经书写流利,书面语言是我们母语的一个子集。在某种程度上,书面语言有着自己的词汇和语法,并且它与脚本语言非常相似,因此,脚本更像我们母语的一个子集,而不是一门新的语言(对英语为母语的人而言——译者注)。
区别在于掌握这门语言的方法。对于书面语言,由于是我们的母语,因此我们并没有特意准备去学习它。然而,脚本需要我们学习、实验并最终掌握它,这主要是通过反复使用、测试排错以及一些被动的方法来达到,但绝不是死记硬背和紧张的考试。本书主要关于游戏设计与创作背后的逻辑,因此把脚本作为身临其境的体验,即游戏开发过程的一条副线。你可以自由地选择在脚本上投入的精力。无论你怎样选择,本书开发的主要脚本将帮助你使用自己的想法和艺术资源来创建和扩展本书的游戏。
尽管如此,要明白脚本究竟在做什么,只有有限的概念和为数不多的关键字需要掌握。幸运的是,大多数脚本编写者都很友好地将注释包括在脚本中,解释脚本的作用,这使得复杂的脚本变得更易于理解。
本书的脚本以章为单位列出,脚本背后的逻辑在各章中解释,但是希望你可以发挥探索者的好奇心,从脚本的解释中获益并自己做一些实验。
0.4.2 数学是个问题吗
在3D业界,我常听到的一句话是“如果我知道数学这么有用,我当时真应该在学校好好学”。即使如此,大多数艺术家和设计师还是不想花时间提高他们的数学技巧。别担心!我的主要目标是帮助你创建游戏。一些游戏必须实现的功能非常容易使用,即使你不知道它的工作原理。我们大多数人都喜欢驾驶,但是对于汽车内部的发动机却没有广泛的知识。不要介意用同样的方法来对待脚本。
0.5 假设与前提
本书假设你已经至少熟悉3D资源和3D空间,但是书中也有相关概念的一个简短的综述,全书也包括了很多提示和技巧。
本书假设你没有太多的脚本经验(如果有的话),但是你愿意使用它将你的故事变为现实。
本书假设你现在有很少或者没有Unity游戏引擎的经验。
本书也假设你对游戏制作过程非常陌生,但是有非常强烈的愿望创建自己的实时3D游戏。
最后,本书假设如果你希望探索除经典点击式探险游戏之外的其他游戏类型,你会阅读本书,并思考如何将书中的各种技巧应用到其他游戏类型中来得到想要的效果。在休闲游戏市场,综合探险游戏、第一人称射击游戏和其他游戏类型的元素不仅能被认可,而且可以获得一些非常具有娱乐性的效果。
0.6 本书未涵盖的内容
本书不是介绍常规游戏设计的书籍;它更像是一本先导书籍,让你更习惯于分析需求和权衡选择。本书也不是在你需要自己实现游戏所有细节时,用来创作一个详尽的设计文档的书籍,毕竟在对引擎和自己的能力没有充分了解时,这是不大可能的。你将一点点地构建自己的游戏,在此过程中将逐步原型化创意和功能。
本书不是帮助你成为程序员的书籍,它还欠缺一些程序设计的最佳练习。书中的脚本尽可能地提供即时的视觉反馈,以帮助非程序员轻松进入脚本编写过程。尽管同一个目标通常都有多种实现方法,但在本书中,脚本采用艺术家或者设计师最 游戏开发经典丛书·Unity 4 3D游戏开发入门经典:多平台游戏开发全攻略(第2版) [Beginning 3D Game Development with Unity 4: All-in] 下载 mobi epub pdf txt 电子书 格式
游戏开发经典丛书·Unity 4 3D游戏开发入门经典:多平台游戏开发全攻略(第2版) [Beginning 3D Game Development with Unity 4: All-in] 下载 mobi pdf epub txt 电子书 格式 2024
游戏开发经典丛书·Unity 4 3D游戏开发入门经典:多平台游戏开发全攻略(第2版) [Beginning 3D Game Development with Unity 4: All-in] 下载 mobi epub pdf 电子书这在看 书不错
评分书不错,挺有价值的,值得学习!!
评分老公买的,我没看,不知道好不好呢
评分书很不错,超级厚,适合入门
评分写的还不错,有案例教学
评分书很不错,超级厚,适合入门
评分物流快,书刚刚到 还没来得及看
评分一般,还行,还是建议网上查资料,买书不划算
评分留着以后看,打折买的书
游戏开发经典丛书·Unity 4 3D游戏开发入门经典:多平台游戏开发全攻略(第2版) [Beginning 3D Game Development with Unity 4: All-in] mobi epub pdf txt 电子书 格式下载 2024