1、第四章画刷的世界第四章 画刷的世界:深入世界几何体(World geometry) 文档摘要: 由于全书正在完善中,故本节内容可能在全书出版的过程中发生变化。 BSP画刷提供了途径,以便你制作关卡 的基本架构。你如果读完了“Up and Running”一章,应该了解了BSP画刷的概貌。BSP画刷用于制作关卡的原型,你不用等待资源制作完成,便可以快速生成关卡预览。本章将更完整地讲述UnrealEd的BSP工具,以及如何运用它来制作关卡。 当你进行世界几何体(world geometry) 的相关工作时,请一定记住两个重要的缩略语:BSP和CSG。BSP是Binary Space Partiti
2、on的缩写,即二元空间分割。这个名字来自于一些计算,这些计算用于告诉游戏引擎传递渲染多边形的正确顺序。不过,对于关卡设计师,不必知道BSP内部的复杂工作。因此,我们只向你介绍可用的工具,以及在创建关卡如何使用它们。 CSG是Constructive Solid Geometry的缩写,只不过是世界几何体的另一个说法。在UnrealEd中,它是指由BSP画刷制作的几何形。制作关卡架构的主要流程为:创建BSP画刷,然后UnrealEd会使用这些画刷来制作关卡的CSG或世界几何体。 画刷类型 所有的BSP制作都是围绕画刷的创建和放置进行的。在UnrealEd中,画刷是一个指定一定空间的三维物体。在创
3、建关卡时,有三种最常用的画刷:红色画刷生成器(Red Builder Brush)、添加型画刷和挖空型画刷。 红色画刷生成器 红色画刷生成器在关卡设计中最为重要,因为它决定了其它所有画刷的基本形状,可以把它看作用来创建添加型画刷和挖空型画刷的模板。在UnrealEd的视口(Viewport)中,它是一个红色线框物体。基于你选择的不同的图元(primitive),可以创建各式各样的形状画刷。这一点我们后面会讲到。 即便你第一次打开UnrealEd,红色画刷生成器也会一直出现在UnrealEd中。 最初,它只是一个顶点,至到将它改变为其它的形状。但是,由于画刷在游戏中不被渲染,也不会对gampla
4、y产生影响。所以,它的位置是无关紧要的。如果你想在UnrealEd中隐藏红色画刷生成器,只需要按下G键,进入游戏模式就可以了。 图4.1红色画刷生成器。 添加型画刷 添加型画刷用于向关卡添加物体。通过单击工具栏的CSG: Add(添加)按钮,由红色画刷生成器创建。在视口中,添加型画刷是由蓝色线框表示。添加型画刷将会创建一个与红色画刷生成器完全一样的形状。 图4.2在添加型关卡中创建的添加型画刷。 挖空型画刷 挖空型画刷用于除去关卡中的物体,就像雕刻出红色画刷生成器的形状一样。单击工具栏上的CSG: Subtract按钮,就可以创建挖空型画刷。在关卡中,挖空型画刷是由黄色线框表示。 图4.3在挖
5、空型关卡中创建的挖空型画刷。 构建简述 请记住关于BSP很重要的一点:它用于 创建 世界几何体。BSP画刷本身并不是世界几何体。要在UnrealEd中将BSP画刷转变为世界几何体,您必须“构建”关卡。 构建非常简单,单击一个按钮就可以完成。如果您只是要重新计算世界几何体,您可以单击工具栏中的Build Geometry(构造几何体)按钮;如果在场景中应用了光照,您需要单击Build All(构建所有)按钮通过 这个按钮,可以重新计算世界几何体以及任何变化引起的阴影贴图。 请牢记关键的一点:无论您对BSP画刷做什么改变,例如增加一个新的画刷,或移动现有的画刷,尽量进行简单的编辑,并务必记得构建几
6、何体。同时阴影也需要改变,也请记住单击Build All(构建所有)按钮。 接下来,我们以创建一个很简单的古希腊神殿为例,介绍本章涉及的很多技巧和主题。我们先创建神殿的底座,然而由下而上进行搭建。 在开始前,您可能需要回顾一下多利安式神殿的组件。 图4.4古希腊神殿的组件简图。 说明: 出于实用的考虑,对于构建一个古希腊神殿的关卡,本章指南中所介绍的技巧非常有用。而对于最终的gameplay关卡,神殿的大部分都是由静态网格物体构成的。 指南4.1建造柱基台阶 1. 运 行UnrealEd,打开BrushDemo地图。在Generic Browser中,打开Brush_Demo文件包。这两个文件
7、夹文件包含在本书配套DVD的本章文件夹中。 2. 将Drag Grid(拖曳网格)值设置为16。 图4.5在用户界面底部的状态栏中,可以设置Drag Grid(拖曳网格)。 3. 在Generic Browser中,选择mat_concrete材质,将它应用于所有新的BSP画刷。 4. 我们要开始建造柱基台阶了。在非专业人士眼中,这不过是一个从基座延伸出来的一阶台阶。右键单击Cube构造器按钮,输入以下值: X: 1792 Y: 3328 Z: 32 单击Build和Close。选择红色画刷生成器。 图4.6照此设置Cube构造器。 5. 在俯视口中,使用Translation(平移)来移动红
8、色画刷生成器。在X轴和Y轴方向上,将它移至混凝土底座的中心。在X和Y方向上,红色画刷生成器应嵌入底座128个单位。 6. 在侧视口或前视口中,移动红色画刷生成器,将它的底部表面与底座表面贴紧。简单地说,就是将红色画刷生成器放在底座上。 7. 最后,单击工具栏中的CSG: Add(添加)按钮,在红色 构造器画刷的位置上创建一个添加型画刷。 图4.7新建的添加型画刷组成新的台阶。 8. 单击Build All(构建所有)按钮,保存关卡。 画刷使用 现在,您知道了可以使用的画刷的类型,您还应该了解画刷工作流程的一些关键点。有了这方面的知识,您就会知道应该如何选择需要的画刷,如何放置画刷,以及使用画刷
9、时如何通过简单的方法避免问题。这样,就可以加快您设计关卡的速度了。 添加型关卡与挖空型关卡 在关卡中使用添加型画刷还是挖空型画刷,通常取决于您创建的关卡类型。自Unreal Engine 3.0发布后,用户可以通过添加型方式或挖空型方式来创建关卡; 而在Unreal Engine 以前的版本中,只能以挖空型方式创建关卡。这个区别非常明显:添加型关卡可以看成在一个露天的大片空地上,通过增加物质来创建关卡;与之相反,挖空型关卡则是一大块实体,就像一座山的内部。在这个实体上,您雕刻出关卡。无法比较哪一种方法更“好”或更有效;使用哪一种方法完全取决于您的个人喜好。 那传说中的拖曳网格 放置画刷时请务必
10、注意精确度,可以用 “失之毫厘,谬以千里”来形容。有缝隙和交叠的画刷会给关卡带来问题,应想方设法避免这种情况。例如,当您要把一个挖空型楼梯连接到一个挖空型房间时,如果无意中在两个画刷间留下了一条小缝隙,一旦几何体开始创建,您将发现那条小缝隙在房间和楼梯之间产生了一堵墙的距离。 要避免这种情形,您可以使用Drag Grid(拖曳网格)。在UnrealEd中Drag Grid(拖曳网格)默认是激活的。Drag Grid(拖曳网格)强制使你的画刷对齐到在Drag Grid(拖曳网格)设置中所给定的网格值上去。通常,在使用画刷时,请不要关掉Drag Grid(拖曳网格)。并时常调整对齐值,以产生大小适
11、当的对齐网格。 随着支点一起转动 画刷支点为画刷的运动提供了中心支点。当您对齐到网格上时,支点决定了画刷对齐到哪个点上去。支点也可以作为旋转的中心。例如,有一个立方体的画刷,支点正好位于它的中心。如果您旋转画刷,您将看到立方体看上去是在原地旋转;但是,如果您将支点移到画刷的边角,您将看到立方体绕着它的一个角旋转。您可以改变BSP画刷支点的位置,方法是在画刷的一个顶点上单击右键,或在屏幕上任何一处单击右键,然后在支点菜单中进行选择。 图4.8改变支点位置后的效果。 画刷的顺序 画刷的顺序也是制作BSP的一个重要方面,尽管遇到这个问题的频率没有前面介绍的这么高。比方说,您已经建造了一个楼房,它所有
12、的一切都是在一个庞大的立方体的subtraction(挖空体)中。后来您决定要把楼房放置在一个圆柱体的subtraction(挖空体)中,也许这样更符合您的要求。于是您删除了挖空型立方体,用圆柱体来替换它。然而,当您后来创建几何体时,发现整个楼房都不见了!这是因为创建画刷的顺序不对。是这样的:如果您的最后一步操作是加上一个庞大的subtraction(挖空体),那么subtraction(挖空体)中的所有添加型画刷都会被删除掉。 通过改变计算各画刷的顺序,您可以解决这个问题。如果UnrealEd先计算大的圆柱体subtraction(挖空体),那么在创建几何体后,它内部所有的添加型物体都还是完
13、整无损。要改变画刷的顺序,可以在画刷上单击右键,在弹出的菜单中选择Order。这样,您就可以选择是否先计算这个画刷,或者与另一个已选的画刷交换顺序。 选择恰当的比例 比例在关卡设计中非常重要,同时也是创建BSP画刷的一个重要考虑因素。要是没有参考点,选择恰当的比例会变得捉摸不定。将您的设计和游戏中的角色联系起来是很有意义的。写到这里时,Unreal Engine 3.0 Runtime中的人物角色(ExamplePawn)还只是高度在160个单位以内的小个子。也就是说,您的所有门至少要有这么高,才能容纳得下这个角色;而天花板的高度,还要高于这个值。在设计关卡时,请务必考虑到比例,以免让关卡显得
14、过于拥挤或过于空旷。 指南4.2为神殿添加柱座 紧接指南4.1。如果您没有完成4.1,请不要超前阅读此节。 1. 在指南4.1的基础上进行操作,或打开DVD上的BrushDemo_stylobate地图(和本章 文件夹在一起)。确认在Generic Browser中选择了mat_concrete材质。 2. 现在我们要制作柱座了。柱座是向神殿的平台过渡的台阶。右键单击Cube构造器按钮,输入以下值: X: 1536 Y: 3072 Z: 32 单击Build和Close。选择红色画刷生成器。 图4.9照此设置Cube构造器。 3. 在俯视口中,使用Translation(平移)来 移动红色画刷
15、生成器。在X轴和Y轴方向上,将它移至前面建好的柱基台阶的中心。在柱基台阶的四个方向上,红色画刷生成器应 嵌入128个单位。 4. 在侧视口或前视口中,移动红色画刷生成器,将它的底部表面与柱基台阶表面贴紧。 5. 最后,单击工具栏中的CSG: Add(添加)按钮,在红色画刷生成器的 位置上创建一个添加型画刷。 图4.10所有的神殿必需台阶建成了。 图元(Primitives) 画刷图元是一系列预制的可以速成画刷的原材质,应用在红色画刷生成器上,以便在一个特定的形状上添加和挖空几何体。每个图元都具有一些参数,可以通过设置参数方便地定制最终的形状。这些参数大部分都非常明了,不需要加以解释;如果需要,您也可以在附录UnrealEd用户手册中找到每个参数的详细解释。 立方体(Cube) 在关卡制作的原料中,立方体是最常用的图元之一。和它的名字不一样,它各边的长度不相等。立方体是建造大多数房间的绝好图元。通过设置,它可以变为空心的,侧壁厚度亦可设置。 图4.11由立方体图元制作的添加型画刷。 锥体(Cone) 锥体图元本质上是一个柱体,其一端收缩为一点。您可以将它想象成一个金字塔,而且可以指定其环绕基底的侧面的数量。尽管它没有立方体图元常用,但在一些特定情况下,也是非常有用的。通过设
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1