Unity 5.x游戏开发实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-02 08:55:38

点击下载

作者:(英)Alan Thorn 索恩

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Unity 5.x游戏开发实战

Unity 5.x游戏开发实战试读:

前言

视频游戏作为一种文化现象,在过去半个世纪已经在世界范围内吸引并娱乐了数十亿人。视频游戏作为一种产业和文化,无论对于开发者还是艺术家来说,都是一个令人兴奋的所在。通过游戏,你的意愿、想法和工作可以去影响更多的人,并且以一种前所未有的方式来塑造和改变一代又一代的人。在最近的一段时间里,兴起了一股游戏开发的平民化运动,目标是游戏的开发过程要更简单,游戏本身要更容易、更广泛地被人们所接受,包括开发者在预算有限的情况下,在家里就能从事游戏开发的工作。推动这项运动的倡导者就是Unity引擎,这也是本书的主题。Unity引擎是一个计算机程序,它可以与你现有的资源途径(例如三维建模软件)协同工作,用来编写可以在多平台和设备,包括Windows、Mac、Linux、Android、iOS和Windows Phone上都能正常工作的视频游戏。使用Unity引擎,开发者可以导入现成的资源(例如音乐、贴图、3D模型等),然后将它们组装成一个有机的整体,通过一个全局的游戏逻辑形成一个游戏世界。Unity引擎是一个令人着迷的程序。最新版本的Unity可以免费下载和使用,而且它可以十分有效地和其他程序(例如GIMP和Blender)协同工作。本书着眼于Unity引擎以及如何使用它来开发一个好玩并且有趣的游戏。学习Unity并不需要什么基础,但是必须对编程语言有一定的了解(如JavaScript、ActionScript、C、C++、Java或者C#)。现在我们以章节的形式来看看本书中都涵盖了哪些内容。本书内容

本书将在实践中探讨Unity引擎的使用,通过具体的游戏实例,一步步地带你进行游戏开发。本书共有8章,重点讲解了4个迥然不同的案例,每两章完成一个案例。接下来,我们来看看这些案例的具体内容。

第1章以第一人称视角金币采集游戏开始了我们的Unity开发之旅。如果你此前对Unity完全不了解并且准备开始你的第一个游戏,那么这就是一个绝佳的切入点。

第2章紧接第1章的内容,并完成了这个游戏。这里假设你已经完成了第1章的内容,并且完成了整个的项目,就为下一章的开始做了铺垫。

第3章标志着第二个项目的开始,我们将专注于一个太空射击游戏的开发。在这里,我们创建一个游戏,在游戏中玩家将要面对迎面而来的敌人。

第4章完成了整个的太空射击项目,这一章的内容紧随上一章,并为项目添加最后的加工。

第5章展示了二维游戏和UI功能的风采。在这里,我们将通过开发一个依靠二维物理属性的侧视图游戏来探讨Unity强大的二维功能。

第6章完成上一章开始的二维冒险游戏,为此进行了最后的完善,并根据总体游戏逻辑将各个环节连接在一起。通过这个实例我们可以很清晰地了解游戏中的各个部分和各个方面是如何有机地形成一个整体的。

第7章着重研究人工智能,创造了一个可以巡逻、追逐并攻击的敌人,而且也实现了这些敌人的导航功能。

第8章结束了上一章的人工智能项目,和本书的其他内容成为一个有机的整体。在这个项目中,我们将会看到如何使用有限状态机来实现一个强大的人工智能,这个人工智能可以被应用在各种情况下。本书要求

本书几乎包含了学习Unity的所有内容。每一章都提供了注重实用性的真实Unity开发案例,并提供了可以下载和使用的配套文件。除了本书和你的学习兴趣之外,你还需要下载一个最新版本的Unity软件。本书在编写的时候,Unity的最新版是5.3.1。这个软件的个人版(personal edition)可以免费下载和使用,下载地址为https://unity3d.com/ 。除了Unity之外,如果创建道具、人物角色,或者其他的3D资源,可能需要3D建模软件和动画软件,例如3DS Max、Maya或者Blender等,可能还会需要图像编辑软件,例如Photoshop和GIMP等。Blender是一款免费的软件,可以从http://www.blender.org/ 下载。GIMP也是一款免费的软件,可以从https://www.gimp.org/下载。本书的目标读者

本书十分适合那些没有Unity和游戏开发经验,但却希望将游戏开发作为一种爱好或者职业的读者。你也许已经有了一些与游戏开发无关的程序编写或者脚本编辑基本知识,例如C、C++、C#、Java、JavaScript、ActionScript、Python或者其他面向对象编程语言的编程能力。此外,你至少应该要有一些基本的关于游戏开发的重要概念。例如,本书假设你已经知道了3D模型、贴图、音频文件、可执行文件等基础性知识。本书会对这些概念进行简单的讲解,但是不会深入。本书将专注于Unity作为软件开发游戏的功能,每一章都是一篇可以深入研究的教程,并提供了一个可以试玩和扩展的游戏。本书约定

本书中会有很多的文本样式,这些样式用来区分不同种类的信息。下面给出了这些样式的一些实例以及它们含义的解释。

代码段将按照如下格式显示:using UnityEngine;using System.Collections;public class Coin : MonoBehaviour{ // Use this for initialization void Start () {} // Update is called once per frame void Update () {}}

当代码块中的特定部分需要注意时,相关的行或者条目会被设置为粗体:using UnityEngine;using System.Collections;public class Coin : MonoBehaviour { // Use this for initialization void Start () { Debug.Log ("Object Created"); } // Update is called once per frame void Update () { }}

新名词和重要的词汇,例如“菜单”“对话框”等将会以粗体显示,显示格式如同“你将需要创建一个新项目”。 警告或重要的注释出现在这样的括号里。

  提示和技巧出现在这样的括号里。读者反馈

我们欢迎读者的反馈意见。无论你对本书有什么想法,喜欢或者不喜欢哪些内容,都可以告诉我们。这些反馈意见对我们创作出对大家真正有所帮助的作品至关重要。

你可以将一般的反馈以电子邮件的方式发送到feedback@packtpub.com ,并在邮件主题中包含书名。

如果你在某一方面很有造诣,并且愿意著书或参与合著,可以参考我们的作者指南www.packtpub.com/authors。客户支持

现在你已经是Packt图书的尊贵读者了,我们会尽力帮读者充分利用手中的图书。示例代码下载

可以使用账号在http://www.packtpub.com 下载本书的样例代码。如果是通过其他途径购买的本书,则可以访问网址http://www.packtpub.com/support 进行注册,这些文件会直接发送到你的邮箱中。

可以按照如下步骤下载代码文件。

1.使用邮箱地址和密码在我们的网站登录或者注册。

2.将鼠标移动到顶部的“SUPPORT”选项卡上。

3.单击“Code Downloads & Errata”。

4.在查找对话框中输入本书的名字。

5.选中要下载代码文件的书名。

6.从下拉列表框中选中购买本书的途径。

7.单击“Code Download”。

当文件下载之后,需要使用如下软件的最新版来对这个文件进行解压。

Windows操作系统下的WinRAR / 7-Zip

Mac操作系统下的Zipeg / iZip / UnRarX

Linux操作系统下的7-Zip / PeaZip下载本书的彩图版

我们同样提供了使用本书的PDF彩图版,彩色的图片可以更有效地帮助读者理解书中的内容,可以从下面的这个地址下载本书的彩图版https://www.packtpub.com/sites/default/ files/downloads/Unity5xByExample_ColorImages.pdf。勘误

虽然我们已尽力确保本书内容正确,但错误仍在所难免。如果读者在书中发现任何文字或者代码错误,就请将这些错误提交给我们,以便帮助我们改进本书的后续版本,避免其他读者产生不必要的误解。如果读者发现了错误,请访问http://www.packtpub.com/ submit-errata,选择相应图书,单击errata submission form链接,然后填写具体的错误信息即可。勘误一经核实,读者的提交将被接受,此勘误将被上传到本公司网站或添加到现有勘误表中。读者可以通过在http://www.packtpub.com/support 上选择书名来查看本书所有的勘误表。侵权声明

版权问题是每一个媒体都要面对的问题。Packt非常重视版权的保护。如果读者发现我们的作品在互联网上以任何形式被非法复制,请立即告知我们相关网址或网站名称,以便我们采取措施。

请把可疑盗版材料的链接发到copyright@packtpub.com。

非常感谢你帮助我们保护作者的权益。问题

如果你对本书有任何方面的疑问,可以通过questions@packpub.com 联系我们,我们将尽最大的努力解决。第1章金币采集游戏(Ⅰ)

本章将会以一个十分有趣的采集类游戏作为Unity的入门。即使你以前从来都没有使用过Unity这个游戏引擎,也无需有任何的担心。我们的教程将会一步一步地来指导你熟悉Unity。到了下一章结束的时候,你就可以利用所学的内容构造出一个比较简单但是功能相当完善的游戏。这将是一个非常重要的过程,因为在从始至终的开发中,你将会了解到整个游戏的实现流程。

在本章中将会学习到如下内容:● Unity游戏的设计● Unity项目和目录● Unity资源(Asset)的导入和配置● Unity游戏关卡的设计● Unity游戏设计中的对象● Unity中的结构树(Hierarchies)1.1 游戏设计

现在就来开始游戏的开发之旅吧。首先,这是一个第一人称视角的游戏,玩家必须在规定时间内通过不断地移动去采集所有的金币。如果玩家在时间耗尽时还没有采集到所有金币,则视为玩家失败,游戏结束。如果玩家在时间耗尽之前就将全部的金币采集完毕,则视为玩家胜利。这款游戏的方向控制采用标准“WASD”的模式,按下“W”键向前运动,按下“A”键向左运动,按下“S”键向右运动,按下“D”键向后运动。视角的变换由鼠标控制,当走到金币的位置时就可以完成金币的采集。如图1.1所示,采用Unity编辑器实现对游戏行为的设计。开发这个游戏的最大优势就在于,通过整个的开发过程,可以了解到Unity的全部关键特性,同时无需使用任何额外的软件来产生游戏所需的资源(Asset),例如贴图(Textures)、网格(Meshes)以及材质(Materials)等。图1.1 金币采集游戏(最终完成效果) 本章和下一章介绍了这个金币采集游戏的开发过程,关于这个金币采集游戏的完整代码,可以在本书的配套文件Chapter01/CollectionGame目录下找到。1.2 从头开始——Unity中的项目

当在Unity中创建一个新游戏时,如现在的金币采集游戏,都需要先创建一个新的项目。一般来说,Unity中的“项目”这个词就等同于“游戏”。在Unity中有两种方法来创建一个新的项目,但其实这两者并没有太大的差别。在打开的Unity的图形化编辑界面中,可以看到一个场景或者关卡,从应用菜单上依次选择“File | New Project”,如图1.2所示。这时Unity会询问是否对当前已经打开的项目进行保存,这时需要根据自己的实际情况来选择“Yes”或者“No”。在选择完“New Project”以后,Unity将会出现一个项目创建向导,根据这个向导的要求,就可以一步一步完成项目的创建工作了。图1.2 使用主菜单来创建一个新的项目

如果是第一次启动Unity,则会看到一个欢迎的对话框,如图1.3所示。在这个对话框中,可以通过选择“NEW PROJECT”按钮来创建新的项目。图1.3 Unity的欢迎界面

选择“NEW PROJECT”创建向导之后,Unity就会按照指定的一些基本设置来创建一个新的项目。此处需要填写项目的名称(例如CollectionGame),然后在电脑上选择一个用来保存自动生成项目文件的文件夹。最后,注意3D和2D的这两个按钮,当单击3D按钮时,这意味着要创建的是一个三维游戏;如果单击的是2D按钮,这意味着将要创建一个二维的游戏,所有这些步骤都完成之后,需要单击“Create project”按钮来完成整个项目的生成过程,如图1.4所示。图1.4 创建一个新的项目1.3 项目和项目文件夹

现在Unity已经创建了一个空白的新项目。这里就是开发一个新游戏的起点,在这个新创建的项目中并不包含任何的东西,没有任何的网格,贴图或者其他资源。这一点只需要检查一下位于Unity编辑器界面下方的项目(Project)面板区域就可以确定。这个项目(Project)面板中会显示项目文件夹中的全部资源,同时它也对应着一个本地驱动器上的文件夹,而这个文件夹就是在之前项目向导中所创建的。这个文件夹如图1.5所示,现在也是空的。在这个游戏的开发过程中,还会使用到这个项目(Project)面板中的更多功能。图1.5 位于Unity开发界面的底部的项目(Project)面板 如果现在使用的Unity开发界面的布局与图1.5所示的有些不同,那么可以选择将用户开发界面的布局进行重置,恢复为默认布局。只需要单击开发界面右上角的布局下拉菜单,然后再选择“Default”,见图1.6。图1.6 切换成默认的开发界面布局

可以在Windows操作系统下的资源管理器或者Mac操作系统中的Finder直接查看到项目文件夹中的内容。要做到这一点,只需要在Unity编辑器上的项目(Project)面板中单击鼠标右键,这时就会显示出一个内容菜单,然后在这个菜单上选择选项“Show in Explorer”,这个过程如图1.7所示。图1.7 使用项目(Project)面板显示项目文件夹

单击“Show in Explorer”可以在默认的系统文件浏览器中对文件夹中的内容进行浏览,如图1.8所示。以这种方式查看文件,可以更容易地实现对文件的检查、清点或者备份操作。但是,不要在Windows操作系统下的资源管理器或者Mac操作系统中的Finder中对文件夹中的内容进行修改,尤其是不要进行移动、重命名或者删除文件的操作,这样操作可能会导致Unity项目损坏。如果进行文件的删除和移动操作,就在Unity编辑器中的项目(Project)面板中进行。只有这样操作,Unity才会同时对它的元数据进行更新,以确保项目能继续正常工作。图1.8 从操作系统的文件浏览器中查看项目(Project)面板的内容 如果是从操作系统的文件浏览器中查看项目文件夹,就可以看到一些在项目(Project)面板中看不到的文件和文件夹,例如Library文件夹、Project Settings文件夹或者Temp文件夹。这些文件夹中保存的都是项目的元数据。这些文件并不是项目直接的组成部分,但是却包含一些额外的设置和首选项信息,这些信息保证了Unity能正常运行。注意,不要试图对这些文件夹和其中的文件进行修改或者编辑。资源的导入

资源是游戏开发中的原材料,也就是组成游戏的模块。Unity中的资源包括网格(或者3D模型)、贴图、各种音乐和音效、场景,其中网格包括各种人物、道具、植物、建筑物等;贴图包括各种JPEG文件和PNG文件,这些图片决定了网格的外观;音乐和音效用来提高游戏真实性和气氛;场景(Scene)是一个网格、纹理、音乐、音效等协同工作而组成的独立系统。因此可以这样说,游戏不能没有资源,否则这些游戏看起来空虚而又无趣。基于这个原因,金币采集游戏也同样需要资源。毕竟这个游戏需要一个可以在其中进行移动和采集操作的环境。

Unity只是一个游戏开发引擎,而并非是一个资源开发软件。这意味着在游戏中需要的资源(例如各种人物、道具),通常是由一些设计者使用其他软件开发出来的。然后,这些设计者将这些制作好的资源导出,并传递给Unity。Unity则负责将这些资源有机地组合到一个游戏系统中。这些用来设计3D模型资源的第三方软件包括Blender(这是一款免费的软件)、Maya或者3DMAX。而对于纹理的创建,可以选择Photoshop或者GIMP(这也是一款免费的软件)。至于音效的制作,可以选择使用Audacity(这款软件同样是免费的)。当然除了这些软件以外,还有更多的选择。这些软件的具体内容并不在本书的范围内。通常,Unity引擎会认为已经有了可以导入到游戏中的资源。例如,在金币采集的游戏中将使用Unity所提供的资源。现在,将这些资源导入到这个项目中,为此,需要首先选择菜单栏上的“Assets”选项,然后在下拉菜单上选中“Import Package”,然后如图1.9所示依次选中“Characters”“ParticleSystems”“Environment”和“Prototyping”等选项。图1.9 使用资源包导入(Import Package)菜单完成资源导入操作

当在菜单中进行一个资源包的导入操作时,都会出现一个导入操作的对话框。在这个对话框中无需进行任何改动,保留里面设置的默认值,然后单击“Import”按钮即可。这个过程如图1.10所示。图1.10 选择需要导入的资源

默认情况下,Unity会从资源包(一个资源的库文件)中的所有文件解压缩到当前项目中。在导入操作结束后,各种各样的大量资源和数据将会添加到项目中,以后可以随时使用这些文件,它们都是原来文件的副本。所以,无论对项目中的哪个文件进行更改,都不会影响到原来文件。这些文件包括各种模型、声音、贴图等。图1.11所示为在Unity项目(Project)面板的编辑器中列出的这些文件。图1.11 从项目(Project)面板中对导入的资源进行浏览 当在应用菜单上依次选择了“Assets | Import”之后,如果什么资源包都没有,那么可以从Unity的主页https:// Unity3d.com/上下载和安装这些资源包。打开这个主页之后,首先选择“Additional Downloads”,然后在如图1.12所示的页面上选择“Standard Assets”。图1.12 标准资源包(Standard Assets)的下载

然而导入的资源并没有存在于游戏之中,没有出现在屏幕上,也不能做任何事情!它们只是被简单地添加到了项目(Project)面板,其实这些资源现在更像是一个库或者说是资源的仓库,可以从其中进行选择来完成游戏的建立。到目前为止,这些资源已经被内置到了Unity之中,在之后的章节中将继续使用它们,来完善金币采集游戏的功能。如果想了解关于每个资源的详细信息,可以使用鼠标单击选中这个资源,这时关于这个资源的详细信息就会出现在Untiy编辑器右侧的检查(Inspector)面板中。检查(Inspector)面板是一个位于开发界面右侧的属性编辑器,它是上下文敏感的,并会自动切换为显示所选对象的属性,如图1.13所示。图1.13 检查(Inspector)面板显示了当前选中物体的所有属性1.4 开始一个关卡

现在已经创建了一个Unity的项目,并且利用Unity的标准资源包导入了一个很大的资源库,包括一些建筑类网格,例如墙、地板、天花板、楼梯等,将使用这些资源建立第一个关卡(level)。记住,在Unity中,一个场景(Scene)往往也就意味着一个关卡。场景和关卡这两个词汇在这里是没有区别的,都是指一个三维空间,也就是游戏发生的时空。现在来创建一个金币采集游戏的场景,首先从应用程序菜单依次选择“File | New”,或者也可以在键盘上按下“Ctrl + N”组合键。当完成了这个操作之后,一个新的空白的场景就被创建好了。可以在占据了Unity开发界面最大部分的场景(Scene)选项卡中看到场景的预览,如图1.14所示。图1.14 场景(Scene)选项卡中给出了一个3D世界的预览 如图1.14所示,在Unity中的场景(Scene)选项卡以外的其他选项卡也是可见的,并且可以使用的。这些选项卡包括游戏(Game)选项卡和动画(Animator)选项卡。有时,选项卡的数目可能会更多。不过现在可以忽略除了场景以外的其他所有选项卡。场景(Scene)选项卡是为了能够在游戏的开发中简单快速地查看一个关卡。

每一个新的场景都是空的,严格来说几乎是空的。默认情况下,每一个新的场景都是由两个对象开始的,首先添加一个用来照亮其他任意对象的光源对象(Light),然后是一个用来从特定角度对场景中的内容进行显示和渲染用的摄像机(Camera)。可以使用开发界面(见图1.15)左侧的层次(Hierarchy)面板来查看所有在场景中对象的完整列表。这个面板上显示了场景中所有对象的名称。在Unity中,游戏对象的含义就是在场景中存在的单一、独立的东西,无论它们是可见的还是不可见的,例如网格、光源、摄像机、道具等。因此,只有从层次(Hierarchy)面板才能看到游戏场景中的一切。图1.15 层次(Hierarchy)面板 也可以通过在层次(Hierarchy)面板中单击游戏中对象的名称来选中它们。

接下来为这个场景添加一个地面(Floor)。要知道,游戏中的玩家总得站在一些东西上面。可以使用第三方的建模软件(如Maya、3DS Max或者Blender)来创建一个地面网格。不过,在之前导入过的标准资源包中就含有可以使用的地面网格,这是相当方便的。这些网格都是原型软件包(Prototyping Package)的一部分。如果想通过项目(Project)面板完成对这些资源的访问,可以双击打开“Standard Assets”文件夹,然后访问“Prototyping | Prefabs”文件夹。如图1.16所示,可以看到这些对象,并从检查(Inspector)面板中对它们进行预览。

图1.16 包含了大量用于快速建立场景的网格的标准资源包/原型包 你也可以在应用程序菜单上依次选择GameObject|3D Object|Plane,这样可以更加方便地向场景(Scene)中添加地面(Floor)。不过,加进来的这个地面看起来一片灰暗,给人一种枯燥无味的感觉。当然,这个地面的外观是可改变的。正如我们在后面即将看到的一样,Unity中允许对物体外观进行改变。不过,在本书中,我们将从项目面板(Project panel)中的标准资源包里找到一个专门的地面网格(floor mesh)来使用。

图1.16所示的名为“FloorPrototype64x01x64”的网格十分适合作为一个地面,现在只需要简单地将项目(Project)面板(Panel)中的对象拖曳到场景(Scene)视图中,然后释放鼠标即可完成这个网格的添加工作,如图1.17所示。当在进行这个操作时要注意,在三维空间中新添加了网格之后,场景(Scene)视图中发生的变化,同时也要注意到这个网格的名称也出现在了层次(Hierarchy)面板的列表中。图1.17 将网格资源从项目(Project)面板中拖动到场景视图中

至此,现在项目(Project)面板上的网格资源已经被实例化为一个场景中的物体。这意味着一个项目(Project)面板上的副本已经作为一个独立的游戏对象加入到了场景之中。地面的实例(或者对象)依附于项目(Project)面板中的“floor”资源。但是反过来,这些资源却并不依附这些实例。这意味着当在场景中删除这些实例(或者游戏对象)时,这些资源并不会被删除。反之,当删除了这些资源时,场景中的这些实例就会被删除。如果场景中需要更多的地面,就可以多次从项目(Project)面板中向场景(Scene)视图拖动“floor”资源。每进行一次这种操作,都会在场景中添加一个单独的游戏物体。虽然这些游戏物体都依附于同一个“floor”资源,但是它们相互之间都是独立的(见图1.18)。图1.18 向场景中添加多个“floor”网格

实际上,并不需要这么多重复的地面,所以先把它们删除。删除这些地面的方法是先在场景(Scene)视图中逐个单击这些“floor”对象,然后在键盘上按下删除键。另外记住,也可以通过单击层次(Hierarchy)面板上这些游戏物体的名字,然后按下删除键。不管使用的是哪一种方法,如今在场景中都只剩下了唯一一个“floor”对象。现在还有一个问题,那就是这个“floor”对象的名字问题。在层次(Hierarchy)面板上可以清楚地看到这个“floor”对象的名字是“FloorPrototype64x01x64”,这个名字很长,意义又不够明确,而且调用的时候又不方便。因此应该将这个名字改为一个更容易管理的,而且意义更明确的,这样才能使工作更加有条理,也更容易管理。Unity中有很多种可以将对象重命名的方法,首先选中对象,然后在其检查(Inspector)面板中的名称字段处输入新的名字。这里将这个对象重命名为“WorldFloor”,如图1.19所示。图1.19 对“floor”网格进行重命名1.5 变换和导航

到现在为止,一个地面网格已经建立好了,但是仅仅这一个游戏对象还是很无趣的,还需要向其中添加更多的内容,例如建筑物、楼梯、柱子或者更多的地面。否则,玩家在这个游戏中就没有能进行探索的世界了。在开始创建之前,首先要先确认现在的地面处在了整个世界的中心位置。场景中的任何一个位置都有一个唯一的坐标,这个坐标(x,y,z)值指的是距离世界中心点(原点)的距离。在检查(Inspector)面板中可以看到当前选中对象的坐标。事实上,在Unity中,一个对象的位置(Position)、角度(Rotation)和尺寸(Scale)同属于一个名为变换(Transform)的类别。位置表示的是一个对象距离3个坐标轴的距离。角度表示一个对象绕着它的中心轴旋转的角度。尺寸表示一个对象应该缩小到多小或者扩大到多大。默认的尺寸指的就是对象正常的大小,尺寸为2表示扩大到原来两倍的大小,尺寸为0.5表示缩小到原来的一半,以此类推。这样,一个对象的位置、角度、尺寸共同构成了它的变换属性。如果想改变一个选定对象的位置,可以在x、y和z位置字段输入新的值。例如将一个对象移动到游戏世界的中心,就可以输入(0,0,0),如图1.20所示。图1.20 将一个对象移动到游戏世界的中心点

如上所示,通过输入适当的值,当然这个值要在系统许可的范围内,就可以为对象指定准确的位置。不过,使用鼠标来直接移动对象往往更为直观。现在就来完成这个操作,首先添加第二个floor对象,这个floor对象的位置要远离第一个floor对象。先从项目(Project)面板上拖曳一个floor对象到场景中,然后单击这个新的floor场景以选中它,然后按下键盘上的“W”键,或者单击编辑器界面顶端的变换工具图标来切换到变换工具。变换工具允许对场景中的对象进行重新定

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载