3D游戏引擎是个什么玩意
泡泡网显卡频道5月23日 在某游戏中的一个场景中,玩家控制的角色躲藏在屋子里,敌人正在屋子外面搜索玩家。突然,玩家控制的是一个穿迷彩服的士兵,突然碰倒了桌子上的一个杯子,杯子坠地发出破碎声,敌人在听到屋子里的声音之后聚集到玩家所在位置,玩家开枪射击敌人,子弹引爆了周围的易燃物,产生爆炸效果。在这个简单而常见的过程中,游戏引擎便在后台起着作用,控制着游戏中的一举一动。
把这个过程用专业们的语言分解一下就会变成这样:首先出场的是可以行动的士兵,也就是人物模型。模型由引擎中的动画系统赋予运动能力,游戏中角色能做出什么动作便取决于动画系统有多强大。人物的真实程度则取决于3D模型渲染引擎的能力,这也是游戏引擎最重要的功能之一,游戏的画质高低便由它来决定。之后,士兵碰倒了杯子,这个过程涉及到引擎的碰撞检测,它可以决定不同的物体在接触的时候会产生什么样的结果,有的游戏能穿墙有的则不能便是不同的碰撞检测控制的。例子中设定的是把杯子碰倒了,杯子发出了破碎声。在发生某种动作的同时发出相应的声音则属于引擎中的音效处理了。杯子破碎的声音吸引了敌人的注意,这是引擎中的AI智能运算在起作用,最后双方交火引发爆炸,爆炸产生的烟雾、爆炸物飞散则是引擎中的物理效果在起作用了。
一些游戏中常见的场景都是引擎在后台起着作用
可以说,游戏引擎虽然有着“动力(Engine)”之名,但是其实际上却是行“大脑(brain)”之实,指挥控制着游戏中各种资源。游戏引擎的准确定义也是如此,“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”通常来讲,游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
曾经有一段时期,游戏开发者关心的只是如何尽量多地开发出新的游戏并把它们推销给玩家。十几年前的游戏都很简单,容量大小都是以M计,但每款游戏的平均开发周期也要达到8到10个月以上,这一方面是由于技术的原因,另一方面则是因为几乎每款游戏都要从头编写代码,造成了大量的重复劳动。
渐渐地,一些有经验的开发者摸索出了一条偷懒的方法,他们借用上一款类似题材的游戏中的部分代码作为新游戏的基本框架,以节省开发时间和开发费用。根据老马的生产力学说,单位产品的成本因生产力水平的提高而降低,自动化程度较高的手工业者最终将把那些生产力低下的手工业者淘汰出局,引擎的概念就是在这种机器化作业的背景下诞生的。
引擎的诞生(1992年~1993年)
德军司令部的纵深空间让人眼前一亮
1992年,3D Realms公司/Apogee公司发布了一款只有2兆多的小游戏——《德军司令部》(Wolfenstein 3D),稍有资历的玩家可能都还记得初接触它时的兴奋心情,用“革命”这一极富煽动色彩的词语也无法形容出它在整个电脑游戏发展史上占据的重要地位。这部游戏开创了第一人称射击游戏的先河,更重要的是,它在X轴和Y轴的基础上增加了一根Z轴,在由宽度和高度构成的平面上增加了一个向前向后的纵深空间,这根Z轴对那些看惯了2D游戏的玩家造成的巨大冲击可想而知。
3D引擎之父——约翰·卡马克
Wolfenstein 3D引擎的作者是大名鼎鼎的约翰·卡马克,这位id Software公司的首席程序师正是凭借这款Wolfenstein 3D引擎在游戏圈里站稳了脚跟。
游戏引擎出现之后,也在另一方面促进着游戏开发。随着显卡性能越来越强,游戏的画质越来越高,游戏开发周期也越来越长,通常都会达到3到5年,自行开发游戏引擎的话时间还会更长,所以大多数游戏公司还是选择购买现成的游戏引擎,简化游戏的开发过程。
那么,实际的游戏开发过程中,游戏引擎是如何把游戏与显卡连接在一起的,游戏中的各种特效是如何调用显卡来实现的?这个问题如果要回答的很专业,恐怕不在笔者知识范围之内了,不过我们可以用很简单的方法来说解释一下。显卡是游戏的物理基础,所有游戏效果都需要一款性能足够的显卡才能实现,在显卡之上是各种图形API,目前主流的是DirectX和OpenGL,我们所说的DX10、DX9就是这种规范,而游戏引擎则是建立在这种API基础之上,控制着游戏中的各个组件以实现不同的效果。
在引擎之上,则是引擎开发商提供给游戏开发商的SDK开发套件,这样游戏厂商的程序员和美工就可以利用现成的SDK为自家的游戏加如自家建立的模型、动画以及画面效果,而最终的成品则是各种游戏。
什么是引擎?引擎在游戏中究竟起着什么样的作用?它的进化对于游戏的发展产生了哪些影响?
我们可以把游戏的引擎比作赛车的引擎,大家知道,引擎是赛车的心脏,决定着赛车的性能和稳定性,赛车的速度、操纵感这些直接与车手相关的指标都是建立在引擎的基础上的。游戏也是如此,玩家所体验到的剧情、关卡、美工、音乐、操作等内容都是由游戏的引擎直接控制的,它扮演着中场发动机的角色,把游戏中的所有元素捆绑在一起,在后台指挥它们同时、有序地工作。简单地说,引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等。”目前的引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。
【光影效果】
所谓光影效果,即场景中的光源对处于其中的人和物的影响方式。游戏的光影效果完全是由引擎控制的,折射、反射等基本的光学原理以及动态光源、彩色光源等高级效果都是通过引擎的不同编程技术实现的。
【动画】
目前游戏所采用的动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方便动画师为角色设计丰富的动作造型。
【物理】
引擎的另一重要功能是提供物理系统,这可以使物体的运动遵循固定的规律,例如,当角色跳起的时候,系统内定的重力值将决定他能跳多高,以及他下落的速度有多快,子弹的飞行轨迹、车辆的颠簸方式也都是由物理系统决定的。
碰撞探测是物理系统的核心部分,它可以探测游戏中各物体的物理边缘。当两个3D物体撞在一起的时候,这种技术可以防止它们相互穿过,这就确保了当你撞在墙上的时候,不会穿墙而过,也不会把墙撞倒,因为碰撞探测会根据你和墙之间的特性确定两者的位置和相互的作用关系。
【渲染】
渲染无疑是引擎最重要的功能之一,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。
【桥接沟通】
引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理来自键盘、鼠标、摇杆和其它外设的信号。如果游戏支持联网特性的话,网络代码也会被集成在引擎中,用于管理客户端与服务器之间的通信。
通过上面这些的介绍我们至少可以了解到一点:引擎相当于游戏的框架,框架打好后,关卡设计师、建模师、动画师只要往里填充内容就可以了。因此,在3D游戏的开发过程中,引擎的制作往往会占用非常多的时间,正是出于节约成本、缩短周期和降低风险这三方面的考虑,越来越多的开发者倾向于使用第三方的现成引擎制作自己的游戏。
每一款游戏都有自己的引擎,但真正能获得他人认可并成为标准的引擎并不多。纵观十多年的发展历程,我们可以看出引擎最大的驱动力来自于3D游戏,尤其是3D射击游戏。尽管像Infinity这样的2D引擎也有着相当久远的历史,从《博德之门》(Baldur’s Gate)系列到《异域镇魂曲》(Planescape:Torment)、《冰风谷》系列(Icewind Dale),但它的应用范围毕竟局限于“龙与地下城”风格的角色扮演游戏,包括颇受期待的《无冬之夜》(Neverwinter Nights)所使用的Aurora引擎,它们都有着十分特殊的使用目的,很难对整个引擎技术的发展起到推动作用,这也是为什么体育模拟游戏、飞行模拟游戏和即时策略游戏的引擎很少进入授权市场的原因,开发者即便使用第三方引擎也很难获得理想的效果,采用《帝国时代2》(Age of Empires 2)引擎制作的《星球大战:银河战场》(Star Wars:Galactic Battleground)就是一个最好的例子。
Age of Empires 2
Star Wars:Galactic Battleground
因此,下面对引擎的历史回顾将主要围绕动作射击游戏的变迁展开,动作射击游戏同3D引擎之间的关系相当于一对孪生兄弟,它们一同诞生,一同成长,互相为对方提供着发展的动力。
没有实力相当的竞争者,任何市场都无法发展起来的。1998年正当Quake II独霸整个引擎市场的时候,Epic Megagames公司(即现在的Epic游戏公司)的研发FPS游戏《虚幻》(Unreal)问世了。毫不夸张,第一次运行这款游戏的时候,我的确被眼前的画面惊呆了,尽管当时只是在300x200的分辨率下运行的这款游戏(四大悲事之一:玩游戏机器不够劲)。除了精致的建筑物外,游戏中的许多特效即便在今天看来依然很出色,荡漾的水波,美丽的天空,庞大的关卡,逼真的火焰、烟雾和力场等效果。从单纯的画面效果来看,《虚幻》是当之无愧的佼佼者,其震撼力完全可以与人们第一次见到《德军司令部》时的感受相比。
Unreal和德军总部相比,画面非常惊艳
EPIC GAMES凭借《Unreal》的出色表现名声大噪,两年之内就有18款游戏与Epic公司签订了许可协议,这还不包括Epic公司自己开发的《虚幻》资料片《重返纳帕利》,其中比较近的几部作品如第三人称动作游戏《北欧神符》(Rune)、角色扮演游戏《杀出重围》(Deus Ex)以及永不上市的第一人称射击游戏《永远的毁灭公爵》(Duke Nukem Forever),这些游戏都曾经或将要获得不少好评。
【引擎的其他应用】
Unreal引擎的应用范围不限于游戏制作,还涵盖了教育、建筑等其它领域。Digital Design公司曾与联合国教科文组织的世界文化遗产分部合作采用Unreal引擎制作过巴黎圣母院的内部虚拟演示;Zen Tao公司采用Unreal引擎为空手道选手制作过武术训练软件;另一家软件开发商Vito Miliano公司也采用Unreal引擎开发了一套名为“Unrealty”的建筑设计软件,用于房地产的演示。
虚幻引擎所打造的世界是如此真实,以致于连电影也借力于它。大导演史蒂芬·斯皮尔伯格在拍摄《A.I.人工智能》的过程中,曾为了如何放置镜头角度而头痛不已,而为了能拍摄Rouge City(电影内的科幻都市)的全面貌,于是便采用上Unreal引擎。
【引擎发展的春天】
从2000年开始3D引擎朝着两个不同的方向分化,一是如《半条命》、《神偷》和《杀出重围》那样通过融入更多的叙事成分和角色扮演成分以及加强游戏的人工智能来提高游戏的可玩性,二是朝着纯粹的网络模式发展,在这一方面,id Software公司抢得先机,他们意识到与人斗才是其乐无穷,于是在Quake II出色的图像引擎的基础上加入更多的网络成分,破天荒推出了一款完全没有单人过关模式的纯粹的网络游戏——《雷神之锤3竞技场》(Quake III Arena),它与Epic公司稍后推出的《虚幻竞技场》(Unreal Tournament)一同成为引擎发展史上的一个转折点。
Quake III Arena
Unreal Tournament
Epic公司的《虚幻竞技场》虽然比《雷神之锤3竞技场》落后了一步,但如果仔细比较一下的话,你就会发现它的表现要略高出后者一筹。从画面方面看两者差不多打成平手,但在联网模式上,它不仅提供有死亡竞赛模式,还提供有团队合作等多种激烈火爆的对战模式,而且Unreal Tournament引擎不仅可以应用在动作射击游戏中,还可以为大型多人游戏、即时策略游戏和角色扮演游戏提供强有力的3D支持。Unreal Tournament引擎在许可业务方面的表现也超过了Quake III,迄今为止采用Unreal Tournament引擎制作的游戏大约已经有20多款,其中包括《星际迷航深度空间九:坠落》(Star Trek Deep Space Nine:The Fallen)、《新传说》(New Legend)和《塞拉菲姆》(Seraphim)等。
这款与《雷神之锤2》同时代的引擎经过不断的更新,在游戏市场上叱咤风云很久,在曾经的光辉岁月中,诞生了大量优秀的作品,而下面几款则是值得我们怀念一番的。
《虚幻1》 1998 虚幻引擎1
《时光之轮》 1999 虚幻引擎1
《虚幻:重返故里》 1999 虚幻引擎1
《Deus Ex杀出重围》 2000 虚幻引擎1
《星际迷航外层空间九号: 堕落》 2000 虚幻引擎1
虚幻2再接再厉,从2002年到06年四年之中都不乏大作的加盟,历时多年丝毫没有显出老迈的迹象,非常难得。
《美国陆军》 2002年 虚幻引擎2
《分裂细胞》 2002 虚幻引擎2
《虚幻竞技场2003》 2002 虚幻引擎2
《XIII》 2003 虚幻引擎2
《虚幻2》 2003 虚幻引擎2
《杀出重围:隐形战争》 2003 虚幻引擎2
《彩虹六号3:盾牌行动》 2003 虚幻引擎2
《神偷3:致命阴影》 2004 虚幻引擎2
《虚幻竞技场2004》 2004 虚幻引擎2
《部落:复仇》 2004 虚幻引擎2
《Pariah》 2005 虚幻引擎2
《星球大战:共和国卫队》 2005 虚幻引擎2
《手足兄弟连》 2005年起 虚幻引擎2
《红色交响乐队:东线41-45》 2006 虚幻引擎2
虚幻前两代让EPIC GAMES从一个无名小卒发展成为业界领军,但是在EPIC GAMES开发的多款虚幻引擎中,最为大红大紫的无疑还是虚幻3,从2004年发布起,基于这款游戏引擎诞生了大量经典游戏大作,历经改进,时至今日依然宝刀未老,说它影响了整个FPS游戏的风格亦不为过,在世界游戏引擎发展史上留下了浓墨重彩一笔。
【简单高效的工具】
虚幻3引擎(Unreal Engine 3)是一套为DirectX 9/10 PC、Xbox 360、PlayStation 3平台准备的完整的游戏开发构架,它提供了大量的核心技术阵列和内容编辑工具,适合高端开发团队的基础项目建设。
虚幻3引擎的所有编写观念都是为了更加容易的内容制作和编程的开发。它可以让美术开发人员极少接触程序开发内容,仅仅使用抽象程序助手来自由创建虚拟环境。它提供的智能化的程序模块和面向对象的开发构架无疑可以让创建,测试,和完成各种类型的游戏制作变得更为简单高效。
【细腻的模型】
虚幻3引擎给人留下最深印象的就是其极端细腻的人物和物品模型。通常游戏的人物模型由几百至几千个多边形组成,并在模型上直接进行贴图和渲染等工作从而得到最终的画面。而虚幻3引擎的进步之处就在于在游戏的制作阶段,引擎可以支持制作人员创建一个数百万多边形组成的超精细模型(最上面的模型由200万多边形组成,而下面的模型仅有5287个多边形),并对模型进行细致的渲染,从而得到一张高品质的法线贴图,这张法线贴图中记录了高精度模型的所有光照信息和通道信息。在游戏最终运行的时候,游戏会自动将这张带有全部渲染信息的法线贴图应用到一个低多边形数量(通常在5000-15000多边形)的模型上。这样的效果就是游戏的模型虽然多边形数量比较少但是其渲染精度几乎和数百万多边形的模型一样,这样可以在保证效果的同时在最大程度上节省显卡的计算资源。
【多平台支持】
虚幻引擎核心由C++写成,支持或曾经支持的平台包括Windows、Linux、Mac OS X、Dreamcast、Xbox、Xbox 360、PS2、PS3等。目前最新版的虚幻引擎3支持32bit/64bit Windows XP/Vista和Xbox 360下的DirectX 9,32bit/64bit Windows Vista下的DirectX 10以及32bit/64bit Linux、Mac OS X和PS3下的OpenGL.采用该系列引擎的游戏既包括传统的FPS,也包括潜入式动作游戏、MMORPG、RPG等等多种类型。
使用虚幻系列引擎的游戏已经多达一百多款,可谓枝繁叶茂。虚幻三旗下的大作很多我们更是耳熟能详,让我们一览《虚幻3》六年来的发展历程。
《使命召唤3》(Call of Duty 3) (欧美-Infinity Ward / Activision)(2006)
《帕拉贝伦》(Parabellum)(德国-Acony)(2006)
《彩虹六号:维加斯》(Rainbow Six Vegas)(法国-Ubi Soft Entertainment育碧)(2007)
《生化奇兵》(Bioshock)(欧美-Irrational Games)(2007)《枪神》
(Stranglehold)(欧美-Tiger Hill Entertainment)(2007)
《虚幻竞技场3》(Unreal Tournament 3)(欧美-Epic Games)(2007)
《荣誉勋章:空降神兵》 (Medal of Honor: Airbone) (美国-Electronic Arts艺电)(2007)
《彩虹六号:维加斯2》(Rainbow Six: Vegas 2 )(法国-Ubi Soft Entertainment育碧)(2008)
《前线:战火之源》(Frontlines: Fuel of War)(欧美-THQ / Kaos)(2008)
《恐龙猎人》(Turok) (美国-Acclaim)(2008)
《转折点:自由的陨落》(Turning Point: Fall of Liberty ) (美国-Spark Unlimited)(2008)
《格林童话惊魂记》(American McGee's Grimm)(欧美-GameTap)(2008)
《战火兄弟连:地狱高速》(Brothers in Arms: Hell's Highway) (美国-Gearbox)(2008)
《潘多拉的魔盒》(Legendary) (美国-Microsoft微软)(2008)
《镜之边缘》(Mirror's Edge) (美国艺电旗下公司-瑞典-EA DICE)(2008)
《质量效应》(Mass Effect)(加拿大-BioWare) (2008)
《阿尔戈英雄的崛起》( Rise of the Argonauts )(2008)
《战争机器2》(Gears of War2)(欧美-Epic Games)(2008)
《美国陆军3》(America's Army3) (美国-America's Army国家陆军部队)(2008)
《致命车手》(Wheelman) (欧美-Tigon)(2009)
《终结战争》(Tom Clancy's EndWar) (法国-Ubi Soft Entertainment育碧)(2009)
《最后的神迹》(The Last Remnants) (欧美-Square-Enix)(2009)
《边境之地》(Borderlands )(美国-GearBox Software)(2009)
《诅咒》(Damnation)(欧美-Blue Omega)(2009)
《异形:殖民军》(Aliens: Colonial Marines) (日本-Sega世嘉)(2009)
《X战警前传:金刚狼》(X-Men Origins: Wolverine) (美国-Raven Studios / Amaze Entertainment)(2009)
《蝙蝠侠:阿卡姆疯人院》(Batman: Arkham Asylum) (美国-Rocksteady Stud)(2009)
《一舞成名》(Star Tales)(中国-麦格特尔)(2009)
《神兵传奇》(中国-久游)(2009)
《战地之王》(Alliance of Valiant Arms) (韩国-Redduck)(2010)
《Hessian》(韩国-GSP)(2010)
《流星蝴蝶剑OL》(Butterfly Sword Online)(中国-久游)(2010)
《聊斋OL》 (中国-798GAME)(2010)
《BERKANIX》(韩国-Sonov)(2010)
《犯罪艺术》(Crime Craft)(欧美-VogsterEntertainment)(2010)
《全球计划》(Global Agenda)(美国-Hi-Rez)(2010)
《无双OL》(中国-成都逸海情天)(2010)
《Huxley》(中国-Webzen)(待定)
《质量效应2》(Mass effect2)(加拿大-BioWare 美国-EA)(2010)
《阿尔法协议》(Alpha Protocol) (美国-Obsidian)
《永远的毁灭公爵》 ? 虚幻引擎?
福兮祸之所伏,巨大的成功让Epic公司后来的开发重心越来越转向纯引擎方向,此举招来了很多批评,一些人认为Epic滥卖虚幻引擎,低门槛造成采用虚幻引擎的游戏良莠不齐,虽然名作层出不穷,但更多的是一些烂游戏。
自从美国EPIC公司在2003年公布Unreal Engine 3引擎后一鸣惊人,目前UE3引擎已经是全球游戏使用最广泛的一款3D引擎,不过EPIC公司还不会以这点成功而满足,而其他竞争者也带来了相当优秀的引擎,如:Idsoft公司的Tech5、德国CryTek公司的CryEngine2引擎、Valve公司的Source2引擎等。所以目前EPIC公司仍然致力开发最新的3D引擎,除了推出强化版的UE3.5应用到《战争机器2》中,Epic Games要继续昂首向前了,现在他们已经准备要发布下一代产品:虚幻引擎4(Unreal Engine 4)。
虚幻引擎1、2、3、4代画面效果对比(:-D)
据近日EPIC公司总裁Tim Sweeney表示,游戏界在进入DirectX 10时代后有了翻天覆地的变化,原有的3D引擎已经难有突破性进步,事实上EPIC GAMES游戏开发公司早在虚幻三推出伊始就已经开始着手设计开发虚幻4引擎,此新引擎有可能会在2010年完成,届时游戏主机也将步入下一个时代。
外媒在对Epic公司总裁迈克 卡普斯(Mike Capps)进行采访:“虚幻引擎4会跟3代一样垄断游戏产业的中间件吗?时,Mark Rein毫不掩饰野心的反问:“你在开玩笑?4代会比三代更多更好的垄断!”卡普斯对此评论说,你看看现在的次世代主机,完全不值一提。随后他又说道:“不过如果你看看现在个人电脑市场的发展状况,你就会发现次世代已经开始起步了,我认为次世代主机对个人电脑业来说将会是一个转折点,而这一点对技术人员来说也是同样如此,他们将会因此而兴奋不已。”
Epic Games游戏公司CEO总裁Mark Rein说:虚幻引擎4的研发着眼于以后可能会出现的超多核处理器,而且下一代的控制台也可能需要提升质量。他相信这款最新游戏引擎将会比虚幻3引擎“更加占有统治地位”。
Mike Capps没有具体解释所谓大规模多核心的具体含义,不过我们知道,Intel早在2008年就公布了万亿次计算工程,当年还拿出了80核心处理器,去年底还展示了有单芯片计算机之称的48核心处理器。这些超多核心芯片还都是开发原型,要投入实际应用还有很长一段路,也暗合了虚幻引擎4。问题是国外知名游戏厂商都在说:“下一代主机哪里可以买到呢?”
有位外国记者探访了开发公司的办公室,在桌子上有一张布满了奇怪符号的纸,而这些极有可能就是虚幻引擎4的的方程式。
Epic的主席Mike Capps在东京电玩展2009上宣布,Epic正在建设东京分公司,该分公司将专注于虚幻引擎在日本地区的销售以及技术支持,未来还将加入游戏开发的工作。
虚幻引擎4将针对用于新世代平台,也就是微软XBOX360与索尼PS3的后继机。如果任天堂的新主机能达到类似的硬件规格的话也将会使用,PC平台将跟随其后。
总结:
最后需要指出的是,许多优秀的游戏开发者正在退出游戏开发市场,转而进入引擎授权市场,仅靠开发引擎吃饭,这是个危险的信号。尽管引擎的不断进化使游戏的技术含量越来越高,但最终决定一款游戏是否优秀的因素在于使用技术的人而不是技术本身。
如前所述,引擎相当于游戏的框架,框架打好后,你只需往里填充内容即可,在这里,框架只是提供了一种可能性,游戏的精彩与否取决于内容如何而非框架如何。3D游戏发展到今天,画面已经接近了照片级水平,但是很多玩家却再也找不回当年玩像素游戏时那种激动的感觉。正如《无人永生》开发小组所说:“游戏所有问题最终都会归结为一点——你的游戏是否好玩。”
【渲染效果】
◎ 64位色高精度动态渲染管道。
Gamma校正和线性颜色空间渲染器提供了完美的颜色精度,同时支持了各种后期特效例如光晕,镜头光环和景深等效果。
在最新的一代显示芯片发布的过程中,我们注意到了一个非常明显的特点,就是新一代的显示芯片已经不再满足于传统的32位色深,转而需要更加高精度的颜色范围,这一点在NV40和R420身上都能非常明显的看出来。在NV40上,这种技术被称为HPDR技术,而在R420身上,这种技术也有所体现。
◎ 支持当前所有的基于像素的光照和渲染技术,包括使用法线贴图技术的参数化的Phong光照;虚拟位移贴图;光线衰减函数;采用预计算的阴影遮罩技术以及使用球形harmonic贴图的预计算的凹凸自阴影
◎ 高级的动态阴影。
虚幻引擎3提供对下列3种阴影技术的完全支持:
· 采用动态模板缓冲的阴影体积技术,能够完整支持动态光源,这样就能在场景中所有物体上精确地投射阴影。
· 能够让动态的角色在场景中投射出动态的、柔和的模糊阴影,这个过程是通过使用16X超级取样的阴影缓冲实现的
· 采用了拥有极高质量和极高性能的预先计算出的阴影遮罩,从而可以将静态光源的交互现象离线处理,同时保留了完整的动态高光和反射效果。
◎ 所有支持的阴影技术都是可视化的,并且可以按照美工的意愿自由混合。另外,同时可以与有颜色的衰减函数结合,从而实现具有合适阴影的平行光、聚光灯效果,以及投射光效果
角色能够在虚幻引擎3中使用阴影技术产生动态的软阴影
◎ 强大的材质系统,使得美工可以在实时图形化界面中建立任意复杂的实时Shader,而这个界面的友好度可与Maya的非实时Shader图形编辑界面媲美
◎ 材质框架是模块化的,所以程序员不仅可以加入新的Shader程序,还可以加入能够让美工随意与其他组件连接的Shader组件,从而可以实现Shader代码的动态合成。
◎ 完全支持室内和室外环境的无缝连接,在任何地方都支持的动态每象素光照和阴影。
◎ 美工可以通过一个可动态变形的基本高度图来建立地形,并使用多层混合材质,这其中包括位移贴图,法线贴图和任意复杂的材质,动态的基于LOD的细分,以及植被。
另外,地形系统还支持美工控制的自然效果,如平地上的植被,陡坡上的岩石和山顶上的雪。
◎ 体积环境效果,包括高度雾和物理上精确的距离雾。
◎ 刚体物理系统,支持游戏者和游戏中的物体,布娃娃角色动画以及复杂碰撞等物体交互方式。
布娃娃(Ragdoll)系统,是目前最为流行的一种非常高级的物理引擎,能够付给物体以一定的质量,形状等特性,从而获得非常逼真的力学动态效果。
◎ 所有可渲染的材质都含有物理特性,例如摩擦系数等参数。
在虚幻引擎3提供的编辑工具UnrealEd中,能够对物体的属性进行实时修改
◎ 符合物理原理的声音效果。
◎ 完全整合的基于物理原理的交通工具支持,包括游戏者控制,人工智能和网络。
◎ UnrealEd内建的可视化物理建模工具,支持对于模型和骨骼动画网格的用于优化碰撞检测的图元的建立;约束编辑;在编辑器内可交互的物理模拟和调整。
【动画系统】
◎ 骨骼动画系统;支持每顶点可达4骨骼同时影响的效果以及复杂的骨骼结构。
◎ 动画由一棵动画物体树驱动,包括:
· 混合控制器,进行对嵌套的动画物体之间的多路混合。
· 数据驱动的控制器,封装动作捕捉或手动制作的动画数据。
· 物理控制器,连接到刚体动态引擎,用来实现布娃娃系统的游戏者和NPC动画和对力的物理响应。
· 过程动画控制器,以C++或UnrealScript实现,为了实现一些如使一个NPC的头部和眼睛跟踪一个在关卡中行走的游戏者,或使一个角色根据健康情况和疲劳度作出不同动作等特性。
◎ 为3D Studio Max和Maya制作的导出工具,用于向引擎中导出赋予蒙皮权重的网格,骨骼和动画序列。
【游戏性系统】
◎ 提供了一个支持普通游戏对象(如游戏者,NPC,物品,武器和触发器)的面向对象的游戏框架。
◎ 丰富的多级别AI系统,支持寻路、复杂关卡游历、单独决策和组队AI
· 对如触发器,门和升降机等普通游戏对象敏感的寻路框架,允许复杂的游历设定,使得NPC可以按下开关,打开门,并绕过障碍物。
· 游历框架带有短期战术战斗、掩护和撤退的路线网。
· 基于小队的AI框架,适合第一人称射击、第三人称射击和战术战斗游戏。
◎ AI路径在UnrealEd中可见并可由关卡编辑者编辑,允许自定义和提示
◎ 可见的AI脚本工具,使设计者可以创建复杂的交互性游戏设定,例如游戏者目标,通用的游戏事件触发器和交互式过场动画
◎ UnrealMatinee,一个基于时间线的可视化序列、动画和曲线路径工具。设计者可以使用此工具建立游戏中的过场动画,可以是交互的或非交互的,通过动画序列化、移动包括摄像机在内的对象,控制声音和视觉特效,并触发游戏和AI事件。
UnrealEd中的“Matinee”工具,能够编辑基于时间轴的事件序列
◎ 支持各种平台的输出格式,包含5.1环绕立体声和高品质杜比数码音效。
◎ 3维声源位置设置,多普勒效应。
多普勒效应:是指当发声物体在运动时,声音的音调会随着物体移动速度而改变其高低——声音频率的变化,这个原理也被运用在声卡3D发声原理之中。
◎ 在UnrealEd中的可视化音效工具可以为声音设计者提供对音效的全面的控制,声音强度,顺序,循环,过滤,调制,变调和随机化。声音参数被从代码中分离开,使设计者可以控制所有的与游戏、过场动画和动画序列相关的声音。
◎ 支持所有平台的主要声音格式,包括PCM,ADPCM,游戏机对应的声音压缩格式和Ogg Vorbis。
◎ 支持游戏机上的声音流。
◎ Internet和局域网游戏已经成为Epic的竞赛游戏如Unreal Tournament 2004的一大特征。虚幻引擎长时间以来一直提供灵活的高级网络架构,适合于各种类型的游戏。
◎ Internet和局域网游戏在PC和所有游戏机平台上都被完全支持
Unreal Tournament 2004的游戏中带的服务器浏览器
◎ 虚幻引擎的网络游戏部分编程是高层的和数据驱动的,允许由Unreal脚本代码指定在客户端和服务器之间联系的变量和函数,来保留一个同步的对游戏状态的近似。底层游戏网络传输是基于UDP的并能够将可靠和不可靠传输方式结合,来对游戏感进行优化,即使在低带宽和高延迟的环境下。
◎ 客户端-服务器模式下最多支持64个游戏者同时游戏。同时支持非服务器模式(点对点模式)下的16游戏者同时游戏。
◎ 支持不同平台间的网络互连(例如PC服务器和游戏机客户端;Windows, MacOS和Linux客户端共同进行游戏)。
◎ 所有游戏特性在网络游戏模式下都被支持,包括基于交通工具的多人游戏,带有NPC和机器人的组队竞技,单人模式下的协同游戏等等。支持自动下载,包括跨平台的一致的Unreal脚本代码。这项特性使得从用户自己创建的地图到奖励包,到完整的游戏mod都可以随意获得
全局光照技术“Unreal Lightmass”,可生成高质量的静态照明和带精确半影的软阴影、相互漫射与反射、色彩释放(color bleeding)等下一代技术,同时还有新的分布式计算框架“Swarm”,生成光照的速度可提高最多十倍。
◎ “Unreal Content Browser”(虚幻内容浏览器)基于后端数据库,支持缩略图预览、内容标签、内容收集管理,能让开发人员在海量内容里迅速找到所需资源,不必再逐个手动打开文件查看。
◎ 可扩展统计和数据管理后端“Unreal Master Control Program”(虚幻主控程序),作为一种高可靠性在线服务架构,支持新闻宣布、设定管理、在线玩家追踪,以及硬件、配置、游戏状态数据搜集,并且包含一系列视觉化游戏状态工具,比如玩家活跃性区域热图。
老牌游戏《雷神之锤》的开发商Id Software有这样的传统,在一款游戏引擎产品使用数年后即会向公众开放源代码。现在,虚幻引擎开发商Epic Games也加入了这一行列,宣布开放鼎鼎大名的虚幻引擎3(Unreal Engine 3)。虽然没有公开引擎源代码,但任何游戏开发团队都可以采用这部免费的Unreal引擎Unreal Development Kit(UDK)开发包,开发制作独立的UE3引擎游戏。
2009年11月,游戏开发商EPIC携手NVIDIA联合推出虚幻引擎3免费版(Unreal Development Kit)。此举动为NVIDIA想进一步拓展CUDA通用计算市场影响力,而采取的赞助授权策略。
虚幻引擎3是近几年流行的游戏引擎,基于它开发的大作无数。开发包“UDK”包含完整的虚幻引擎3开发功能,除基本的关卡编辑工具Unreal Editor外,组件还包括:
虚幻引擎3开发包UDK界面
Unreal Content Browser素材浏览器
UnrealScript面向对象编程语言
Unreal Kismet可视化脚本系统
Unreal Matinee电影化场景控制系统
Unreal Cascade粒子物理效果和环境效果编辑器
支持NVIDIA PhysX物理引擎的Unreal PhAT建模工具
Unreal Lightmass光照编辑器
AnimSet Viewer和AnimTree Editor骨骼、肌肉动作模拟
UDK目前仅面向PC游戏,但Epic称他们也在考虑未来开放Xbox 360和PS3游戏的开发功能。授权方面,除商业和教学外使用完全免费,如要将开发出的游戏上市销售则需联络Epic付费授权。
UDK开发包安装程序容量为562MB,未来更新也将免费提供。其最低系统需求为:
? Windows XP SP2或Windows Vista
? 2.0GHz以上处理器
? 2GB内存
? 支持Shader model 3显卡
? 3GB硬盘空间
推荐配置
? Windows Vista 64 SP2
? 2.0GHz以上多核处理器
? 8GB内存
? NVIDIA 8000系列以上显卡
? 大量硬盘空间
延伸阅读链接:
1.虚幻技术官方网站
2.虚幻引擎3开发包UDK官方下载
3.NVIDIA"英伟达"提供的UDK官方下载■