《Unity 5.x游戏开发实战》一1.6 场景的建立

1.6 场景的建立

现在已经成功地实现了对象的属性变换和在场景视图中的导航。接下来可以开始完成金币采集游戏的第一个关卡了。首先将空间中的两个floor网格对象分开,在它们之间留一个大的裂缝,将来会在这个裂缝上创建一个桥梁。玩家将可以通过这个桥梁往返于两个如同岛屿一样的floor网格对象之间。可以使用变换(Translate)工具(W)来移动物体,如图1.29所示。

注意 

如果创建更多的floor对象,可以使用之前用过的方法,从项目(Project)面板处拖动一个网格资源到场景视图中。另外,也可以将在场景视图中选中的对象进行复制,复制的方法是在选中目标对象之后,同时按下键盘上的“Ctrl+D”组合键,这两种方法都可以达到目的。

接下来,要向场景中添加一些道具(Props)和障碍物(Obstacles),首先向floor网格对象上添加一些房屋(House)对象,可以按照“Assets | Standard Assets | Prototyping | Prefabs”这个目录找到房屋对象(HousePrototype16x16x24),如图1.30所示。

当将一个房屋拖动到场景中之后,这个房屋可能会与地面的底部完美的对齐,但是也有可能不会,如果对齐了,那你的运气还真是不错。但是我们不可能每次都有这么好的运气,一个专业的游戏开发者应该依靠自身的技能,而不是运气。不过别担心,在Unity中,可以轻松地使用顶点捕捉(Vertex Snapping)来将任意的两个网格对象进行对齐。这个功能的工作原理是使两个游戏中的对象通过将它们的顶点定位到同一个位置来实现对齐操作。

这里以图1.31为例,在这张图中房子歪歪扭扭地坐落在floor对象之上,我们很自然地希望将它和floor对象进行水平对齐或者角对齐。要实现这个效果,我们首先要选择房子(House)对象,这一点可以通过单击或者在层次面板中选择这个对象来完成,要注意进行选中操作的应该是要移动的那个对象,而不是那个用来对齐的参照物(此处特指floor对象)。

接下来,激活变换工具(W),并且按下键盘上的“V”键,同时移动光标,观察选中网格中最近顶点的标识(Gizmo)光标,如图1.32所示。Unity会要求选择一个进行捕捉操作的源顶点。

按下键盘上的“V”键,同时把光标移动到房屋底部角的位置,然后单击并从角拖动到floor网格的角。然后房屋将会完成与floor网格角对角的顶点捕捉对齐,当完成了这种对齐之后,释放“V”键,此时两个网格的顶点已经对齐了,如图1.33所示。

现在,可以使用原型包(Prototyping Package)中的网格资源来搭建一个完整的场景了。通过向场景中拖放一些道具,并使用变换、旋转以及缩放操作,就可以实现对这些游戏对象的定位、排放和转动。使用顶点捕捉,可以按自己所愿将所有游戏对象进行对齐。多练习一些这种操作,使用这些工具和资源可以完成图1.34所示的场景安排。

时间: 2024-11-10 07:41:10

《Unity 5.x游戏开发实战》一1.6 场景的建立的相关文章

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

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

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

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

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

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

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

1.4 开始一个关卡 现在已经创建了一个Unity的项目,并且利用Unity的标准资源包导入了一个很大的资源库,包括一些建筑类网格,例如墙.地板.天花板.楼梯等,将使用这些资源建立第一个关卡(level).记住,在Unity中,一个场景(Scene)往往也就意味着一个关卡.场景和关卡这两个词汇在这里是没有区别的,都是指一个三维空间,也就是游戏发生的时空.现在来创建一个金币采集游戏的场景,首先从应用程序菜单依次选择"File | New",或者也可以在键盘上按下"Ctrl +

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

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

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

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

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

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

《Unity 5.x游戏开发实战》一2.2 Unity中的C#脚本

2.2 Unity中的C#脚本 为游戏定义逻辑.规则和行为的时候,往往需要使用到脚本.如果想将那些静态的.无生命的场景和对象转换成为可以进行交互的环境和对象,那么开发人员就需要编写代码.这些代码定义了这些物体在遇到了指定情况之后,应该做出什么样的反应.金币采集游戏也需要编写代码才能实现所有的功能.这个游戏需要实现3个主要的 功能: 能够感知玩家是否收集到金币: 在游戏进行中,能够及时了解到玩家收集的金币数量: 能确定游戏时间是否已经结束. 在Unity中并没有包含一个能实现上述功能的模块.所以必

《Unity 5.x游戏开发实战》一1.5 变换和导航

1.5 变换和导航 到现在为止,一个地面网格已经建立好了,但是仅仅这一个游戏对象还是很无趣的,还需要向其中添加更多的内容,例如建筑物.楼梯.柱子或者更多的地面.否则,玩家在这个游戏中就没有能进行探索的世界了.在开始创建之前,首先要先确认现在的地面处在了整个世界的中心位置.场景中的任何一个位置都有一个唯一的坐标,这个坐标(x,y,z)值指的是距离世界中心点(原点)的距离.在检查(Inspector)面板中可以看到当前选中对象的坐标.事实上,在Unity中,一个对象的位置(Position).角度(