2D vs. 3D: 世纪之战?


在过去的几年中,游戏制作界中一个热门的话题被讨论着,那就是2D将被淘汰,而3D 将成为游戏制作的主要方式.如果你看到一些制作公司正在开发中的情况,你就可能 同意这个观点,然而,分析一下销售前十名的类型,你就不会同意这一观点.

截止至1998年6月的销售量排行:

  1. Starcraft (Blizzard)2D
  2. Unreal (GT)3D
  3. Final Fantasy VII (Eidos)3D
  4. Deer Hunter (GT)2D
  5. Police Quest: SWAT 2 (Cendant)2D
  6. Rocky Mountain Trophy Hunter (GT)2D
  7. Cabela's Big Game Hunter (Activision)2D
  8. Diablo (Cendant)2D
  9. Myst (Broderbund)2D
  10. Titanic: Adventure Out of Time2D

前10名中有8位用的是2D技术,对2D游戏即将灭亡的理论来说,这意味着什么? 他们可能会辩解说这是由于购买者还没有意识到3D技术的优点.那么, 2D和3D间有哪些不同点呢?

让我们来比较一下,共同找出它俩之间的不同点.

对玩家来说,2D技术和3D技术只是显示数据的方式而已,玩家都是通过二维的平面显 示器来观看它们.对制作者来说,二者的不同之处,首先就在于数据的存储方式.2D技 术中为了显示图像,主流的做法是把预先画好的图像存放到文件中去.并在游戏中调 用出来.3D技术把游戏世界中的每个物体看作一个个立体的对象,由若干个几何多边 体构成.为了显示对象,你在文件中存储的是对对象的描述语句:对象由哪几个多边 体组成,它们之间的位置关系,以及在哪个部位使用哪个贴图等等描述性内容.在显 示时,还得通过程序对这些语句的解释来实时地合成一个物体.通过若干个立体几何 和平面几何公式的实时计算,玩家在平面的显示器上还能以任意的角度来观看3D物 体.如果构成物体的多边形越多,那么合成时需要的计算量就越大.贴图是一些很小 的图像文件,也被称为"材质".如果说多边体是物体的骨架,那么贴图就是物体的皮肤.

如果你在2D游戏中需要一个角色不同角度的画面表现,例如表现它在四个方向上行 走时的动作,那么你就必须预先画好起码四幅图像,游戏运行时,你就必须分别从不 同的文件中调用行走时的图像,来表现行走动作.如果你想让角色能在8个方向上行 走,那么工作量就会增加一倍.在制作一些动画时,工作量更是急剧地增长.这时,使 用3D技术就能省下不少的时间.

3D技术的优点

  1. 3D技术在三个重要的方面显得非常灵活.首先就是表现你眼前的世界.3D游戏 能够让玩家以任意的角度来观看世界,并让他们在其中以不同的步伐移动.显然,通 过2D技术是实现不了的,因为表现的结果有上万种可能性.在Quake中,由于使用3D技 术,玩家就能够自由地移动,以任意角度观察.
  2. 3D技术在动画制作方面有独特的优势.这个方面也已经被QUAKE证明了。如果 用2D技术来实现,那么在视角的转换上就会非常受限,而且存储这些动画会超过所能 承受的最大空间.3D动画能够很轻松地越过这些困难.你先给3D对象定义变形和运动 的规律,实际运行时,程序就会让3D对象按照预定的规律来运动,形成3D动画.但是 在现有的游戏中,还没有很好地发挥这一优势.
  3. 第三个方面,3D对象易于修改,因为它本身是由若干个多边体,象搭积木似地组 成的.这些多边体可以象橡皮泥一样任意地揉捏,来符合最终的要求.而2D图像是由 手工绘制而成,修改非常不便,一些大的改动往往导致已有的工作成果作废,需要重 新绘制.

2D技术的优点

  1. 第一点,就是2D的图像能够画得很精致,把一些细节完美地表现出来.3D虽然也 能通过增加多边体来更细致地表现对象,但与2D图像所能达到的最高水准还是相差 一段距离.如果你的游戏不需要诸如旋转视角等功能的话,那么采用2D技术会给你的 玩家带来更好的视觉享受.
  2. 2D技术的另一个优点就是在屏幕上显示和处理都很快.因为所有的图像都已经 预先处理好了,你所要做的只是把它们从文件中调出来,显示到屏幕上.显示卡做这 些工作是绰绰有余的.在实时的游戏中,你能够轻易地获得每秒三十帧的显示速度. 这就为处理器节省了大量的时间,使它有充裕的时间来做显示外的其它工作.例如对 即时战略游戏来说,电脑方的人工智能就需要较多的处理器时间去进行计算.现在, 3D加速卡的速度已经变得越来越快了,但如果要模拟一个真正的3D世界,这点速度还 远远不够.所以至少在未来的几年内,2D图像的显示速度还将占有较大的优势。
  3. 对2D图像来说,做一个显示引擎很容易。对3D图像来说,制做显示引擎就困难 得多了.但随着技术的普及,这一优势会渐渐消失.

另外还有一个隐性的优势.3D游戏一般具有较高的自由度,对有经验的玩家来说是没 问题的.但对一些新手来说,自由度越高就感到越难以控制.2D游戏一般具有较少的 自由度,新手容易在设计者的引导下一步步地进行下去.

你,作为游戏设计者,需要决定采用哪种技术.如果你的游戏需要比较自由的空间, 倾向于动作化,并且有强大的技术力量,那么3D引擎将是你最好的选择.如果你想制作 具有精美图像的游戏,不需要太高的自由度,那么2D技术是最好的选择.事实上,3D 技术与2D技术并不存在什么孰优孰劣的问题,只存在着哪种技术能更好地为你服务 的问题.很明显,现在2D游戏仍有着大量的市场需求,你并不需要为2D的未来而担心.

Copyright 1998 Geoff Howland
翻译: 99.2.20 by 余建斌 - yjbin@mail.huptt.zj.cn