《Unity 5.x游戏开发实战》一1.4 开始一个关卡

1.4 开始一个关卡

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

注意 

如图1.14所示,在Unity中的场景(Scene)选项卡以外的其他选项卡也是可见的,并且可以使用的。这些选项卡包括游戏(Game)选项卡和动画(Animator)选项卡。有时,选项卡的数目可能会更多。不过现在可以忽略除了场景以外的其他所有选项卡。场景(Scene)选项卡是为了能够在游戏的开发中简单快速地查看一个关卡。

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

注意 

也可以通过在层次(Hierarchy)面板中单击游戏中对象的名称来选中它们。

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

注意 

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

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

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

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

时间: 2024-11-02 12:56:52

《Unity 5.x游戏开发实战》一1.4 开始一个关卡的相关文章

《Unity 5.x游戏开发实战》一第1章 金币采集游戏(Ⅰ)

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

《Unity 5.x游戏开发实战》一第2章 金币采集游戏(Ⅱ)

第2章 金币采集游戏(Ⅱ) Unity 5.x游戏开发实战这一章将会在第1章建立好的游戏基础上继续进行.在这个金币采集游戏中,玩家可以第一人称视角模式在整个游戏环境中进行漫游,在游戏规定时间到达之前,寻找并采集到所有的金币.如果在游戏规定时间结束前,玩家就已经完成了所有金币的采集工作,则视为游戏胜利.反之,如果到游戏规定时间结束时,玩家并没有完成所有金币的采集工作,则视为游戏失败.到目前为止,已经在这个项目中添加了一个完整的环境,环境中包括地面.道具.水.一个第一人称视角的控制器,及一个看起来已

《Unity 5.x游戏开发实战》一导读

前 言 Unity 5.x游戏开发实战视频游戏作为一种文化现象,在过去半个世纪已经在世界范围内吸引并娱乐了数十亿人.视频游戏作为一种产业和文化,无论对于开发者还是艺术家来说,都是一个令人兴奋的所在.通过游戏,你的意愿.想法和工作可以去影响更多的人,并且以一种前所未有的方式来塑造和改变一代又一代的人.在最近的一段时间里,兴起了一股游戏开发的平民化运动,目标是游戏的开发过程要更简单,游戏本身要更容易.更广泛地被人们所接受,包括开发者在预算有限的情况下,在家里就能从事游戏开发的工作.推动这项运动的倡导

《Unity 5.x游戏开发实战》一1.3 项目和项目文件夹

1.3 项目和项目文件夹 现在Unity已经创建了一个空白的新项目.这里就是开发一个新游戏的起点,在这个新创建的项目中并不包含任何的东西,没有任何的网格,贴图或者其他资源.这一点只需要检查一下位于Unity编辑器界面下方的项目(Project)面板区域就可以确定.这个项目(Project)面板中会显示项目文件夹中的全部资源,同时它也对应着一个本地驱动器上的文件夹,而这个文件夹就是在之前项目向导中所创建的.这个文件夹如图1.5所示,现在也是空的.在这个游戏的开发过程中,还会使用到这个项目(Proj

《Unity 5.x游戏开发实战》一1.8 游戏测试与游戏选项卡

1.8 游戏测试与游戏选项卡 至此,已经使用Unity自带原型包(Prototyping Package)完成了金币采集游戏环境的构建.现在的游戏环境包含了两个主要的岛屿,岛屿上有一些建筑物,两个独立的岛屿通过一个石桥连接在一起,如图1.40所示.可能你的布局与图1.40看起来有一些不同,不过也是非常不错的. 总的来看,场景还是完成得不错,现在需要把这个场景保存一下.可以选择按下键盘上的"Ctrl + S"组合键,或者也可以如图1.41所示,从应用程序菜单上选择"File |

《Unity 5.x游戏开发实战》一1.7 光源和天空

1.7 光源和天空 现在已经完成关卡中基本建筑的模型导入和布局摆放了,只使用很少的几个网格资源和一些基本工具就完成了这些操作.不过,这些工具的功能却是相当强大的,将这些工具组合操作,可以让游戏世界变得丰富多彩,甚至以假乱真.不过,这里还遗漏了一点很重要的事情,那就是光.仔细观察图1.34,这里所有的物体看起来都是单调的,没有光亮.阴影.这是因为场景中并没有配置合适的照明系统,虽然在游戏创建的时候已经默认自带了一个光源对象(Light),但是这个光源对象(Light)现在并没有起什么作用. 现在这

《Unity 5.x游戏开发实战》一1.10 添加一个用来采集的金币

1.10 添加一个用来采集的金币 至此,该游戏已经有了很多功能,例如一个完整的环境.一个第一人称视角控制器.一片大海.不过,本章设计的是一个金币采集游戏,但是现在这个游戏场景中还没有任何可以采集的金币.为了实现这些功能,需要编写一些C#脚本,这些脚本要到下一章才会看到.然而可以创建一些金币对象,如将一个圆柱体(Cylinder)对象变形成一个金币.下面先来创建一个圆柱体对象,操作方法是从应用程序菜单处依次选择"GameObject | 3D Object | Cylinder",如图1

《Unity 5.x游戏开发实战》一1.2 从头开始——Unity中的项目

1.2 从头开始--Unity中的项目 当在Unity中创建一个新游戏时,如现在的金币采集游戏,都需要先创建一个新的项目.一般来说,Unity中的"项目"这个词就等同于"游戏".在Unity中有两种方法来创建一个新的项目,但其实这两者并没有太大的差别.在打开的Unity的图形化编辑界面中,可以看到一个场景或者关卡,从应用菜单上依次选择"File | New Project",如图1.2所示.这时Unity会询问是否对当前已经打开的项目进行保存,这

《Unity 5.x游戏开发实战》一2.9 构建

不幸的是,问题并非如此简单,能够在桌面系统运行良好的游戏,不一定能在手机上完美运行.反之亦然,主要是由于这些系统硬件之间和行业标准之间存在着巨大差异.考虑到这些差异,我们把主要精力放在Windows和Mac等桌面平台上,暂时不考虑手机和游戏机等平台.如果想创建一个在桌面平台上运行的游戏,可以在菜单栏上依次选择"File | Build Settings",如图2.36所示. 之后,"Build Settings"对话框就会显示出来,这个界面中包含了3个主要的区域,&