BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / pc-game / #2910同步于 3 天前
PCGame机器人发帖

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

LiPb
3 天前镜像同步0 回复
当游戏进入3D时代之后,“引擎”这个概念越来越多的进入了我们的视野。游戏引擎其实可以比作赛车引擎,它把游戏中的各种元素捆绑在一起,在后台指挥它们同步、有序地工作,不同游戏引擎就像不同的赛车引擎一样,会给玩家和驾车者以不一样的感受。 在3D引擎的发展史中,为我们留下深刻印象的作品有很多。例如Quake 3引擎以其优秀的物理性能和出色的稳定性造就了一代经典,甚至为FPS游戏开创了一个新的玩法:Defrag。玩家通过借助武器爆炸的冲力可以在空中自由的飞翔,那种感觉就像驾驶着法拉利跑车在路上自由的飞奔。 随着硬件性能的不断提高,游戏性能也有了更加广阔的发展空间。处于“灵魂”地位的游戏引擎自然也在大跨步的前进,今天我们就来领略一些前卫的游戏引擎技术的风采,同时展望一下与其相对应的硬件将如何发展。 神奇的SpeedTree 我只管“种树” 说到SpeedTree之前小编想闲扯两句。我们都知道在工业生产领域,流水线工作方式的出现带来了效率的极大提升。比如枪械的制造,在最早期的时候由工匠独自一人完成整个产品,不仅效率底下而且一部分坏掉之后往往整个都要报废。后来出现流水线方式的生产后,每个人只需各司其职将自己的零部件按照规格做好,最终就可以装配成一个完整的产品。这样做不仅工人的熟练程度和工作效率可以大大提高,同时也可以把细节做得更加精益求精。 如今在游戏制作领域也渐渐出现了类似的情况。大家玩3D游戏的时候一定都很注意游戏所营造的效果,而衡量的标准又是什么呢?大多数人一定都会注意这几个方面:树木、水、光照以及人物等等。 的确,树木、水、光照以及人物都是3D游戏效果制作的重中之重,如果这些方面都做好了,这款游戏的效果必然就不会差。但这就有点类似刚刚提到造枪的例子,仅靠一己之力要想把这些都做好并不容易,必然要投入大量的人力物力和时间为代价。 也许是受到传统工业流水线的启发,3D引擎方面也逐渐出现了单独专注于某个领域的产品,例如我现在要讲的SpeedTree就是这样的一款引擎。顾名思义,SpeedTree是专门负责在游戏中“栽种”树木的程序,它不仅能够营造出非常真实的树木和森林效果,而且可以作为“零件”方便的嵌入到其他渲染引擎当中,为任何一款游戏带去优秀的画面。 以上是SpeedTree在虚幻引擎3中发挥的“巨大威力”,我们看到SpeedTree所制造出的树木和森林达到了非常高的仿真度。配合上虚幻引擎3优秀的光照效果,所营造出来的逼真画面令人叹为观止。 也许有人担心实现这样逼真的效果岂不是非常的困难?不必害怕,SpeedTree有非常成熟的CAD开发界面,这令游戏制作人员省去了大量的时间和精力去做底层开发,只需轻点鼠标就能够在非常短的时间里营造出一片逼真的绿色世界。 SpeedTree还拥有很多特效以及优化技术。开发者只需要输入环境中的风速和风向等自然条件,SpeedTree就可以让树木实时生成绝对逼真的摆动效果。在优化方面,上面的示意图说明了在极远处的树木,我们只需要2个多边形加上雾化就足够真实了,而随着距离的拉近,SpeedTree动态将树木的多边形数量调整到了1126个,最大程度上达到了性能和视觉效果的平衡。此外,SpeedTree引擎还能够优化程序代码,在运行期间调整CPU与GPU之间的工作量分配,让系统资源发挥出最大的效率。 以上是SpeedTree的开发流程,开发人员可以使用SpeedTreeCAD进行树木建模,然后导入到3DSMax、Maya等开发环境中去加工细节和阴影等特效,最后将其作为资源交给引擎去处理。而SpeedTree之需要一层类似中间件的环境就可以嵌入第三方的渲染引擎当中去。 物理引擎 让半条命的世界更真实 说起Havok可能不少玩家觉得陌生,但如果提到《半条命2》相信就没有人不知道了。Havok正是为半条命2提供物理引擎的公司,他们的Havok Physics物理引擎已经发展到了第三代,成为诸多游戏首选的物理引擎系统。 对于如今的3D游戏来说,画面效果并不能代表游戏的全部,物理引擎所扮演的地位已经日趋重要。所谓物理引擎就是负责计算场景里面物体之间互相作用效果的程序,物理引擎越完美,游戏就越显得接近真实。 玩过《半条命2》的朋友们一定记得,很多关卡都需要玩家用一些小的“手腕”来通过。比如将重物放在指定地点来触动机关的开启等,而这些简直就是游戏在对其超强的物理引擎进行炫耀。 例如游戏开始不久就有个保安要求你把地上的一个罐子捡起来放到垃圾箱里面,你完成这个“任务”之后才能通过他把守的通道。 除了物体之间的相互作用之外,Havok Physics引擎还包含了类似“布娃娃”人体模型系统,专门负责让游戏中的人物动作更加真实。这套系统最大特点是能将人体按照现实情况分为很多相对独立并互相关联的部分,例如人物的手腕受力之后,力量会通过关节传递到小臂甚至大臂上面,使游戏中的人体模型不再是一个“大木桶”。 Havok Physics引擎让其中的人体可以根据不同的受力摆出这种姿势,而且完全和周围的地形环境结合在一起,这种真实感是早期的3D游戏根本达不到的。 虚幻引擎3 集诸多优势之大成 在刚刚过去的E3大展上面,虚幻引擎3无疑最引人注目的焦点之一。这是一个集合了多项优秀引擎和技术为一体的“超级引擎”,它使用上文中提到的SpeedTree对树木进行处理,并且集成了NovodeX物理引擎,还为游戏开发者提供了可视化交互式开发环境UnrealEd(Unreal Editor)。 SpeedTree SpeedTree为虚幻引擎3带来了无比真实的树木与森林效果,由于上文中已经有详细说明,这里就不再赘述。 NovodeX NovodeX是虚幻引擎3中功能强大的新一代物理引擎,其性能决不输给Havok Physics。NovodeX支持速度、加速度和弹性碰撞等物理概念,并且含有布娃娃系统令人物动作更加逼真。 复杂而强大的声音仿真效果是NovodeX物理引擎的另一亮点,它不仅能够模拟出音调随着发音物体的速度而变化的多普勒效应(最明显的例子是运动着的火车汽笛声调会变的现象),甚至连同一物体中材质不同的位置也能够发出不同的声音。 基于法线贴图的渲染 在新一代的游戏引擎中,为了使物体凹凸效果逼真,大部分物体(尤其是角色模型)的法线贴图都是通过比较高、低多边形数量的两个版本的模型来生成的。虚幻引擎3的角色模型里,高多边形版本的模型(简称高多边形模型)一般都会有几百万个面,拥有丰富的细节;而低多边形模型只有几千个面。真正在游戏中使用的是低多边形的模型。 在制作法线贴图时,将高多边形模型上每个多边形的法线和低多边形模型对应部位法线相比较,得出的差值再置入法线贴图中。通过把这张法线贴图赋予低多边形模型,并实时计算光照,就可以使得渲染出的低多边形模型的凹凸感与高多边形模型十分接近,达到了游戏画质与性能的最佳平衡。 真实引擎 明显针对虚幻引擎而来 从命名上面我们就可以断定,“真实引擎”(Reality Engine)是针对虚幻引擎而来的产品。由于这款引擎的开发商Artificial属于名不见经传的公司,因此这样的命名很显然有些噱头的味道。 真实引擎的渲染已经达到了非常好的效果,尤其是易拉罐和火光照射的金属表面给人留下了比较深刻的印象。但这些画面距离虚幻引擎3和Doom3还是有些差距的,真实引擎的画面效果明显不够精细和“大气”。目前XBOX 360平台已经有《梦都》、《抢劫令》、《报偿》以及《梦想家》等几款游戏将基于真实引擎开发,希望它们的效果能给玩家一个惊喜。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。