构建游戏地形系统.doc
- 格式:doc
- 大小:670.50 KB
- 文档页数:28
构建游戏地形系统地形系统是一块薄片,我们在这块薄片上面调制我们关卡的美味大餐。
嘿!那是粗俗的味道还是其它什么味道(来,品尝一下?是美食?还是平常菜?)不管是否是平常口味,那是确实的。
如果你关卡中的任何部分发生在户外,那么你就需要地形系统了。
而槽糕的地形系统将会是论涂一通并且玩家也会有不厚道的评论(还是尽量让他们温和一点吧)。
所以如果你希望把地形系统做得出色的话,那么你就需要在它的里面做很多的努力了。
实际上,专业的游戏开发者在游戏中做的绝大多数的努力是直接地把地形系统制作的尽可能的美观,尽可能的真实。
在这一章节中,你将会学到:■你可以用来制作地形系统的不同方法■对于如何制作真实的地形系统的一些诀窍■利用地形系统来为你的游戏性服务■给地形系统刷上贴图■在地形系统上放入一些小道具来充实你的游戏世界地形系统的重要性伴随着游戏中的角色变得越来越饱满,越来越细节化,游戏中的地形系统也随着时间的推移变得越来越漂亮了。
来看一下过去五年中游戏中对水的描绘手法吧,它从一片蓝色的面片,发展到带有明显边界的波纹面片,再到通常比真实的水还漂亮的表面。
在任何关卡中,地形系统都是非常重要的一个部分。
人们在地形系统上以基本的规则行走。
我们所知道绿草、大树和杂草就是应该像看到的那样;我们知道峡谷的峭壁很少是光滑的;石头就该乱堆在地上;在泥地上我们留下脚印;而水、风和重力混合在一起形成了一个到处凌乱的环境。
但游戏空间是很少混乱的。
这是它的强项也是它的弱项。
最简单的地形系统的模型到处都是平地和非常圆滑的拐角。
这样的地形系统就像一位有洁僻的女士却被给予了神的力量。
换句话说,它压根就不现实。
所以,构建地形系统的部分工作是把它制作地足够的混乱来使得它可信。
然而,这样伴随着一个很明显的问题。
杂乱意味着许许多多的多边形,而基本的建筑物已经占据了计算机生成的全部3D物体。
而且计算机处理器需要渲染的多边形数量越多,游戏就变得越慢。
有太多多边形的话,计算机就会档掉。
对游戏的全部3D模型来说,地形系统实际上扮演了平衡一个真实性与流畅运行游戏之间的角色。
好消息是每年计算机的处理速度都在上升,而坏消息是它目前还不能即时运行100%真实的地形系统。
所以作为一名关卡设计师,你永远都要注意这个平衡的角色。
制作地形当前,游戏工具有好几种方法来制作地形系统。
每一种方法都有它的优势和弱势。
它可以使你的任务像吮手指那么简单,也可以像解开戈耳迪之结(指非常复杂的死结)那样困难。
没有什么比制作一张几方里的地形更花时间的了,而且工具的错误设置会使你感到你正拿着一把铲子来清除你身上的泥土(并不是大块的,而是你在沙滩上造沙堡时所留下的颗粒)。
高度图高度图是一张简单的2D图片,由黑色,白色和之间的254种渐变灰度所生成(见图3.1)。
地图制作者和地质学家们用卫星生成的高度图来制作地形的系统的3D地图。
这种方法的原理是每一种级别的灰度表示了不同的高度。
色彩越亮的地方,地形就越高。
以米为单位,每一种等级的颜色对应各自的不同高度,根据程序获得的图片这个单位是可变的。
用高度图来制作地形是相当简单的,而且它可以生成一些最为真实的地形结构,在游戏中也是如此(见图3.2)。
但也意味着会出现一些最难看的地形结构,这取决于游戏引擎和地图制作者的专业技术。
来自于高度图的地形结构看上去可以是高低不平的,或者是非常平坦的。
混合这两种不同类型的地形结构可能会是场噩梦,然而,通常还是会用以下的这两种方法来制作高度图:1)从卫星图片上取一张已经存在的高度图并把它用到你的游戏中。
这种地形的结构很类似地球或它某个邻近的星球上的某个部分。
2)在图形编辑器中制作,比如Photoshop,这个花费的时间会长一些,但是非常有趣。
图3.1 一张美国地质调查局(USGS)的高度图图3.2 由图3.1的高度图所制作的地形图高度图的优势:■制作简单■方便快速地做出大的变动■修改快速■真实劣势:■很难做出小的修改■为了恢复正常可能会花费相当多的时间■最后的地形图会很类似于由其它高度图所形成的地形图手动调节接下来制作地形的方法是手动来调整这个模型。
很明显这是一个十分花费时间的工作。
3D模型师在一个半英亩大的虚拟地面上花费了几个月的时间只是为了使它正确。
然而,这种方法可以生成你能得到的最漂亮的,最恰当的地形结构。
外星世界,魔法王国等超现实的场景都可以被制作地如此真实以至于让玩家忘记呼吸。
手动调节的地形通常是在3D模型软件中创建的,像Discreet的3D Studio Max或者Alias Wavefront的Maya。
美工首先制作一张大的平坦网格并用造型工具把这个平面扭曲成大致的山体和山谷。
然后他再润色不同的区域,花费越来越多的注意在越来越小的细节上面,直到他对结果感到满意为止。
在这里,通过对所有美工用来制作地形的多边形的了解,主程序员可以有个大概的概念。
所以美工不得不开始选择需要切掉什么,简化什么,和保持什么。
这个循环会开始持续下去。
手动调节地形结构的优势:■可能是最佳的细节水准■最好的用户化级别■容易做一些小的修改■超现实的效果手动调节地形结构的劣势:■很难做出大的改动■花费大量的时间■如果美工不注意的话会影响游戏的帧速混合使用因为两种地形编辑都存在弱点,所以游戏公司有时候会制作他们自己的地形编辑工具,试着结合高度图在制作大区域地形上的舒适和手动调节的良好控制。
但这些工具有时候会难以使用,而且它们并不像单独使用的时候那么有用,那么简单。
主要的3D软件,Maya和3D Studio Max,允许导入高度图,并会有一些效果,它们会给你一些控制来做一些非常好的调节。
但是它们是昂贵的,复杂的工具,并且对于普通的模型制作者来说可能很难买得起得起一个版本,这个版本给了他们实际上所需要功能。
虽然还存在一些相对便宜的软件,但是越低的价格可能带来越少的功能。
我建议你尽可能地多试验这些软件来了解哪个是最适合你的。
混合地形工具的优势:■结合了两种基本工具的优点劣势:■昂贵■通常单独的效果没有特定的工具来得好■使用复杂自动生成接下来的是程序自动生成的地形(见图3.3)。
当玩家不需要与地形经常互动的时候,自动生成地形就能派上用场了,当然还是要知道这是什么地方的。
模拟飞行有时候就是使用自动生成的地形,因为玩家一般是把他的时间花费在云层上方的。
自动生成地形的优势:■你不需要为地形操心了自动生成地形的劣势:■极小的调节功能图3.3 由Planetside软件的Terragen程序所随机创建的美丽地形铺砖地形很多第三人称的游戏,包括像《帝国时代》(Age of Empires)这样即时战略游戏和《无冬之夜》(Neverwinter Nights)这样的角色扮演游戏,都使用了铺砖来制作它们的地形(见图3.4)。
铺砖是预先生成的地面方格,他们可以互相衔接来制作出无限变化的场景。
使用铺砖是相当简单的。
设计师选出一块铺砖,把它拖到他想放置的位置上,然后返回去拖其它的铺砖。
一些游戏允许你修改铺砖,改变贴图和场景的类型来制作沙漠,草原或森林。
当玩家不会贴近地面去看的话,铺砖是一个非常好的制作地形的方法。
但是这个方法不能给地形带来丰富的高度变化。
铺砖地形制作的优势:■使用简单并且有趣■制作快速铺砖地形制作的劣势:■受铺砖栏中的铺砖和地形物件的制约■通常只能用于使用固定顶视角镜头的游戏■不善于制作出大的海拔变化图3.4 Bioware的《无冬之夜》的Aurora设计工具,显示的一块铺砖地形地形和游戏性制作地形可能是非常有趣的。
在你轻微地调整地形使之正确的时候,它慢慢地成为了一种微型的操作策略游戏,这是一个有创造性的任务。
就因为这样,所以很容易就忘记了制作地形的主要目的:使得游戏更加有趣。
在你努力制作漂亮场景的时候,你也许就无意地在你的游戏中造成了一些缺陷。
玩家可能发现他们迷路了,泄气了,或者更糟。
他们可能发现你关卡中的漏洞,并用这个来作弊。
为了避免出现这种情况,时刻注意什么是你关卡中的核心游戏性,而且你需要制作地形来适合这个游戏性。
制作地形结构时的一些提示:■只制作你所需要的地形结构。
不要创建一些你“之后”会加入复活节彩蛋(Easter Egg)的空间。
相信我,在你的计划部分之外,这些空间将会自我呈现。
另外,制作巨大的空间意味着玩家有许多的活动范围,但同样也意味着你有大量的工作要做。
■迷宫并不有趣,除非它是这个游戏的重点。
■把道路隐藏起来是会令人受挫的,谨慎地使用它们。
■不要制作一些不会奖励玩家的道路。
如果玩家沿着一条路走,那么这条路就应该通往某个重要的地方或者有一些有乐趣的东西。
■始终保持一贯性。
如果一个地方的某个斜坡是不能通过的,那么其它任何地方像这个角度的山坡应该都是不能通过的。
如果一个地方的某个密度的森林不能通过,那么其它地方相同密度的也不应该可以通过。
地形结构的另一个目的:阻拦玩家到目前为止,我们已经谈论了地形结构是可以让玩家在上面行走的。
然而地形结构可以有第二个作用:定义玩家可以探险的区域限制。
很多时候,关卡设计师会把他的关卡放置到一个峡谷或山谷里面,那里有着险峻的山坡和悬崖来阻止玩家穿越关卡的边界。
另外一些时候,一片不可以游泳的海洋或一块标记明显的荒地,比如一块沙漠,给了玩家一个形象的感觉:他不能到达那里。
当你在你的关卡中设置“阻挡”的时候,记住以下的提示:■始终清晰的标记出玩家不能去的区域。
通常来说,你的阻挡是会让玩家感到沮丧的。
没有人喜欢被禁止去他们想去的地方。
然而,如果你使得阻挡很容易辨认,那么玩家就会明白这个是游戏的一部分,并不仅仅是游戏设计师一时的兴致来禁止玩家去那个地方探险。
即使是一道无形的墙阻止了玩家进入一个贫瘠的沙漠,这也是可以的,只要这条阻挡线被清晰的标记了。
■不要在阻挡的另一边放置任何有趣的东西,除非它明显是到达不了的,例如某些事物离得太远而到不了,比如一个浮空的地方或者是远方的山脉。
没有比你想去某些地方探险但是却发现没有路来得更糟糕的了。
把一个建筑物,一座雕像,或一个洞穴放置在你阻挡的另一边会使得玩家认为他应该去那里搜索一下。
他会浪费很多的时间试着到达那里,但是当他认识到这是不可能的时候他会很不开心。
就是因为你认为这个并不重要,但不意味着玩家也这么认为。
不能通过的区域有些时候你应该在玩家的前面放置一些障碍,来确定他不会在你的世界中迷路,或者去那些你不希望他去的地方。
在大多的游戏引擎中,你可以创建一块不能通过的区域,来阻止玩家再向前进。
不能通过的区域通常是不可见的,玩家可能会气恼为什么走不进去。
因此,你应该花很多心思在放置这些区域的地方。
确保玩家明白为什么他会被阻止去他想去的地方。
你需要了解为什么他是被禁止的,所以你可以放置一面篱笆,创建一堵墙,改变地面的颜色,使森林变密,或者做一些其它明显的事情。