泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

未来启示录!05年超级游戏引擎全解析

    当游戏进入3D时代之后,“引擎”这个概念越来越多的进入了我们的视野。游戏引擎其实可以比作赛车引擎,它把游戏中的各种元素捆绑在一起,在后台指挥它们同步、有序地工作,不同游戏引擎就像不同的赛车引擎一样,会给玩家和驾车者以不一样的感受。

 
 端起火箭炮飞驰

    在3D引擎的发展史中,为我们留下深刻印象的作品有很多。例如Quake 3引擎以其优秀的物理性能和出色的稳定性造就了一代经典,甚至为FPS游戏开创了一个新的玩法:Defrag。玩家通过借助武器爆炸的冲力可以在空中自由的飞翔,那种感觉就像驾驶着法拉利跑车在路上自由的飞奔。

 虚幻引擎3+Speedtree引擎创造的出奇迹

    随着硬件性能的不断提高,游戏性能也有了更加广阔的发展空间。处于“灵魂”地位的游戏引擎自然也在大跨步的前进,今天我们就来领略一些前卫的游戏引擎技术的风采,同时展望一下与其相对应的硬件将如何发展。

    说到SpeedTree之前小编想闲扯两句。我们都知道在工业生产领域,流水线工作方式的出现带来了效率的极大提升。比如枪械的制造,在最早期的时候由工匠独自一人完成整个产品,不仅效率底下而且一部分坏掉之后往往整个都要报废。后来出现流水线方式的生产后,每个人只需各司其职将自己的零部件按照规格做好,最终就可以装配成一个完整的产品。这样做不仅工人的熟练程度和工作效率可以大大提高,同时也可以把细节做得更加精益求精。

    如今在游戏制作领域也渐渐出现了类似的情况。大家玩3D游戏的时候一定都很注意游戏所营造的效果,而衡量的标准又是什么呢?大多数人一定都会注意这几个方面:树木、水、光照以及人物等等。

 
 同一人物在两代《半条命》中的表现

    的确,树木、水、光照以及人物都是3D游戏效果制作的重中之重,如果这些方面都做好了,这款游戏的效果必然就不会差。但这就有点类似刚刚提到造枪的例子,仅靠一己之力要想把这些都做好并不容易,必然要投入大量的人力物力和时间为代价。

    也许是受到传统工业流水线的启发,3D引擎方面也逐渐出现了单独专注于某个领域的产品,例如我现在要讲的SpeedTree就是这样的一款引擎。顾名思义,SpeedTree是专门负责在游戏中“栽种”树木的程序,它不仅能够营造出非常真实的树木和森林效果,而且可以作为“零件”方便的嵌入到其他渲染引擎当中,为任何一款游戏带去优秀的画面。

 
 

    以上是SpeedTree在虚幻引擎3中发挥的“巨大威力”,我们看到SpeedTree所制造出的树木和森林达到了非常高的仿真度。配合上虚幻引擎3优秀的光照效果,所营造出来的逼真画面令人叹为观止。

 
 

    也许有人担心实现这样逼真的效果岂不是非常的困难?不必害怕,SpeedTree有非常成熟的CAD开发界面,这令游戏制作人员省去了大量的时间和精力去做底层开发,只需轻点鼠标就能够在非常短的时间里营造出一片逼真的绿色世界。

 动态风效果示意图

05年游戏超级引擎大赏
 
 动态调整多边形

    SpeedTree还拥有很多特效以及优化技术。开发者只需要输入环境中的风速和风向等自然条件,SpeedTree就可以让树木实时生成绝对逼真的摆动效果。在优化方面,上面的示意图说明了在极远处的树木,我们只需要2个多边形加上雾化就足够真实了,而随着距离的拉近,SpeedTree动态将树木的多边形数量调整到了1126个,最大程度上达到了性能和视觉效果的平衡。此外,SpeedTree引擎还能够优化程序代码,在运行期间调整CPU与GPU之间的工作量分配,让系统资源发挥出最大的效率。

    以上是SpeedTree的开发流程,开发人员可以使用SpeedTreeCAD进行树木建模,然后导入到3DSMax、Maya等开发环境中去加工细节和阴影等特效,最后将其作为资源交给引擎去处理。而SpeedTree之需要一层类似中间件的环境就可以嵌入第三方的渲染引擎当中去。

    作为一款非常成熟的产品,SpeedTree已经有了应用的实例,比如大名鼎鼎的《上古卷轴4:湮灭》。这款游戏的室外场景非常浩瀚,而且很多是在森林之中,借助SpeedTree引擎的威力,这些场景得到了非凡的视觉效果:

 
 
 

    很难想象如果没有SpeedTree的支持,制作这样的森林场景需要多少时间和精力。并且假如优化不够的话,这样多的树木和庞大的场景将会给系统造成非常沉重的负担,到时候玩家们肯定要叫苦不迭了。

    说起Havok可能不少玩家觉得陌生,但如果提到《半条命2》相信就没有人不知道了。Havok正是为半条命2提供物理引擎的公司,他们的Havok Physics物理引擎已经发展到了第三代,成为诸多游戏首选的物理引擎系统。

Havok

    对于如今的3D游戏来说,画面效果并不能代表游戏的全部,物理引擎所扮演的地位已经日趋重要。所谓物理引擎就是负责计算场景里面物体之间互相作用效果的程序,物理引擎越完美,游戏就越显得接近真实。

 玩家要挪动箱子到窗口下面然后才能跳出去

    玩过《半条命2》的朋友们一定记得,很多关卡都需要玩家用一些小的“手腕”来通过。比如将重物放在指定地点来触动机关的开启等,而这些简直就是游戏在对其超强的物理引擎进行炫耀。

 拣起罐子可以放到筐里面

 拿起筐,你甚至还可以用鼠标将罐子“甩”出来

 射击地上的罐子,它会碰撞到墙角之后飞到半空

    以上是几个在《半条命2》和《CS:Source》(二者使用的都是Source引擎)中Havok Physics引擎起作用的例子,这些特性给游戏带来了很多的乐趣,例如游戏开始不久就有个保安要求你把地上的一个罐子捡起来放到垃圾箱里面,你完成这个“任务”之后才能通过他把守的通道。

    除了物体之间的相互作用之外,Havok Physics引擎还包含了类似“布娃娃”人体模型系统,专门负责让游戏中的人物动作更加真实。这套系统最大特点是能将人体按照现实情况分为很多相对独立并互相关联的部分,例如人物的手腕受力之后,力量会通过关节传递到小臂甚至大臂上面,使游戏中的人体模型不再是一个“大木桶”。

    以上的截图同样来自《半条命2》和《CS:Source》,可以看到Havok Physics引擎让其中的人体可以根据不同的受力摆出这种姿势,而且完全和周围的地形环境结合在一起,这种真实感是早期的3D游戏根本达不到的。

    《半条命2》、《光环2》、《Painkiller》以及《荣誉勋章:血战太平洋》这些游戏都是含有Havok Physics引擎的作品,很凑巧的是它们全都是第一人称射击类型的,不过今年将有一款更加震撼的Havok Physics引擎游戏登台:《帝国时代3》。

    与FPS游戏中寥寥几人的情况不同,在策略游戏中会很容易出现上百人的作战场景。使用了Havok Physics引擎的《帝国时代3》,会赋予屏幕上面每个士兵单元,甚至是他们的帽子、枪械以真实的动作和物理特性,想想看那将会是何等的壮观的真实画面!

    其实《帝国时代3》不仅物理引擎非常优秀,画面的光照效果同样是非常好的。我们可以回忆一下当年这个系列的前作,其画面都无可挑剔。也许有人担心这样效果的游戏岂不是要变态级的配置才能流畅运行?小编我是比较乐观的,别忘了微软制作的游戏一贯在代码优化方面做得很出色,但愿这次也不会例外吧。

    在刚刚过去的E3大展上面,虚幻引擎3无疑最引人注目的焦点之一。这是一个集合了多项优秀引擎和技术为一体的“超级引擎”,它使用上文中提到的SpeedTree对树木进行处理,并且集成了NovodeX物理引擎,还为游戏开发者提供了可视化交互式开发环境UnrealEd(Unreal Editor)。

  • SpeedTree

    SpeedTree为虚幻引擎3带来了无比真实的树木与森林效果,由于上文中已经有详细说明,这里就不再赘述。

  • NovodeX

    NovodeX是虚幻引擎3中功能强大的新一代物理引擎,其性能决不输给Havok Physics。NovodeX支持速度、加速度和弹性碰撞等物理概念,并且含有布娃娃系统令人物动作更加逼真。

 
    这是一张“布娃娃”系统效果示意图,我们看到人物和管道的受力情况都非常接近真实生活,就好像是真的有人刚刚用手把它们放在那里一样。
 
 

    以上是UnrealPhAT对人物和车辆的互动式编辑界面,虚幻引擎3对于创造和管理这两种模型有着更加突出的优势,相信这一点我们会在将来的游戏中感受到。

 
 音效编辑器

    复杂而强大的声音仿真效果是NovodeX物理引擎的另一亮点,它不仅能够模拟出音调随着发音物体的速度而变化的多普勒效应(最明显的例子是运动着的火车汽笛声调会变的现象),甚至连同一物体中材质不同的位置也能够发出不同的声音。

  • 基于法线贴图的渲染

    在本站的另一篇文章【纹理压缩的奇妙之旅 漫谈X800的3Dc技术】中,对法线贴图的概念有详细的阐述。

    在新一代的游戏引擎中,为了使物体凹凸效果逼真,大部分物体(尤其是角色模型)的法线贴图都是通过比较高、低多边形数量的两个版本的模型来生成的。虚幻引擎3的角色模型里,高多边形版本的模型(简称高多边形模型)一般都会有几百万个面,拥有丰富的细节;而低多边形模型只有几千个面。真正在游戏中使用的是低多边形的模型。

 高多边形模型

 低多边形模型

 低多边形角色实时光影效果

    在制作法线贴图时,将高多边形模型上每个多边形的法线和低多边形模型对应部位法线相比较,得出的差值再置入法线贴图中。通过把这张法线贴图赋予低多边形模型,并实时计算光照,就可以使得渲染出的低多边形模型的凹凸感与高多边形模型十分接近,达到了游戏画质与性能的非常好的平衡。

    什么游戏能够最先使用万众瞩目的虚幻引擎3?答案自然是《虚幻锦标赛》的下一部作品UT2007。从命名上我们也能够感受到开发者征服新一代游戏领域的“野心”,他们能否如愿呢?看看下面的这些截图吧:

 
 
 
 
 
 
 

    通过这些官方发布的截图我们不难发现,树木、人物以及车辆确实是虚幻引擎3非常“擅长”的几个方面。不过至于他们的实际光影效果以及物理引擎的性能如何,还要等到游戏发布的那一天才能知道了。

    从命名上面我们就可以断定,“真实引擎”(Reality Engine)是针对虚幻引擎而来的产品。由于这款引擎的开发商Artificial属于名不见经传的公司,因此这样的命名很显然有些噱头的味道。

 
 点击放大

    从官方公布的真实引擎与其他最新游戏引擎的规格对比来看,他们的产品在技术方面是走在尖端的,不过“纸上谈兵”并没有太大意义,最重要的还是让我们来看看这款“真实引擎”的实际效果:

    从这些游戏和Demo的截图来看,真实引擎的渲染已经达到了非常好的效果,尤其是易拉罐和火光照射的金属表面给人留下了比较深刻的印象。但这些画面距离虚幻引擎3和Doom3还是有些差距的,真实引擎的画面效果明显不够精细和“大气”。目前XBOX 360平台已经有《梦都》、《抢劫令》、《报偿》以及《梦想家》等几款游戏将基于真实引擎开发,希望它们的效果能给玩家一个惊喜。

    游戏效果的不断提升同时也是在督促着硬件的升级换代。随着着虚幻引擎3等超级大作的登台,我们将要用什么样的硬件去面对它们呢?以下是一些趋势性的前瞻:

  • 物理引擎 vs PPU(物理处理单元)

 华硕基于AGEIA PhysX PPU的扩展卡,预计今年第四季度上市

    说起CPU和GPU大家一定并不陌生,而提起PPU也许就不是每个人都知道了。PPU是“Physics Processing Unit”的缩写,直译就是“物理处理单元”。就像当年GPU从CPU手中接过图形处理的相关工作一样,如今AGEIA发布的世界上第一款PPU:PhysX也要引领一场革命,那就是将物理引擎的运算从CPU之中分离出来。

 PPU的一个互动式Demo,液体倾泻到一辆汽车上面的超真实效果

    对于如今愈发真实的3D游戏来说,物理引擎的设计越来越复杂,运算量也在不断提高。PPU的诞生无疑为物理引擎的成长提供了坚实的后盾,同时我们大概也可以将其理解为流水线生产方式的应用。

  • 光照效果 vs SLI显示卡
 

    对于游戏中的动态光影等渲染技术为游戏带来了前所未有的真实感,但是它们对于显示卡的性能要求也是越来越苛刻了。因此随着运算量的不断增大,显示卡也必然要走上多核心之路,SLI也许要在不就的将来大行其道了。

  • 巨量浮点运算 vs 双核心CPU/64-bit CPU

    在与3D相关的计算中,浮点运算占据着最重要的地位。而随着新一代3D游戏中物体多边形数量的不断增加,CPU的负担也将达到前所未有的水平。因此下一代CPU必然要向着64-bit与双核心的方向发展,才能满足日益提高的游戏效果需求。<

0人已赞

关注我们

泡泡网

手机扫码关注