第一篇:游戲引擎發(fā)展史(上)
游戲引擎(Game Engine)是什么?大多數(shù)人給出的解釋都是基于engine的英文翻譯,將游戲引擎等同于汽車中的引擎(發(fā)動機),再好一些的解釋成動力,這些解釋都對,但是動力只說并不全面,不能完整反映出游戲引擎在游戲中的作用與地位。
布加迪威龍之所以強大就是源自其W16發(fā)動機
先舉一個簡單例子,在某游戲中的一個場景中,玩家控制的角色躲藏在屋子里,敵人正在屋子外面搜索玩家。突然,玩家控制的是一個穿迷彩服的士兵,突然碰倒了桌子上的一個杯子,杯子墜地發(fā)出破碎聲,敵人在聽到屋子里的聲音之后聚集到玩家所在位置,玩家開槍射擊敵人,子彈引爆了周圍的易燃物,產(chǎn)生爆炸效果。在這個簡單而常見的過程中,游戲引擎便在后臺起著作用,控制著游戲中的一舉一動。
一些游戲中常見的場景都是引擎在后臺起著作用
把這個過程用專業(yè)們的語言分解一下就會變成這樣:首先出場的是可以行動的士兵,也就是人物模型。模型由引擎中的動畫系統(tǒng)賦予運動能力,游戲中角色能做出什么動作便取決于動畫系統(tǒng)有多強大。人物的真實程度則取決于3D模型渲染引擎的能力,這也是游戲引擎最重要的功能之一,游戲的畫質(zhì)高低便由它來決定。之后,士兵碰倒了杯子,這個過程涉及到引擎的碰撞檢測,它可以決定不同的物體在接觸的時候會產(chǎn)生什么樣的結(jié)果,有的游戲能穿墻有的則不能便是不同的碰撞檢測控制的。例子中設(shè)定的是把杯子碰倒了,杯子發(fā)出了破碎聲。在發(fā)生某種動作的同時發(fā)出相應(yīng)的聲音則屬于引擎中的音效處理了。杯子破碎的聲音吸引了敵人的注意,這是引擎中的AI智能運算在起作用,最后雙方交火引發(fā)爆炸,爆炸產(chǎn)生的煙霧、爆炸物飛散則是引擎中的物理效果在起作用了。
可以說,游戲引擎雖然有著“動力(Engine)”之名,但是其實際上卻是行“大腦(brain)”之實,指揮控制著游戲中各種資源。游戲引擎的準確定義也是如此,“用于控制所有游戲功能的主程序,從計算碰撞、物理系統(tǒng)和物體的相對位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等?!蓖ǔ碇v,游戲引擎包含以下系統(tǒng):渲染引擎(即“渲染器”,含二維圖像引擎和三維圖像引擎)、物理引擎、碰撞檢測系統(tǒng)、音效、腳本引擎、電腦動畫、人工智能、網(wǎng)絡(luò)引擎以及場景管理。(引自wikipedia)[2.游戲引擎與游戲開發(fā)]
十幾年前的游戲都很簡單(以現(xiàn)在的眼光來看),容量大小都是以M計,通常一款游戲的開發(fā)周期在8到10個月左右,最主要的是,每款游戲開發(fā)都需要重頭編寫代碼,期間存在著大量的重復(fù)勞動,耗時耗力。慢慢地,開發(fā)人員總結(jié)出一個規(guī)律,某些游戲總是有些相同的代碼,可以在同題材的游戲中應(yīng)用,這樣就可以大大減少游戲開發(fā)周期和開發(fā)費用,慢慢地這些通用的代碼就形成了引擎的雛形,伴隨著技術(shù)的發(fā)展,最終演變成今天這樣的游戲引擎。
同樣地,游戲引擎出現(xiàn)之后,也在另一方面促進著游戲開發(fā)。隨著顯卡性能越來越強,游戲的畫質(zhì)越來越高,游戲開發(fā)周期也越來越長,通常都會達到3到5年,自行開發(fā)游戲引擎的話時間還會更長,所以大多數(shù)游戲公司還是選擇購買現(xiàn)成的游戲引擎,簡化游戲的開發(fā)過程。
那么,實際的游戲開發(fā)過程中,游戲引擎是如何把游戲與顯卡連接在一起的,游戲中的各種特效是如何調(diào)用顯卡來實現(xiàn)的?這個問題如果要回答的很專業(yè),恐怕不在筆者知識范圍之內(nèi)了,不過我們可以用很簡單的方法來說解釋一下。顯卡是游戲的物理基礎(chǔ),所有游戲效果都需要一款性能足夠的顯卡才能實現(xiàn),在顯卡之上是各種圖形API,目前主流的是DirectX和OpenGL,我們所說的DX10、DX9就是這種規(guī)范,而游戲引擎則是建立在這種API基礎(chǔ)之上,控制著游戲中的各個組件以實現(xiàn)不同的效果。
在引擎之上,則是引擎開發(fā)商提供給游戲開發(fā)商的SDK開發(fā)套件,這樣游戲廠商的程序員和美工就可以利用現(xiàn)成的SDK為自家的游戲加如自家建立的模型、動畫以及畫面效果,而最終的成品則是各種游戲。
整個關(guān)系可用下面的關(guān)系圖來表示。
游戲引擎與GPU的關(guān)系圖
經(jīng)過十多年的發(fā)展,游戲引擎的功能也越來越強大,涌現(xiàn)出一批比較知名的引擎如DOOM/Quake、Unreal虛幻,那么這些引擎的成功之處在哪里呢? [3 什么才是好的游戲引擎]
時至今日,游戲引擎已從早期游戲開發(fā)的附屬變成了今日的當(dāng)家角色,對于一款游戲來說,能實現(xiàn)什么樣的效果,很大程度上取決于使用的引擎由多么強力。如果對什么才是優(yōu)秀的游戲引擎做個判斷,那么優(yōu)秀的游戲引擎一定具有如下優(yōu)點:
1.完整的游戲功能。隨著游戲要求的提高,現(xiàn)在的游戲引擎不再是一個簡單的3D圖形引擎,而是涵蓋3D圖形、音效處理、AI運算、物理碰撞等游戲中的各個組件,組件設(shè)計也應(yīng)該是模塊化的,可以按需購買。以這兩年最成功的虛幻3引擎為例,雖然全部授權(quán)金(不包括售后技術(shù)服務(wù))高達幾十萬甚至上百萬美元,但是可以分別購買相關(guān)組件,降低授權(quán)費用。
2.強大的編輯器和第三方插件。優(yōu)秀的游戲引擎還要具備強大的編輯器,包括場景編輯、模型編輯、動畫編輯等,編輯器的功能越強大,美工人員可發(fā)揮的余地就越大,做出的效果也越多。而插件的存在,使得第三方軟件如3DS Max、Maya可以與引擎對接,無縫實現(xiàn)模型的導(dǎo)入導(dǎo)出。
3.簡潔有效的SDK接口。優(yōu)秀的引擎會把復(fù)雜的圖像算法封裝在模塊內(nèi)部,對外提供的則是簡潔有效的SDK接口,有助于游戲開發(fā)人員迅速上手,這一點就如各種編程語言一樣,越高級的語言越容易使用。
4.其他輔助支持。優(yōu)秀的游戲引擎還提供網(wǎng)絡(luò)、數(shù)據(jù)庫、腳本等功能,這一點對于面向網(wǎng)游的引擎來說更為重要,網(wǎng)游還要考慮服務(wù)器端的狀況,要在保證優(yōu)異畫質(zhì)的同時降低服務(wù)器端的極高壓力。
以上四條對于今天的游戲引擎來說不成問題,當(dāng)我們回頭歷數(shù)過去的游戲引擎,便會發(fā)現(xiàn)這些功能也都是從無到有慢慢發(fā)展起來的,早期的游戲引擎在今天看來已經(jīng)沒有什么優(yōu)勢,但是正是這些先行者推動了今日的發(fā)展。[4.3D游戲引擎始祖―《Wolfenstein 3D》]
談及游戲引擎,有一家游戲公司最應(yīng)該被提起,也有一個人最不應(yīng)該忘記,那就是ID software和它的創(chuàng)始人之一約翰?卡馬克(John D.Carmack)。據(jù)說這家公司僅有13名固定員工,而且停車場也只停13輛法拉利跑車,從這一八卦中可以看出大家都很關(guān)注這家公司是如何的盛產(chǎn)富翁,但是這群狂人開發(fā)的游戲技術(shù)更為傲人。
1990年,卡馬克和id的另一巨頭羅梅洛制作了一款小游戲《Commander Keen》(《指揮官基恩》),在PC機上首次實現(xiàn)了卷軸類游戲背景的流暢效果,后來他們又花了一個晚上的時間把當(dāng)時的街機游戲《超級瑪麗》移植到PC機上,實現(xiàn)了流暢的橫板效果。他們把PC版《超級瑪麗》發(fā)給任天堂,希望借此吸引任天堂的興趣。當(dāng)然,任天堂也確實很有興趣,夸獎了他們幾句,不過并無下文(大人物未成名之前總是被另一個大人物無視)。1991年,卡馬克和羅梅洛成立了ID Software,開始自主創(chuàng)業(yè)。
后面的事就很簡單了,憑借著過人的技術(shù)和狂熱的信念,id公司創(chuàng)造了一個又一個技術(shù)巔峰。沒多久,他們推出了《Wolfenstein 3D》(德軍總部3D)。這款游戲的畫面在現(xiàn)在看來不值一提,但是卻是3D射擊游戲之祖,卡馬克也因此獲得了“FPS游戲之父”的稱號。
《重返德軍總部3D》成了游戲引擎的始祖
作為最早的3D游戲引擎之一,《Wolfenstein 3D》(德軍總部3D)使用了一種射線追蹤技術(shù)來渲染游戲內(nèi)的物體(嚴格來說,《Wolfenstein 3D》還是一種偽3D)。游戲中每個像素會發(fā)射一道光束,如果這道光束碰到了障礙物形成反射,游戲就會按照設(shè)定好的程序在障礙物的相應(yīng)位置創(chuàng)建單維深度緩存(dimensional depth buffer),建立紋理圖像。
《Wolfenstein 3D》開創(chuàng)了3D射擊游戲時代,其獨創(chuàng)性的3D技術(shù)也為其他游戲所采用,Blake Stone,Corridor 7,Operation Body Count、Super Noah's Ark 3D(超級諾亞方舟3D)、Rise of the Triad(算是《Wolfenstein 3D》的續(xù)作,增加了跳躍和低頭抬頭等動作),還有一直未發(fā)售的 Hellraiser(養(yǎng)鬼吃人)等游戲都沿用了卡馬克這一技術(shù)。[5.《DOOM》問世―Id系列引擎之Id Tech 1 ]
注:Id公司為自家的引擎技術(shù)劃代為Id Tech,DOOM引擎正是Id Tech 1,后文都將按照這個序列來寫。
《Wolfenstein 3D》只是ID小試身手,1993年ID公司推出的DOOM(毀滅戰(zhàn)士)游戲引擎才是引擎技術(shù)的代表。DOOM引擎改善了《Wolfenstein 3D》引擎中的一些缺陷,如所有房間的高度都是相同的,所有墻壁都是垂直的,運動也只能直線前進或后退等,并且加入了許多新效果。
在DOOM中,角色與游戲中的物品的互動性進一步增強,樓梯、樓梯上的花朵以及路橋已經(jīng)可升可降。游戲中的光照效果也不再單一,不同的單位也有了不同的亮度,此外DOOM引擎還支持立體聲音效,環(huán)境的定位感更真實。這些效果在3D顯卡都沒有問世的1993年毫無疑問是非常激動人心的進步。
DOMM一代的畫面
憑借自身的過人之處,DOOM獲得了350萬的銷量,為ID公司帶來了滾滾財源。更重要的是,DOOM成了ID公司第一款用于商業(yè)授權(quán)的引擎,從DOOM開始,游戲公司又多了一條創(chuàng)收之路。當(dāng)時使用過DOOM引擎的游戲主要有:Raven公司的《ShadowCaster》(投影者)、《Heretic》(1994)、《Hexen》(1995)、Rogue Entertainment公司的《Strife》、《HacX》(免費)以及美國 Marine 公司的《Marine Doom》等等。這些游戲全都使用了DOOM引擎,其中Raven公司于ID公司的合作最為緊密,出品的三款DOOM引擎游戲也較為知名。
DOOM發(fā)售一年之后,ID又推出了DOOM系列的第二部作品《DOOM:Hell on Earth》。憑借id的號召和一代的影響力,DOOM II獲得了94年度的最佳原創(chuàng)幻想/科幻電腦游戲大獎,在銷量和口碑上再創(chuàng)新高。
不過,從技術(shù)角度來講,DOOM II上并沒有什么創(chuàng)新之處,使用的DOOM,也沒帶來新穎的圖形技術(shù),就連游戲中的怪物和武器也沒有新增多少。雖然id公司在1995年發(fā)布了一款擴展包《Master Levels for Doom II》,但是人們還是更期待《DOOM III》,只是這個期待要很長時間,《DOOM III》在10年后的2004年才正式發(fā)布。
[6.雷神問世―ID系列引擎之《Quake》 ]
就在DOOM系列熱火朝天的時候,Id公司又于1996年發(fā)售了另一款新型游戲《Quake》,相比《DOOM》使用的將擁有高度信息的二維地圖渲染成3D圖像的偽3D引擎,Quake引擎是實實在在的3D引擎。
真正3D模式的Quake引擎
Quake引擎是當(dāng)時第一款完全支持多邊形模型、動畫和粒子特效的引擎,而在技術(shù)之外,《Quake》的游戲操控方式也樹立了FPS游戲的標準。游戲采用流動控制方案(fluid control scheme),它使用鼠標來觀看/瞄準/定向以及用鍵盤前進/后退/側(cè)移,這也成了FPS游戲最普遍的操控模式,直到今日仍沒有變化。
Quake的出現(xiàn)為FPS游戲建立了經(jīng)典的操控方式
使用《Quake》引擎的主要是Id自己的《Quake》和《Quake World》系列、《HeXen II》(異教徒)、MageSlayer、Nexuiz(鏖戰(zhàn)廢土)、Day of Defeat(勝利之日),還有大名鼎鼎的《Half life:》(半條命)以及《Half life》擴展出來的《反恐精英》。
大名鼎鼎的CS使用的便是Quake引擎 [7.多彩光影效果―ID公司系列引擎之Id Tech2 ]
90年代的Id公司相當(dāng)勤奮,幾乎是每年推出一部新游戲,而且每次都能或多或少地帶給人們不少驚喜?!禥uake》一年之后,Id又發(fā)售了《Quake II》,采用的引擎也升級為Id Tech2。
《Quake II》
1997年的時候,當(dāng)時3D加速卡(顯卡那是都叫3D加速卡)已經(jīng)興起,《Quake II》引擎已經(jīng)支持硬件3D加速,當(dāng)時較為知名的3D API是OpenGL,《Quake》也因此重點優(yōu)化了OpenGL性能,這也奠定了Id公司系列游戲多為OpenGL渲染的基礎(chǔ)。
《Quake II》首次實現(xiàn)了彩色光影效果
Id Tech2引擎添加了256色材質(zhì)貼圖,首次實現(xiàn)了彩色光影效果,使得游戲中的物體在反射光影時候能展現(xiàn)出不同樣的色彩效果,另外一個技術(shù)特性則是通過支持DLL(dynamic-link libraries,動態(tài)鏈接庫)文件實現(xiàn)了對軟件渲染和OpenGL渲染的支持。
基于Id Tech2引擎的游戲有《Quake II》、《Anachronox》(時空傳奇)、《大刀》(Id另一強人羅梅洛離開Id之后開發(fā)的游戲)、《Soldier of Fortune》(命運戰(zhàn)士)、《半條命》(Quake和Quake II的代碼都有)。
《大刀》是羅梅洛離開Id之后使用《Quake II》引擎制作的一款游戲
[8.3D加速卡時代來臨―ID系列引擎之Id Tech3 ]
1999年,Id又發(fā)布了《Quake III:Arena》,這是《Quake》系列的第三步,也標志著Id的引擎技術(shù)到了Id Tech3時代。在這一時代,Id Tec3已經(jīng)不再支持軟件渲染,必須要有一款支持硬件加速的顯卡才能運行。
《Quake II》引擎需要一款硬件加速卡才能玩轉(zhuǎn)
《Quake III》引擎增加了32Bit 材質(zhì)的支持,還直接支持高細節(jié)模型和動態(tài)光影。同時,引擎在地圖中的各種材質(zhì)、模型上,都表現(xiàn)出了極好的真實光線效果。《Quake III》使用了革命性.MD3格式的人物模型,模型的采光使用了頂點光影(vertex animation)技術(shù),每一個人物都被分為不同段(頭、身體等),并由玩家在游戲中的移動而改變實際的造型,游戲中真實感更強烈。
《Quake III:Team Arena》
《Quake III》擁有游戲內(nèi)命令行的方式,幾乎所有使用這款引擎的游戲都可以用`鍵調(diào)出游戲命令行界面,通過指令的形式對游戲進行修改,增強了引擎的靈活性。
《Quake III》一款十分優(yōu)秀的游戲引擎,即使是放到今天來講,這款引擎仍有可取之處,即使畫質(zhì)可能不是第一流的了,但是其優(yōu)秀的移植性、易用性、和靈活性使得它作為游戲引擎仍能發(fā)揮余熱,使用《Quake III》引擎的游戲數(shù)量眾多,比如早期的《使命召喚》系列、《榮譽勛章》、《絕地武士2》、《星球大戰(zhàn)》、《傭兵戰(zhàn)場2》、《007》、《重返德軍總部2》等等。
第一代的《使命召喚》使用了《Quake III》引擎 [9.《DOOM3》震撼問世―ID系列引擎之Id Tech4
時間很快就到2004年,這一時代已經(jīng)是DX9顯卡的時代,但是人們關(guān)注的年度3D大作仍是基于OpenGL渲染的《DOOM3》,這也是Id公司的第四代引擎―Id Tech 4的代表作?!禗OOM3》命運多舛,03年的源碼泄露事件使得《DOOM3》很受傷,但是也因此使得其強悍面畫和要求為人所知。
DOOM3引擎的開山作
當(dāng)時的《DOOM3》到底強到什么程度?id自家人恐怕最清楚,《Doom3》的首席程序員羅布?達菲曾經(jīng)說過:“Doom3從任何角度而言都是最完美的,而且它幾乎完全追隨并引導(dǎo)了硬件的發(fā)展。以id software的經(jīng)驗來看,Doom3估計又會被追捧至少5年,而在這5年里測試顯卡FPS的基準估計都會是它了?!保氵@話太大了點,至少07年發(fā)布的《Crysis》就超過了)。
在《DOOM3》中,即時光影效果成了主旋律,它不僅實現(xiàn)了靜態(tài)光源下的即時光影,最重要的是通過shadow volume(陰影錐)技術(shù),《DOOM3》引擎實現(xiàn)了動態(tài)光源下的即時光影在游戲中大規(guī)模的使用。
shadow volume(陰影錐)關(guān)閉(左)與開啟(右)的效果對比
當(dāng)然了,除了shadow volume(陰影錐)技術(shù)之外,《DOOM3》中的凹凸貼圖、多邊形、貼圖、物理引擎和音效也都是非常出色的,可以說04年《DOOM3》一出,當(dāng)時的顯卡市場可謂一片哀嚎,GeForce FX 5800/Radeon 9700以下的顯卡基本喪失了高畫質(zhì)下流暢運行的能力,強悍能力也只有現(xiàn)在的《Crysis》能與之相比了。
《Quake 4》是Id公司目前最高級的引擎
由于DOOM3引擎的優(yōu)秀,后續(xù)有一大批游戲都使用了這款引擎,包括《DOOM3》資料片《Resurrection of Evil》(邪惡復(fù)蘇)、Id自家的《Quake4》(實際是由Raven公司捉刀)、Human Head Studios的《Prey》、Splash Damage 的《Enemy Territory: Quake Wars》(敵占區(qū):雷神戰(zhàn)爭)和《Brink》、Raven的《Wolfenstein》(重返德軍總部)等等。
Id Tech 5引擎能否讓Id公司站在引擎技術(shù)最前端?
現(xiàn)在,Id公司還在進行著《DOOM4》的開發(fā),引擎也升級到Id Tech5,雖然詳細的技術(shù)規(guī)格仍然是迷,但是卡馬克已經(jīng)放言:“Doom4是一款為30幀而拼搏的作品,就像是應(yīng)用了全新的引擎,它基于我們這四年來的研發(fā)成果?!比绻傅氖怯螒虬l(fā)布時的硬件水平,那么Id Tech5引擎恐怕又是高端顯卡的墳?zāi)沽恕?/p>
[10.另一巨頭的崛起―虛幻競技場引擎Unreal]
如果要找一個能跟Id公司的Quake/DOOM游戲引擎相比肩的對手的話,那么EPIC公司的Unreal引擎無疑是最合適的。而且相比只負責(zé)3D圖像處理的Quake/DOOM引擎來講,Unreal涵蓋的方面更多,涉及物理特性、動畫演示、音頻效果和碰撞檢測等游戲的所有組件,也就是說Unreal引擎的集成度更高,通用性更強。
注:Quake/DOOM后來也一樣涉及到了物理碰撞、音頻處理等內(nèi)容,游戲引擎的發(fā)展即是向全能向發(fā)展。
1998年5月22日,大約在《Quake II》發(fā)布后半年左右,由Epic Games開發(fā)GT Interactive發(fā)行了《Unreal 》問世,游戲中除了精致的建筑物外,還擁有許多游戲特效,比如蕩漾的水波,美麗的天空,逼真的火焰、煙霧和力場,單純從畫面效果來看,《虛幻》是當(dāng)之無愧的佼佼者。
最早的《虛幻》畫面
雖然在彩色光照效果上被Quake II引擎搶了先,但是Unreal引擎依然擁有自己的獨門秘籍。Unreal引擎在彩色光照和紋理過濾上的軟件渲染性能已經(jīng)接近硬件級的加速,而且Unreal引擎還支持當(dāng)時CPU剛剛集成的SIMD(單指令多數(shù)據(jù))指令,比如AMD新增的3DNOW!,Intel的MMX和SSE指令集,這讓它的性能進一步增強。
Unreal問世的時候,大行其道的圖形接口還是3Dfx的Glide,性能最強的顯卡也是3Dfx的Voodoo 5,微軟的DX規(guī)范占據(jù)主流之后,Unreal引擎又很快支持DX,而對OpenGL規(guī)范雖然也有支持,但是一直不太順,性能也不夠好,所以Unreal引擎慢慢就變成了專司DX規(guī)范了。
得益于畫面精美和DX規(guī)范的通用性,Unreal很快就得到了18款游戲的支持,包括《Unreal》、《Unreal Tournament》、《哈利波特》、《Rune》、《Deus Ex》等都用Unreal引擎實現(xiàn)了不同的游戲效果。而且,由于Unreal引擎的通用性,除了游戲,它還廣泛使用在3D建模、建筑設(shè)計、動作捕捉、電影特效等等領(lǐng)域。
《Deus Dex》就使用了虛幻1引擎
第二篇:更高更快更強 游戲引擎發(fā)展漫談
更高更快更強 游戲引擎發(fā)展漫談
[1.導(dǎo)讀]
游戲引擎(Game Engine)是什么?大多數(shù)人給出的解釋都是基于engine的英文翻譯,將游戲引擎等同于汽車中的引擎(發(fā)動機),再好一些的解釋成動力,這些解釋都對,但是動力只說并不全面,不能完整反映出游戲引擎在游戲中的作用與地位。
布加迪威龍之所以強大就是源自其W16發(fā)動機
先舉一個簡單例子,在某游戲中的一個場景中,玩家控制的角色躲藏在屋子里,敵人正在屋子外面搜索玩家。突然,玩家控制的是一個穿迷彩服的士兵,突然碰倒了桌子上的一個杯子,杯子墜地發(fā)出破碎聲,敵人在聽到屋子里的聲音之后聚集到玩家所在位置,玩家開槍射擊敵人,子彈引爆了周圍的易燃物,產(chǎn)生爆炸效果。在這個簡單而常見的過程中,游戲引擎便在后臺起著作用,控制著游戲中的一舉一動。
一些游戲中常見的場景都是引擎在后臺起著作用
把這個過程用專業(yè)們的語言分解一下就會變成這樣:首先出場的是可以行動的士兵,也就是人物模型。模型由引擎中的動畫系統(tǒng)賦予運動能力,游戲中角色能做出什么動作便取決于動畫系統(tǒng)有多強大。人物的真實程度則取決于3D模型渲染引擎的能力,這也是游戲引擎最重要的功能之一,游戲的畫質(zhì)高低便由它來決定。之后,士兵碰倒了杯子,這個過程涉及到引擎的碰撞檢測,它可以決定不同的物體在接觸的時候會產(chǎn)生什么樣的結(jié)果,有的游戲能穿墻有的則不能便是不同的碰撞檢測控制的。例子中設(shè)定的是把杯子碰倒了,杯子發(fā)出了破碎聲。在發(fā)生某種動作的同時發(fā)出相應(yīng)的聲音則屬于引擎中的音效處理了。杯子破碎的聲音吸引了敵人的注意,這是引擎中的AI智能運算在起作用,最后雙方交火引發(fā)爆炸,爆炸產(chǎn)生的煙霧、爆炸物飛散則是引擎中的物理效果在起作用了。
可以說,游戲引擎雖然有著“動力(Engine)”之名,但是其實際上卻是行“大腦(brain)”之實,指揮控制著游戲中各種資源。游戲引擎的準確定義也是如此,“用于控制所有游戲功能的主程序,從計算碰撞、物理系統(tǒng)和物體的相對位置,到接受玩家的輸入,以及按照正確的音量輸出聲音等等?!蓖ǔ碇v,游戲引擎包含以下系統(tǒng):渲染引擎(即“渲染器”,含二維圖像引擎和三維圖像引擎)、物理引擎、碰撞檢測系統(tǒng)、音效、腳本引擎、電腦動畫、人工智能、網(wǎng)絡(luò)引擎以及場景管理。([2.游戲引擎與游戲開發(fā)]
十幾年前的游戲都很簡單(以現(xiàn)在的眼光來看),容量大小都是以M計,通常一款游戲的開發(fā)周期在8到10個月左右,最主要的是,每款游戲開發(fā)都需要重頭編寫代碼,期間存在著大量的重復(fù)勞動,耗時耗力。慢慢地,開發(fā)人員總結(jié)出一個規(guī)律,某些游戲總是有些相同的代碼,可以在同題材的游戲中應(yīng)用,這樣就可以大大減少游戲開發(fā)周期和開發(fā)費用,慢慢地這些通用的代碼就形成了引擎的雛形,伴隨著技術(shù)的發(fā)展,最終演變成今天這樣的游戲引擎。同樣地,游戲引擎出現(xiàn)之后,也在另一方面促進著游戲開發(fā)。隨著顯卡性能越來越強,游戲的畫質(zhì)越來越高,游戲開發(fā)周期也越來越長,通常都會達到3到5年,自行開發(fā)游戲引擎的話時間還會更長,所以大多數(shù)游戲公司還是選擇購買現(xiàn)成的游戲引擎,簡化游戲的開發(fā)過程。
那么,實際的游戲開發(fā)過程中,游戲引擎是如何把游戲與顯卡連接在一起的,游戲中的各種特效是如何調(diào)用顯卡來實現(xiàn)的?這個問題如果要回答的很專業(yè),恐怕不在筆者知識范圍之內(nèi)了,不過我們可以用很簡單的方法來說解釋一下。顯卡是游戲的物理基礎(chǔ),所有游戲效果都需要一款性能足夠的顯卡才能實現(xiàn),在顯卡之上是各種圖形API,目前主流的是DirectX和OpenGL,我們所說的DX10、DX9就是這種規(guī)范,而游戲引擎則是建立在這種API基礎(chǔ)之上,控制著游戲中的各個組件以實現(xiàn)不同的效果。
在引擎之上,則是引擎開發(fā)商提供給游戲開發(fā)商的SDK開發(fā)套件,這樣游戲廠商的程序員和美工就可以利用現(xiàn)成的SDK為自家的游戲加如自家建立的模型、動畫以及畫面效果,而最終的成品則是各種游戲。
整個關(guān)系可用下面的關(guān)系圖來表示。
游戲引擎與GPU的關(guān)系圖
經(jīng)過十多年的發(fā)展,游戲引擎的功能也越來越強大,涌現(xiàn)出一批比較知名的引擎如DOOM/Quake、Unreal虛幻,那么這些引擎的成功之處在哪里呢?
[3 什么才是好的游戲引擎]
時至今日,游戲引擎已從早期游戲開發(fā)的附屬變成了今日的當(dāng)家角色,對于一款游戲來說,能實現(xiàn)什么樣的效果,很大程度上取決于使用的引擎由多么強力。如果對什么才是優(yōu)秀的游戲引擎做個判斷,那么優(yōu)秀的游戲引擎一定具有如下優(yōu)點:
1.完整的游戲功能。隨著游戲要求的提高,現(xiàn)在的游戲引擎不再是一個簡單的3D圖形引擎,而是涵蓋3D圖形、音效處理、AI運算、物理碰撞等游戲中的各個組件,組件設(shè)計也應(yīng)該是模塊化的,可以按需購買。以這兩年最成功的虛幻3引擎為例,雖然全部授權(quán)金(不包括售后技術(shù)服務(wù))高達幾十萬甚至上百萬美元,但是可以分別購買相關(guān)組件,降低授權(quán)費用。
2.強大的編輯器和第三方插件。優(yōu)秀的游戲引擎還要具備強大的編輯器,包括場景編輯、模型編輯、動畫編輯等,編輯器的功能越強大,美工人員可發(fā)揮的余地就越大,做出的效果也越多。而插件的存在,使得第三方軟件如3DS Max、Maya可以與引擎對接,無縫實現(xiàn)模型的導(dǎo)入導(dǎo)出。
3.簡潔有效的SDK接口。優(yōu)秀的引擎會把復(fù)雜的圖像算法封裝在模塊內(nèi)部,對外提供的則是簡潔有效的SDK接口,有助于游戲開發(fā)人員迅速上手,這一點就如各種編程語言一樣,越高級的語言越容易使用。
4.其他輔助支持。優(yōu)秀的游戲引擎還提供網(wǎng)絡(luò)、數(shù)據(jù)庫、腳本等功能,這一點對于面向網(wǎng)游的引擎來說更為重要,網(wǎng)游還要考慮服務(wù)器端的狀況,要在保證優(yōu)異畫質(zhì)的同時降低服務(wù)器端的極高壓力。
以上四條對于今天的游戲引擎來說不成問題,當(dāng)我們回頭歷數(shù)過去的游戲引擎,便會發(fā)現(xiàn)這些功能也都是從無到有慢慢發(fā)展起來的,早期的游戲引擎在今天看來已經(jīng)沒有什么優(yōu)勢,但是正是這些先行者推動了今日的發(fā)展。
[4.3D游戲引擎始祖―《Wolfenstein 3D》]
談及游戲引擎,有一家游戲公司最應(yīng)該被提起,也有一個人最不應(yīng)該忘記,那就是ID software和它的創(chuàng)始人之一約翰?卡馬克(John D.Carmack)。據(jù)說這家公司僅有13名固定員工,而且停車場也只停13輛法拉利跑車,從這一八卦中可以看出大家都很關(guān)注這家公司是如何的盛產(chǎn)富翁,但是這群狂人開發(fā)的游戲技術(shù)更為傲人。
1990年,卡馬克和id的另一巨頭羅梅洛制作了一款小游戲《Commander Keen》(《指揮官基恩》),在PC機上首次實現(xiàn)了卷軸類游戲背景的流暢效果,后來他們又花了一個晚上的時間把當(dāng)時的街機游戲《超級瑪麗》移植到PC機上,實現(xiàn)了流暢的橫板效果。他們把PC版《超級瑪麗》發(fā)給任天堂,希望借此吸引任天堂的興趣。當(dāng)然,任天堂也確實很有興趣,夸獎了他們幾句,不過并無下文(大人物未成名之前總是被另一個大人物無視)。1991年,卡馬克和羅梅洛成立了ID Software,開始自主創(chuàng)業(yè)。
后面的事就很簡單了,憑借著過人的技術(shù)和狂熱的信念,id公司創(chuàng)造了一個又一個技術(shù)巔峰。沒多久,他們推出了《Wolfenstein 3D》(德軍總部3D)。這款游戲的畫面在現(xiàn)在看來不值一提,但是卻是3D射擊游戲之祖,卡馬克也因此獲得了“FPS游戲之父”的稱號。
《重返德軍總部3D》成了游戲引擎的始祖
作為最早的3D游戲引擎之一,《Wolfenstein 3D》(德軍總部3D)使用了一種射線追蹤技術(shù)來渲染游戲內(nèi)的物體(嚴格來說,《Wolfenstein 3D》還是一種偽3D)。游戲中每個像素會發(fā)射一道光束,如果這道光束碰到了障礙物形成反射,游戲就會按照設(shè)定好的程序在障礙物的相應(yīng)位置創(chuàng)建單維深度緩存(dimensional depth buffer),建立紋理圖像。
游戲圖像
《Wolfenstein 3D》開創(chuàng)了3D射擊游戲時代,其獨創(chuàng)性的3D技術(shù)也為其他游戲所采用,Blake Stone,Corridor 7,Operation Body Count、Super Noah's Ark 3D(超級諾亞方舟3D)、Rise of the Triad(算是《Wolfenstein 3D》的續(xù)作,增加了跳躍和低頭抬頭等動作),還有一直未發(fā)售的 Hellraiser(養(yǎng)鬼吃人)等游戲都沿用了卡馬克這一技術(shù)。
[5.《DOOM》問世―Id系列引擎之Id Tech 1 ]
注:Id公司為自家的引擎技術(shù)劃代為Id Tech,DOOM引擎正是Id Tech 1,后文都將按照這個序列來寫?!禬olfenstein 3D》只是ID小試身手,1993年ID公司推出的DOOM(毀滅戰(zhàn)士)游戲引擎才是引擎技術(shù)的代表。DOOM引擎改善了《Wolfenstein 3D》引擎中的一些缺陷,如所有房間的高度都是相同的,所有墻壁都是垂直的,運動也只能直線前進或后退等,并且加入了許多新效果。
DOOM 在DOOM中,角色與游戲中的物品的互動性進一步增強,樓梯、樓梯上的花朵以及路橋已經(jīng)可升可降。游戲中的光照效果也不再單一,不同的單位也有了不同的亮度,此外DOOM引擎還支持立體聲音效,環(huán)境的定位感更真實。這些效果在3D顯卡都沒有問世的1993年毫無疑問是非常激動人心的進步。
DOMM一代的畫面
憑借自身的過人之處,DOOM獲得了350萬的銷量,為ID公司帶來了滾滾財源。更重要的是,DOOM成了ID公司第一款用于商業(yè)授權(quán)的引擎,從DOOM開始,游戲公司又多了一條創(chuàng)收之路。當(dāng)時使用過DOOM引擎的游戲主要有:Raven公司的《ShadowCaster》(投影者)、《Heretic》(1994)、《Hexen》(1995)、Rogue Entertainment公司的《Strife》、《HacX》(免費)以及美國 Marine 公司的《Marine Doom》等等。這些游戲全都使用了DOOM引擎,其中Raven公司于ID公司的合作最為緊密,出品的三款DOOM引擎游戲也較為知名。
DOOM發(fā)售一年之后,ID又推出了DOOM系列的第二部作品《DOOM:Hell on Earth》。憑借id的號召和一代的影響力,DOOM II獲得了94的最佳原創(chuàng)幻想/科幻電腦游戲大獎,在銷量和口碑上再創(chuàng)新高。
DOOM II游戲
不過,從技術(shù)角度來講,DOOM II上并沒有什么創(chuàng)新之處,使用的DOOM,也沒帶來新穎的圖形技術(shù),就連游戲中的怪物和武器也沒有新增多少。雖然id公司在1995年發(fā)布了一款擴展包《Master Levels for Doom II》,但是人們還是更期待《DOOM III》,只是這個期待要很長時間,《DOOM III》在10年后的2004年才正式發(fā)布。
[6.雷神問世―ID系列引擎之《Quake》 ]
就在DOOM系列熱火朝天的時候,Id公司又于1996年發(fā)售了另一款新型游戲《Quake》,相比《DOOM》使用的將擁有高度信息的二維地圖渲染成3D圖像的偽3D引擎,Quake引擎是實實在在的3D引擎。
真正3D模式的Quake引擎
Quake引擎是當(dāng)時第一款完全支持多邊形模型、動畫和粒子特效的引擎,而在技術(shù)之外,《Quake》的游戲操控方式也樹立了FPS游戲的標準。游戲采用流動控制方案(fluid control scheme),它使用鼠標來觀看/瞄準/定向以及用鍵盤前進/后退/側(cè)移,這也成了FPS游戲最普遍的操控模式,直到今日仍沒有變化。
Quake的出現(xiàn)為FPS游戲建立了經(jīng)典的操控方式
使用《Quake》引擎的主要是Id自己的《Quake》和《Quake World》系列、《HeXen II》(異教徒)、MageSlayer、Nexuiz(鏖戰(zhàn)廢土)、Day of Defeat(勝利之日),還有大名鼎鼎的《Half life:》(半條命)以及《Half life》擴展出來的《反恐精英》。
大名鼎鼎的CS使用的便是Quake引擎
[7.多彩光影效果―ID公司系列引擎之Id Tech2 ]
90年代的Id公司相當(dāng)勤奮,幾乎是每年推出一部新游戲,而且每次都能或多或少地帶給人們不少驚喜?!禥uake》一年之后,Id又發(fā)售了《Quake II》,采用的引擎也升級為Id Tech2。
《Quake II》
1997年的時候,當(dāng)時3D加速卡(顯卡那是都叫3D加速卡)已經(jīng)興起,《Quake II》引擎已經(jīng)支持硬件3D加速,當(dāng)時較為知名的3D API是OpenGL,《Quake》也因此重點優(yōu)化了OpenGL性能,這也奠定了Id公司系列游戲多為OpenGL渲染的基礎(chǔ)。
《Quake II》首次實現(xiàn)了彩色光影效果
Id Tech2引擎添加了256色材質(zhì)貼圖,首次實現(xiàn)了彩色光影效果,使得游戲中的物體在反射光影時候能展現(xiàn)出不同樣的色彩效果,另外一個技術(shù)特性則是通過支持DLL(dynamic-link libraries,動態(tài)鏈接庫)文件實現(xiàn)了對軟件渲染和OpenGL渲染的支持。
基于Id Tech2引擎的游戲有《Quake II》、《Anachronox》(時空傳奇)、《大刀》(Id另一強人羅梅洛離開Id之后開發(fā)的游戲)、《Soldier of Fortune》(命運戰(zhàn)士)、《半條命》(Quake和Quake II的代碼都有)。
《大刀》是羅梅洛離開Id之后使用《Quake II》引擎制作的一款游戲 [8.3D加速卡時代來臨―ID系列引擎之Id Tech3 ]
1999年,Id又發(fā)布了《Quake III:Arena》,這是《Quake》系列的第三步,也標志著Id的引擎技術(shù)到了Id Tech3時代。在這一時代,Id Tec3已經(jīng)不再支持軟件渲染,必須要有一款支持硬件加速的顯卡才能運行。
《Quake II》引擎需要一款硬件加速卡才能玩轉(zhuǎn)
《Quake III》引擎增加了32Bit 材質(zhì)的支持,還直接支持高細節(jié)模型和動態(tài)光影。同時,引擎在地圖中的各種材質(zhì)、模型上,都表現(xiàn)出了極好的真實光線效果。《Quake III》使用了革命性.MD3格式的人物模型,模型的采光使用了頂點光影(vertex animation)技術(shù),每一個人物都被分為不同段(頭、身體等),并由玩家在游戲中的移動而改變實際的造型,游戲中真實感更強烈。
《Quake III:Team Arena》
《Quake III》擁有游戲內(nèi)命令行的方式,幾乎所有使用這款引擎的游戲都可以用`鍵調(diào)出游戲命令行界面,通過指令的形式對游戲進行修改,增強了引擎的靈活性。
《Quake III》一款十分優(yōu)秀的游戲引擎,即使是放到今天來講,這款引擎仍有可取之處,即使畫質(zhì)可能不是第一流的了,但是其優(yōu)秀的移植性、易用性、和靈活性使得它作為游戲引擎仍能發(fā)揮余熱,使用《Quake III》引擎的游戲數(shù)量眾多,比如早期的《使命召喚》系列、《榮譽勛章》、《絕地武士2》、《星球大戰(zhàn)》、《傭兵戰(zhàn)場2》、《007》、《重返德軍總部2》等等。
第一代的《使命召喚》使用了《Quake III》引擎
[9.《DOOM3》震撼問世―ID系列引擎之Id Tech4 ]
時間很快就到2004年,這一時代已經(jīng)是DX9顯卡的時代,但是人們關(guān)注的3D大作仍是基于OpenGL渲染的《DOOM3》,這也是Id公司的第四代引擎―Id Tech 4的代表作?!禗OOM3》命運多舛,03年的源碼泄露事件使得《DOOM3》很受傷,但是也因此使得其強悍面畫和要求為人所知。
DOOM3引擎的開山作
當(dāng)時的《DOOM3》到底強到什么程度?id自家人恐怕最清楚,《Doom3》的首席程序員羅布?達菲曾經(jīng)說過:“Doom3從任何角度而言都是最完美的,而且它幾乎完全追隨并引導(dǎo)了硬件的發(fā)展。以id software的經(jīng)驗來看,Doom3估計又會被追捧至少5年,而在這5年里測試顯卡FPS的基準估計都會是它了?!保氵@話太大了點,至少07年發(fā)布的《Crysis》就超過了)。
在《DOOM3》中,即時光影效果成了主旋律,它不僅實現(xiàn)了靜態(tài)光源下的即時光影,最重要的是通過shadow volume(陰影錐)技術(shù),《DOOM3》引擎實現(xiàn)了動態(tài)光源下的即時光影在游戲中大規(guī)模的使用。
shadow volume(陰影錐)關(guān)閉(左)與開啟(右)的效果對比 當(dāng)然了,除了shadow volume(陰影錐)技術(shù)之外,《DOOM3》中的凹凸貼圖、多邊形、貼圖、物理引擎和音效也都是非常出色的,可以說04年《DOOM3》一出,當(dāng)時的顯卡市場可謂一片哀嚎,GeForce FX 5800/Radeon 9700以下的顯卡基本喪失了高畫質(zhì)下流暢運行的能力,強悍能力也只有現(xiàn)在的《Crysis》能與之相比了。
《Quake 4》是Id公司目前最高級的引擎
由于DOOM3引擎的優(yōu)秀,后續(xù)有一大批游戲都使用了這款引擎,包括《DOOM3》資料片《Resurrection of Evil》(邪惡復(fù)蘇)、Id自家的《Quake4》(實際是由Raven公司捉刀)、Human Head Studios的《Prey》、Splash Damage 的《Enemy Territory: Quake Wars》(敵占區(qū):雷神戰(zhàn)爭)和《Brink》、Raven的《Wolfenstein》(重返德軍總部)等等。
Id Tech 5引擎能否讓Id公司站在引擎技術(shù)最前端?
現(xiàn)在,Id公司還在進行著《DOOM4》的開發(fā),引擎也升級到Id Tech5,雖然詳細的技術(shù)規(guī)格仍然是迷,但是卡馬克已經(jīng)放言:“Doom4是一款為30幀而拼搏的作品,就像是應(yīng)用了全新的引擎,它基于我們這四年來的研發(fā)成果?!比绻傅氖怯螒虬l(fā)布時的硬件水平,那么Id Tech5引擎恐怕又是高端顯卡的墳?zāi)沽恕?/p>
[10.另一巨頭的崛起―虛幻競技場引擎Unreal]
如果要找一個能跟Id公司的Quake/DOOM游戲引擎相比肩的對手的話,那么EPIC公司的Unreal引擎無疑是最合適的。而且相比只負責(zé)3D圖像處理的Quake/DOOM引擎來講,Unreal涵蓋的方面更多,涉及物理特性、動畫演示、音頻效果和碰撞檢測等游戲的所有組件,也就是說Unreal引擎的集成度更高,通用性更強。
注:Quake/DOOM后來也一樣涉及到了物理碰撞、音頻處理等內(nèi)容,游戲引擎的發(fā)展即是向全能向發(fā)展。
1998年5月22日,大約在《Quake II》發(fā)布后半年左右,由Epic Games開發(fā)GT Interactive發(fā)行了《Unreal 》問世,游戲中除了精致的建筑物外,還擁有許多游戲特效,比如蕩漾的水波,美麗的天空,逼真的火焰、煙霧和力場,單純從畫面效果來看,《虛幻》是當(dāng)之無愧的佼佼者。
最早的《虛幻》畫面
雖然在彩色光照效果上被Quake II引擎搶了先,但是Unreal引擎依然擁有自己的獨門秘籍。Unreal引擎在彩色光照和紋理過濾上的軟件渲染性能已經(jīng)接近硬件級的加速,而且Unreal引擎還支持當(dāng)時CPU剛剛集成的SIMD(單指令多數(shù)據(jù))指令,比如AMD新增的3DNOW!,Intel的MMX和SSE指令集,這讓它的性能進一步增強。
Unreal問世的時候,大行其道的圖形接口還是3Dfx的Glide,性能最強的顯卡也是3Dfx的Voodoo 5,微軟的DX規(guī)范占據(jù)主流之后,Unreal引擎又很快支持DX,而對OpenGL規(guī)范雖然也有支持,但是一直不太順,性能也不夠好,所以Unreal引擎慢慢就變成了專司DX規(guī)范了。
得益于畫面精美和DX規(guī)范的通用性,Unreal很快就得到了18款游戲的支持,包括《Unreal》、《Unreal Tournament》、《哈利波特》、《Rune》、《Deus Ex》等都用Unreal引擎實現(xiàn)了不同的游戲效果。而且,由于Unreal引擎的通用性,除了游戲,它還廣泛使用在3D建模、建筑設(shè)計、動作捕捉、電影特效等等領(lǐng)域。
《Deus Dex》就使用了虛幻1引擎
[11.再接再厲―Unreal2引擎]
Unreal引擎一炮打響,EPIC又再接再厲推出了Unreal2引擎。相比第一代Unreal引擎,Unreal2的全部代碼幾乎重寫,并集成了最新的編輯器。隨著游戲開發(fā)的需要,游戲引擎的內(nèi)涵也在不斷擴大,Unreal2引擎擁有了更多的功能。
《Unreal 2》虛幻2的畫面 當(dāng)時物理加速技術(shù)已然成形,Unreal2引擎便集成了Karma 物理加速技術(shù)開發(fā)包,引擎中的物理效果得以增強,并且開始支持XBOX、PS2等主機平臺。Unreal2引擎期間有過一次小幅升級,被稱為UE2.5,渲染性能有了一定提高。
這張Unreal 2的看起來更漂亮一些
有了第一代引擎的鋪墊,采用Unreal2及其升級型引擎的游戲數(shù)量也大幅提高,其中的知名游戲包括《湯姆?克蘭西之細胞分裂2:明日潘多拉》、《部落:復(fù)仇者》、《越戰(zhàn)英豪》、《天堂2》、《殺手13》、《彩虹六號:雅典娜之劍》、《荒野大鏢客》、《虛幻競技場2003》、《手足兄弟連》等等。
《天堂2》的畫質(zhì)在當(dāng)時的網(wǎng)游中可以說是傲視群雄
[12.功成名就―Unreal3引擎]
到了DX9時代,EPIC公司的Unreal2引擎便跟不上時代了,急需一款性能更強大、靈活性更高的新時代引擎,這便是EPIC當(dāng)前的主力干將―Unreal3引擎。融合了眾多新技術(shù)、新特性的Unreal3也是當(dāng)前使用最廣泛的引擎之一,在主機、單機、網(wǎng)游全面開花。
虛幻競技場3驚艷亮相
Unreal3支持64位HDRR高精度動態(tài)渲染、多種類光照和高級動態(tài)陰影特效,可以在低多邊形數(shù)量(通常在5000-15000多邊形)的模型實現(xiàn)通常數(shù)百萬個多邊形模型才有的高渲染精度,這樣就可以用最低的計算資源做到極高畫質(zhì)。Unreal3引擎還提供了強大的編輯工具,讓開發(fā)人員隨意調(diào)用游戲?qū)ο螅嬲龅剿娂此谩?/p>
虛幻3引擎中支持PhysX物理特效的場景
Unreal3引擎之中還集成了許多現(xiàn)成的游戲技術(shù),包括PhysX物理引擎、SpeedTree植被引擎、EAX5.0音效引擎、AI引擎等,其中的PhysX物理加速技術(shù)是NVIDIA公司力推的,在PhysX游戲中會擁有更好的效果。
優(yōu)秀的畫質(zhì)表現(xiàn)、適中的顯卡要求、強大的自定義工具和一站式配套開發(fā)使得Unreal具備了各個平臺各種游戲的適應(yīng)性,所以自問世以來,已經(jīng)有越來越多的游戲采用Unreal3引擎,勢頭直追當(dāng)前的Quake/DOOM引擎。
虛幻3引擎打造的《戰(zhàn)爭機器》不論游戲還是畫面都堪稱大作
在采用Unreal3引擎的游戲中,《生化危機》、《Alpha Protocol》、《戰(zhàn)爭機器》、《榮譽勛章:空降神兵》、《槍神》、《質(zhì)量效應(yīng)》、《鏡之邊緣》都是知名大作,尤其是《戰(zhàn)爭機器》一度創(chuàng)下PC游戲的畫質(zhì)神話。
[13.《F.E.A.R》的核心―LithTech引擎]
整個90年代,游戲引擎的光芒似乎成了Id和EPIC的專利,其余的公司都被這兩大巨頭所掩蓋了,其實當(dāng)時仍然有不少引擎精品,Monolith公司的LithTech引擎便是一例。
《Shogo》升剛使用的便是LithTech最早的引擎
1998年,Monolith推出了新款游戲《Shogo:Mobile Armor Division》,這是一款結(jié)合了日本卡通的FPS游戲,使用的引擎便是LithTech。這款引擎耗費了Monolith公司五年的時間,花費超過700萬美元,如此高的代價也迫使公司改名為LithTech,業(yè)務(wù)范圍也轉(zhuǎn)向LithTech引擎授權(quán)以圖收回高昂的開發(fā)成本。
采用LithTech第一代引擎制作的游戲包括《血兆2》和《清醒》(Sanity)等。2000年LithTech公司推出了引擎的2.0版本和2.5版本,加入了骨骼動畫和高級地形系統(tǒng),LithTech 3.0則衍生出了“木星”(Jupiter)、“鷹爪”(Talon)、“深藍”(Cobalt)和“探索”(Discovery)四大系統(tǒng),其中“鷹爪”被用于開發(fā)《異形大戰(zhàn)掠奪者2》(Alien Vs.Predator 2),“木星”將用于《無人永生2》的開發(fā),“深藍”用于開發(fā)PS2版《無人永生》。
《F.E.A.R》中借助LithTech引擎實現(xiàn)了多種游戲效果
應(yīng)用LithTech引擎最出色的當(dāng)屬05年推出的《F.E.A.R》,改良的LithTech引擎為這款游戲帶來了細致的縱深場景刻畫,全屏抗鋸齒、實時光影效果都表現(xiàn)完美,而在今年上半年推出的《F.E.A.R2:起源計劃》 中,LithTech引擎又加入了HDR渲染、動態(tài)模糊、后期處理、屏幕空間環(huán)境光遮蔽(SSAO)等最新畫質(zhì)效果,也增強了物理和人工智能,還完善了對雙核心處理器的支持。
當(dāng)然,LithTech引擎也非完美,雖然引擎本身繼承了Havok物理加速,但是游戲中的物理效果一般,表現(xiàn)比較生硬,不過瑕不掩瑜,LithTech引擎性能已經(jīng)好強大,LithTech公司的服務(wù)也非常詳盡,購買者可免費升級,而且授權(quán)費用僅有25萬美元(現(xiàn)在的價格未知),很適合中小型游戲開發(fā)公司。
[14.Source引擎一戰(zhàn)成名]
Valve公司的《Half Life》使用的是Quake/Quake II引擎,當(dāng)他們開發(fā)續(xù)作《Half Life2》之時,Quake引擎已經(jīng)略顯老態(tài),于是他們決定自己開發(fā)游戲引擎,這也成就了另一款知名的引擎―Source引擎。
《Half Life2》系列使用的都是Source引擎
與Unreal引擎一樣,Source也不是一款簡單的3D引擎,它同樣包括了3D圖像渲染、材質(zhì)系統(tǒng)、AI人工智能計算、Havok物理引擎、游戲界面、游戲聲效等各個組件,而且創(chuàng)造性地使用了模塊化理念,結(jié)合Vavlve公司的Stream平臺,游戲引擎的修改和升級都非常簡單,這也使得Source引擎可以長盛不衰,至今依是主流引擎之一。
Valve自家的游戲大都使用的是Source引擎
Source引擎最讓人驚嘆的特效當(dāng)屬豐富的人物表情。人的面部有42塊肌肉,可以做出許多不同種類的表情,喜怒哀樂愁不一而足,要想在游戲中實現(xiàn)擬人化的表情絕非易事。為此,Valve專門開發(fā)了一套面部肌肉模擬系統(tǒng),這套系統(tǒng)中包含了一系列預(yù)先設(shè)定的表情腳本,能控制角色面肌肉群產(chǎn)生相應(yīng)的面部動畫,并進行相加/混合/插值運算以創(chuàng)建現(xiàn)實生活中所見的自然真實的角色表情。
同時,為了與表情配合,Valve公司還創(chuàng)建了一套基于文本文件的半自動聲音識別系統(tǒng)(VRS)。Source引擎制作的游戲可以利用VRS系統(tǒng)在角色說話時調(diào)用事先設(shè)計好的單詞口形,再配合表情系統(tǒng)實現(xiàn)精確的發(fā)音口形。
Source引擎的面部表情非常傳神
Source引擎全面應(yīng)用于Valve自家的游戲領(lǐng)域,《Half life2》三部曲,《CS:Source》、,還有現(xiàn)在的《Left 4 Dead》系列。自家領(lǐng)地之外也是遍地開花,《勝利之日:起源》、《吸血鬼》、《軍團要塞2》、《SiN Episodes》等多款游戲都授權(quán)使用了Source引擎。
[15.CryENGINE引擎驚艷亮相]
在DOOM3和半條命2的同時代,育碧公司利用德國一家公司利開發(fā)的CryENGINE引擎做出了另一款畫面堪稱鬼神級的游戲―《FarCry》(孤島驚魂),游戲一推出,就贏得了大片贊嘆之聲。
《孤島驚魂》的畫質(zhì)達到了當(dāng)時的巔峰
CryENGINE引擎的開發(fā)者是德國的CryTek,當(dāng)時名不見經(jīng)傳,在游戲引擎開發(fā)上屬于新生代,但是第一次出手就表現(xiàn)不凡。CryENGINE引擎使用了“PolyBump”特效,利用很少的多邊形做出了大量多邊形才能實現(xiàn)的游戲效果,游戲中的動態(tài)光影效果也非常出色。
CryENGINE引擎打造的畫面即使現(xiàn)在看起來也很高
CryENGINE引擎還HDR高動態(tài)壓縮、3Dc等技術(shù),后期還通過patch補丁升級了SM3.0支持,畫面又有所增強。
《孤島驚魂》作為CryTek公司初出茅廬之作,展示技術(shù)實力的目的是達到了,但是引擎授權(quán)方面并不算成功,除了《FarCry》在主機平臺的幾款游戲之外,僅有NC Soft購買了授權(quán)用在自家的網(wǎng)游上,這款網(wǎng)游也正是現(xiàn)在火爆的《永恒之塔》(AION)。
《永恒之塔》的高畫質(zhì)便得益于CryENGINE引擎的超強表現(xiàn)
雖然第一代引擎出師不利,但是CryTek的CryENGINE2引擎在DX10時代締造了另一個畫質(zhì)新高,那就是著名的顯卡危機―《Crysis》(孤島危機)。[16.DX10時代最強畫質(zhì)代表―CryENGINE2引擎]
06年底,隨著Vista的發(fā)布,游戲進入了DX10時代,NVIDIA和AMD也都先后發(fā)布了各自的DX10顯卡,新一代引擎大戰(zhàn)也正式開始。這期間,CryTek沒有搶到首發(fā)DX10游戲引擎,但CryENGINE引擎的《Crysis》奪得了最強DX10畫質(zhì)大旗,并保持至今。
DX10畫質(zhì)最強音―CryENGINE2引擎
CryENGINE2在一代基礎(chǔ)上大幅強化,全面支持DX9中的SM2.0/3.0和DX10中的SM4.0,引擎完整涵蓋了游戲開發(fā)中的3D圖像、游戲音效、AI人工智能、物理效果、腳本系統(tǒng)、動畫系統(tǒng)、編輯器等,可為游戲開發(fā)者提供強大的可視化開發(fā)環(huán)境,此外CryENGINE2還支持64位系統(tǒng),多核心多線程處理。
MOD愛好者制作的Crysis高清MOD包
MOD愛好者制作的Crysis高清MOD包
有關(guān)《Crysis》的具體畫質(zhì)有多強,網(wǎng)上有很多相關(guān)資料,而《Crysis》的要求有多高,我們的評測欄目頁有很多,迄今為止的單卡還沒有能在高分辨率下的Very High級別流暢運行。也正是由于CryENGINE2引擎非常強的畫質(zhì)和可定制性,CryENGINE引擎現(xiàn)在也成了MOD玩家DIY的最佳工具。我們網(wǎng)站也報道過了許多高清MOD作品(連接在此:
一、二),其中的一些畫面幾乎可以達到以假亂真的地步。
CryENGINE2引擎相比前代的境遇要好多了,除了CryTek自家的《Crysis》、《Crysis:Warhead》使用之外,卡通風(fēng)格的《布魯克林商人》、《Forged by Chaos》(混沌試煉)、《Blue Mars》(藍色火星)、韓國網(wǎng)游《The Day》等多款游戲都獲得了CryENGINE2引擎授權(quán)。
成也蕭何敗也蕭何,CryENGINE2引擎的高畫質(zhì)高要求使得主機平臺承受不起,以致于下一代CryENGINE3引擎不得不降低要求以適應(yīng)主機平臺(當(dāng)然,CryTek公司是不會承認這一點的,他們只是在優(yōu)化而已),還好CryTek保證PC平臺的畫質(zhì)會再創(chuàng)新高,至于CryENGINE3引擎的到底能否再次讓我們經(jīng)歷一次顯卡危機,也許要等到2010年或2011年游戲上市正式才能揭曉了。
CryENGINE 3引擎或許會再一次上演顯卡危機
[17.其他優(yōu)秀引擎簡介]
上面著重介紹的都是最為知名的幾款游戲引擎,尤以Id、EPIC、Valve、CryTek這幾家的Id Tech、Unreal、Source、CryENGINE為主。當(dāng)然,在這幾家巨頭之外,不少游戲公司推出的引擎雖不一定能四處開花,但是在各自的領(lǐng)域也是十分的精彩。
另一款強調(diào)痛快殺戮的《Serious sam》(《英雄薩姆》)所采用的Serious引擎非常值得一提?!队⑿鬯_姆》游戲擁有極大的地圖視野,即是你面對蜂擁而至的千軍萬馬也絲毫沒有遲滯感,這與其他游戲在大場景處理中表現(xiàn)不足形成強烈的反差。Serious引擎隨著《英雄薩姆》系列游戲也在不斷演進,最近的Serious Engine3支持多核心HDR渲染,支持全面的像素光照效果和陰影技術(shù)(包括陰影緩沖),同時帶有多線程設(shè)計的物理引擎,可以在多核心系統(tǒng)上提供更好性能,并且提供真實的互動效果,宣稱整體效果可與虛幻3相媲美。
Serious Engine3引擎效果一覽
《Max Payne》(《馬克思佩恩》)的MAX-FX引擎來頭更大,之所以這么說,是因為早期的3Dmark測試軟件所用的引擎就是Max-FX,直到3Dmark03中才由Futuremark自己開發(fā)測試內(nèi)核t替代了MAX-FX引擎。MAX-FX是第一款支持輻射光渲染(Radiosity Lighting)技術(shù)的游戲引擎,可以根據(jù)物體的屬性準確計算出每個點的折射和反射率,光線傳播更符合真實情況,所營造的游戲效果也更自然。引擎的另一個特色則是子彈時間(Bulet Time),玩家可以在游戲中再現(xiàn)黑客帝國中躲避子彈的場景了。
《馬克思佩恩》系列的MAX-FX引擎
《超級房車賽:GRID》在去年大出風(fēng)頭,影響甚至超過了《極品飛車12》,它所使用的正是EGO引擎。這款引擎是由CODEMASTERS和SCE使用SONY的PHYREENGINE跨平臺圖像引擎共同開發(fā)的,最早出現(xiàn)于于《科林邁克拉林:DIRT》中,現(xiàn)在使用的EGO是改良過的。EGO引擎主要使用在賽車類游戲中,除了《GRID》之外,《F1 2009》《科林邁克拉林:DIRT2》都使用EGO引擎,《閃電行動2》的加入則說明這款引擎在其他領(lǐng)域開疆辟土。
去年火熱的賽車游戲《GRID》使用的就是EGO引擎
《S.T.A.L.K.E.R:切爾諾貝利的陰影》使用的是X-Ray引擎。這款一再跳票的游戲開發(fā)了六年,而引擎開發(fā)周期更是長達八年,期間X-Ray的技術(shù)從先進到落后再到領(lǐng)先,最新版的X-ray引擎終于實現(xiàn)了DX10/SM4的shader渲染,最終的畫面效果也達到了一流水準。
潛行者的游戲畫面
[18.一心一意的專業(yè)引擎]
前文對引擎的分類中已經(jīng)提到,游戲引擎的概念很廣,簡單來分也有通用的和專一性的,前面介紹的這些游戲引擎幾乎都是通用性,涵蓋了游戲設(shè)計中的3D圖像、音效處理、AI運算、碰撞檢測等等,而此處要說的則是一些功能單一但是專業(yè)高效的引擎,比如物理引擎、聲效引擎、植被引擎等。
物理引擎中首推Havok,其次則是NVIDIA力推的PhysX,前者是基于CPU運算的(現(xiàn)在也開始支持GPU運算),后者是基于GPU運算的,Havok資歷老、支持者眾,在PC、XBOX360、PS2/3等多平臺有著廣泛的應(yīng)用,使用Havok物理引擎的游戲已有100多款。除了游戲領(lǐng)域外,Havok引擎還廣泛使用在電影特效中,《黑客帝國》、《哈利波特》、《特洛伊木馬》等多部電影中都使用了Havok引擎以營造真實的物理運動效果。
萬眾矚目的大菠蘿3就會支持Havok物理效果
PhysX物理加速最早由Ageia公司研發(fā),并以物理加速卡的方式加以推廣。后來Ageia公司被NVIDIA公司收購,PhysX技術(shù)被NVIDIA應(yīng)用在自家的顯卡之上。憑借著GeForce顯卡的銷量和NVIDIA的影響力,PhysX也逐漸得到了各大游戲公司的支持,越來越多的游戲也開始支持PhysX物理加速引擎。
NVIDIA的PhysX物理加速技術(shù)也開始發(fā)力
SpeedTree作為一種單一的游戲引擎并不為人所熟知,但是正是這種專一性讓它在適宜的場合能夠做到全功能引擎做不到的事情。
SpeedTree是業(yè)內(nèi)最專門的植物渲染引擎,可以實現(xiàn)樹木、植被的建模、動態(tài)刮風(fēng)、平滑細部和多樣燈光效果,可為游帶來逼真的樹木、草地等效果。
《虛幻3》中的SpeedTree引擎營造的參天大樹
《上古卷軸4》中的SpeedTree渲染出的草地效果 當(dāng)然,SpeedTree也不只是應(yīng)用在游戲領(lǐng)域,SpeedTree也是商業(yè)上常用的建模工具,更有美國國防部利用SpeedTree進行真實戰(zhàn)爭場景模擬來進行軍事訓(xùn)練。
[19.總結(jié)及其他]
除了最初的圖形渲染功能之外,現(xiàn)在的游戲引擎已經(jīng)是一個包含3D建模、動畫設(shè)計、光影特效、AI運算、碰撞檢測、聲效處理等等多個子系統(tǒng)在內(nèi)的全功能引擎,全功能、模塊化、按需訂購的設(shè)計使得這類游戲引擎成為市場上的主流,更能滿足游戲廠商的需求,而一些特殊而專業(yè)的引擎如物理引擎、植被引擎都集成在通用型游戲引擎里,如虛幻3引擎集成的PhysX和SpeedTree引擎,Source引擎集成的Havok物理引擎等。
游戲引擎已經(jīng)脫離了游戲開發(fā)副產(chǎn)物的角色走上前臺,隨著游戲技術(shù)的提高,游戲引擎的研發(fā)時間和成本也在直線上升,像90年代Id公司那樣一樣更新一代游戲引擎已經(jīng)不可能,如今一款開發(fā)一款優(yōu)秀的游戲引擎沒有三五年的功夫是下不來的,而且還要冒資金和技術(shù)上的風(fēng)險,既要資金不斷流也要技術(shù)不落后,沒有一定的技術(shù)實力還真不敢攬這瓷器活。
幾年前的LithTech引擎就耗費了開發(fā)公司五年時間和700萬美元
不過,一旦開發(fā)成功,收益也是非常大的,就如虛幻引擎的開發(fā)商EPIC那樣,只靠虛幻3引擎的授權(quán),這家公司就可以活得很滋潤,這樣的先例也鼓舞著越來越多的公司仿效Id、EPIC瞄準引擎授權(quán)市場,這個領(lǐng)域中的競爭也日趨激烈,這在一定程度上可以促進引擎技術(shù)的發(fā)展,但是也希望游戲開發(fā)商不要忘記一點:一款游戲成功的關(guān)鍵不在于引擎的好壞,畫質(zhì)的高低,游戲本身好玩與否才是決定性的。馬里奧、俄羅斯方塊歷經(jīng)二十多年而不衰,有些高畫質(zhì)游戲可能兩三年就無人問津,也許這個比較并不恰當(dāng),但是其中的含義還是很明了,決定游戲生死的永遠是游戲本身是否好玩,這是最簡單的道理,恐怕也是最難把握的道理。
引擎不是決定游戲好壞的唯一
第三篇:LUNA_游戲引擎介紹
LUNA
游戲引擎介紹
學(xué)院:計算機科學(xué)與技術(shù)班級: 學(xué)號: 姓名:
《LUNA 游戲引擎介紹》
LUNA游戲引擎系LUNA團隊精心研發(fā)的拳頭產(chǎn)品,該引擎秉承了國內(nèi)外許多著名游戲引擎的優(yōu)點,并開創(chuàng)式的融入了多個游戲引擎制作的新模式、新觀點,較好的吸引了其他知名游戲引擎的精華,是中國國內(nèi)游戲引擎中非常優(yōu)秀的作品,雖然該引擎的商業(yè)版遲遲未能推出,但絲毫不能阻擋業(yè)界開發(fā)者想揭開她神秘面紗的想法,現(xiàn)在特對該引擎作一些技術(shù)揭秘:
LUNA 游戲引擎經(jīng)過多個版本的更新和衍生,從最初單純的游戲基本庫到如今擁有完整且多元化的游戲制作解決方案,經(jīng)歷了五個年頭。在這五個年頭里,LUNA引擎的主要開發(fā)者Villa Lee先后數(shù)次大刀闊斧的整改引擎的結(jié)構(gòu)和框架,由其是最近一個版本的更新,耗費了半年時間之間,實時的給引擎注入代表當(dāng)今世界最領(lǐng)先圖形技術(shù)和游戲制作技術(shù)。
為了具備與操作系統(tǒng)無關(guān)性的特點,LUNA引擎單獨劃出了兩個底層管理模塊。
第一個是操作系統(tǒng)轉(zhuǎn)置層,該層中主要封裝了Linux、Win32等不同操作系統(tǒng)的API,同時包含了底層錯誤反應(yīng)系統(tǒng)、事件驅(qū)動系統(tǒng)、CPU監(jiān)測管理系統(tǒng)、Thread Manager、和兩個高精度計時器;
另一個是操作系統(tǒng)管理層,類似于MSDOS的Io.sys。該層中主要集成了Memory監(jiān)測管理系統(tǒng)、管道處理系統(tǒng)、管道映射表分析器、管道搜索器、FPU/3D Now!?/SSE 優(yōu)化指令集。
同大多數(shù)著名的引擎一下,LUNA有極為豐富的高效的渲染指令。并且這些指令是以類工廠形式提供給引擎使用者使用的。各個指令的分類以及各個其他非渲染類子系統(tǒng)相關(guān)的功能如下表:
? 角色動畫、模型系統(tǒng)
支持Lod Mesh,根據(jù)視點距離自動減面及調(diào)整細節(jié)等級。支持頂點位移、旋轉(zhuǎn)、縮放動畫 支持蒙皮(Skin)
支持骨架和骨架動畫。3ds max 中的Biped、Bones 或Dummy 等均可作為骨架輸出。支持材質(zhì)動畫 支持路徑動畫 支持材質(zhì)坐標系動畫 支持貼花紙(Decal)動畫 支持貼花紙坐標系動畫
支持融合和形變動畫,例如從人變成龍或其他動物 支持面部表情動畫
支持可見度動畫,如模型或模型部分淡入淡出。支持通用和任意縮放動畫,或模型的部分任意縮放動畫
支持動畫合成,同一模型同時可以播放多個動畫,不同動畫會自動疊加合成,不同動 畫可以按照不同的速度播放。支持自定義動畫長度和播放速度,在模型輸出時可以調(diào)整動畫的播放速度。支持動畫播放運行時加速、減速。
支持動畫中某幀觸發(fā)相對應(yīng)的事件,例如播放到動畫中某一幀的時候進行扣血等。支持對模型的部分進行操作。
支持環(huán)境貼圖、反射貼圖、細節(jié)貼圖等,可以做反光效果等。? 碰撞檢測系統(tǒng)
快速準確的碰撞檢測算法。支持邊界框碰撞。支持AABB 碰撞。支持射線碰撞。支持任意形狀的碰撞。
支持按照不同類別的物件進行分類碰撞。例如可以設(shè)定玩家與地面、靜態(tài)物件等發(fā)生 碰撞,怪物與地面發(fā)生碰撞卻不與靜態(tài)物件發(fā)生碰撞等。? 效果系統(tǒng)
效果系統(tǒng)包含對各種光效組合的支持,全面提升游戲畫面的可視性: 支持材質(zhì)自動融合。支持實時動態(tài)陰影。
支持動態(tài)光效,支持非線性光效動畫,可自定義RGB 三色關(guān)鍵幀動畫。支持爆炸效果。支持熔巖效果。支持太陽眩光。支持閃電特效。
支持鏡頭顫動效果,可自定義顫動的物理頻率和振幅。支持刀光劍影。
支持雨雪效果,雨雪材質(zhì)可以從指定的材質(zhì)列表中隨機選擇,雨雪量大小、風(fēng)力大 小、雨量速度等等參數(shù)可以自定義,支持暴風(fēng)雨效果(特定算法)。支持水花和波紋、氣泡效果。支持物件被擊破產(chǎn)生碎片。支持運動模糊效果。
支持自定義特效,可以在顯卡上對硬件顯示模塊進行直接編程,高速執(zhí)行,算法類似 Uneal3。所有自定義特效可以通過特效管理器進行管理,并可分別運用在不同模型 上。? 粒子系統(tǒng)
>>> 自定義粒子觸發(fā)方向、發(fā)散參數(shù)、發(fā)散位移參數(shù)、生存周期、間隔周 期、內(nèi)外延角、風(fēng)力參數(shù)、推進力參數(shù)、重力、推進力變化參數(shù)、速度參數(shù)等等參 數(shù)。
支持動態(tài)貼圖,可以調(diào)整材質(zhì)變換速度。支持粒子不同階段使用不同顏色。粒子發(fā)散器可以控制粒子噴射數(shù)量。粒子可以綁定在模型上特定節(jié)點。
專門有為粒子編寫的粒子腳本編輯器方便策劃人員編寫漂亮的粒子。? 室內(nèi)場景系統(tǒng)
支持BSP/PORTAL/PVS 算法。支持光圖。
支持室內(nèi)動態(tài)光效,支持頂點光。
支持室內(nèi)全場景警報狀態(tài),全場景產(chǎn)生某種特定光效。支持多層細節(jié)層,自動減面。支持材質(zhì)替換。
支持路徑編輯??捎糜谶^場動畫或游戲。支持室內(nèi)觸發(fā)器。支持鏡像物件,如鏡子等。支持自定義節(jié)點。支持力場。? 室外場景系統(tǒng)
支持無邊際連續(xù)室外地形,地形可以動畫變化。支持海底場景和天界等無重力場景。室外地形支持連續(xù)自動減面。
室外地形支持多種材質(zhì),支持同一區(qū)域上多材質(zhì),支持材質(zhì)自動融合。支持流水和動態(tài)波紋,支持天空倒影,水流波浪等參數(shù)均可調(diào)整。支持晝夜變化。支持質(zhì)量霧。支持場景中可見度。
支持太陽光和太陽光效,太陽光支持顏色和亮度的關(guān)鍵幀非線性變化,太陽高度角可 以變化。支持天空中多層動態(tài)云層。
場景中支持風(fēng),支持風(fēng)速變化,支持暴風(fēng)。? 場景管理系統(tǒng)
細節(jié)層管理器,可對場景中所有物件進行同一細節(jié)層管理。光效管理器,可對場景中眾多光效進行同一管理。場景分區(qū)域管理,無縫銜接。高速搜索算法,管理需要渲染的對象。? 格式容合系統(tǒng)
格式容合系統(tǒng)主要是為了高效的重復(fù)利用開發(fā)者已擁有的游戲資源,可以不經(jīng)任何其他轉(zhuǎn)換直接應(yīng)用到游戲中而設(shè)計。支持兼容文件格式包含如下清單:
完全支持QUAKE引擎的.MDL/.MD2/.MD3/.BSP/.WAD文件格式,并提供直接高效渲染方法 完全支持COLLADA DTE格式以及微軟的.X的MESH、SKINMESH模型文件格式,并提供直接高效渲染方法
完全支持MS3D文件模式,并提供直接高效渲染
支持.3DS文件頂點動畫和模型文件模式,并提供直接高效渲染方法
支持.PNG/.DDS/.TGA/.BMP/.IMG/.PCX/.GIF/.WMF等等諸多常用的圖片文件格式 支持目前應(yīng)用較大的.WAV/.MP3/.MID/.SND/.WMV/.AVI/.MPEG等等聲音媒體文件格式
?用戶界面系統(tǒng)
全真模擬Windows 的結(jié)構(gòu)化控件的管理系統(tǒng) 各控件可以按照不同的方式隨父控件縮放、移動 良好的擴展性,容易增加新控件 ?3D音頻系統(tǒng)
支持多種音頻格式:WAV、MP3、MIDI、WMA、CD 音軌等。多通道音效。
支持真實3D 音效,支持多普勒聲波衰弱算法、3D 音頻搖動。支持軟件和硬件加速混音,支持DirectSound?、EAX
2、EAX 3。支持高級音效處理(類似Winamp 的DSP 系統(tǒng))。?人工智能系統(tǒng)
新一代交互系統(tǒng)
長期以來,游戲玩家主要是通過鍵盤、鼠標或游戲手柄來完成游戲操作,LUNA引擎在對這些基本游戲交互設(shè)備的支持情況下,特意融合了國際較為知名的低分辨率動態(tài)圖像識別算法和語音識別算法,使玩家在較低成本投入情況下,用肢體或行為語音來完成對LUNA游戲引擎開發(fā)的游戲的操作。增添了對游戲的參與性及親身體驗感。
其中動態(tài)圖像識別系統(tǒng)包含:動作跟蹤、動作運動軌跡計算、動作深度判定、色相位自調(diào)節(jié)、正切線二次插補等子模塊。識別速度快、精度較高。
網(wǎng)絡(luò)引擎系統(tǒng)
LUNA游戲引擎本著最低的游戲開發(fā)成本為宗指,在強大的圖形渲染平臺上加入了高效的網(wǎng)絡(luò)引擎系統(tǒng),該系統(tǒng)采用IOCP完成端口模型+P2P超接點網(wǎng)絡(luò)技術(shù),支持TCP/IP、UDP、HTTP等多種網(wǎng)絡(luò)傳輸協(xié)議,使開發(fā)者在較短的開發(fā)周期內(nèi)制作出高質(zhì)量的網(wǎng)絡(luò)程序。物理引擎系統(tǒng)
游戲中的玩家運動均按照真實的動力學(xué)計算,整個場景中包含重力、重力場。場景中存在 風(fēng),煙可以隨風(fēng)飄動;水中存在更大的阻力和浮力,有些物體可以隨水流走。支持鋼體精確碰撞。
支持針對汽車、飛行器材、船支等交通工具類的不同動力學(xué)算法。
支持自由落體或施加力、力場的物體運動,例如子彈等,可以留下漂亮的彈道。配合自制的骨骼系統(tǒng)輕松完成物體碎裂、變形、散落等現(xiàn)實世界描述
LUNA引擎從開發(fā)伊始,就十分重視游戲工具、編緝器的開發(fā)。目前已經(jīng)成功開發(fā)了方便實用的工具套間,其中包括:
場景編輯器、腳本編輯器、模型編輯轉(zhuǎn)換器、模型和動畫VIEWER、音頻編輯器,其中場景編輯器包括地形編輯模塊、運行時調(diào)試工具、屬性編輯模塊、任務(wù)編輯模塊等等。
第四篇:星際爭霸2游戲引擎技術(shù)分析
《星際爭霸2》游戲引擎技術(shù)解析
摘要
作為暴雪十多年磨一劍的大作,《星際爭霸II》可是包含了現(xiàn)在最尖端的技術(shù)和效果,無論是暴雪的質(zhì)量還是技術(shù)相信都是世界頂級的水平,這樣的游戲公司確實在為自己的的作品留芳百世而努力!不過,至于還要等多久,至今仍是一個謎。
就在SIGGRAPH大會剛結(jié)束之后,AMD和暴雪在AMD官方網(wǎng)站上放出了《星際爭霸II》的官方技術(shù)文檔,通過游戲引擎技術(shù)的展示讓星際迷們感受到越來越多的驚喜。
著色方面,在使用原型的基礎(chǔ)上利用3D Studio MAX讓程序員對整體效果做最大的優(yōu)化,反復(fù)的提煉使得整個作品就像被藝術(shù)家精心雕琢一樣,配合上8000個獨特的、不重復(fù)的線性著色渲染代碼,使得Starcraft II與早期的游戲代碼相比增加了N倍。
在游戲制作初期,暴雪就認識到GPU的強大性能,因此在設(shè)計的時候就采用了以GPU為主的優(yōu)化和大幅度圖像質(zhì)量增加。
由于使用大量像素渲染操作,如果在游戲中當(dāng)你選擇了控制成百上千的zerglings或者marines等作戰(zhàn)單位集體行動,勢必造成CPU超負荷,即便是強大的GPU這也是一個考驗。
大量的視覺特效(Based Effects)
包括FP16 HDR、光線散射/反射效果(Diffuse and specular for lighting)、景深效果(depth of field)、體積霧(fog volumes)、動態(tài)環(huán)境遮蔽(dynamic ambient occlusion)、智能貼圖置換(smart displacement)等等,這些都是Starcraft II的“BT”之處。
然而,作為一個即時戰(zhàn)略游戲,暴雪依然在“故事情節(jié)”的設(shè)定上下足了功夫,在游戲引擎的影響下,延遲緩沖器的深度和平均值,包括著色組建都完全為了效果而服務(wù)。而照明管道和陰影的利用也讓深景效果等一些特效表現(xiàn)得淋漓盡致。不過,這些特效都還在討論中。
在早期的開發(fā)過程中,圖形引擎也作為一個重點中的重點進行設(shè)計:
可擴展性第一
對于游戲引擎來說,一個主要的設(shè)計目標是擴展的引擎。暴雪的游戲質(zhì)量是人所共知的,不光是他們的能力,更重要的是經(jīng)驗,從以前的一系列游戲開發(fā)經(jīng)驗來說,整個游戲各種族之間能力的平衡問題非常重要,而且圖像效果之間的兼容性也必須考慮到,這樣也是為了各種不同平臺硬件之間搭配的玩家都能體驗這個游戲的魅力所在,以確保游戲有足夠的競爭力,因而從ATI Radeon 9800/NVIDIA GeForce FXs系列到ATI Radeon HD 4800s和NVIDIA GeForce G200s都可以輕松的進行游戲。
相比之下,GPU的負載才是重點,像素著色單元往往會因為大量的單位同時出現(xiàn)而使得GPU難以承受,頂點著色單元的運用也必須合理,而先進的GPU才能體驗到最大限度的特效,而對于普通的GPU只能盡量減少使用率來保證游戲的流暢度。
一個引擎,兩個“世界”(Dual Nature of the Engine)
這個雙重性質(zhì)的引擎使得整個游戲有更完美的體驗,其實就是說SC2具有兩個視角模式,一個是普通的RTS視角、一個是單人模式的RPG視角,當(dāng)然在這兩個模式下呈現(xiàn)的畫面效果是有所不同的。具備兩個視覺模式的原因正是我們之前提到的故事模式,當(dāng)切換到單人模式的RPG視角時,玩家將會體驗到暴雪對于整個游戲設(shè)定的精妙之處,通過一系列互動,包括對話等手段,其實從某種感覺上來說更像是第一人稱射擊游戲(FPS)。暴雪還將對這些不同的設(shè)定做更為細致的討論,這樣才能讓玩家體驗到不同的技術(shù)效果的運用。
屏幕基礎(chǔ)效果
作為Starcraft II的另一個設(shè)計目標,照明環(huán)境模式讓游戲的互動更多,之前在魔獸爭霸三中,每個單位有一個硬性限制,有多少亮度,可能會影響它在任何特定時間。出于這個原因,使用動態(tài)照明是相當(dāng)微不足道的,但是在Starcraft II中每個單位有一個照明設(shè)備,當(dāng)其中一個開啟之后其他也會開啟,這樣效果非常好,但是由此帶來的地圖的設(shè)計和繪制,包括地圖地形切片就成了相當(dāng)復(fù)雜的問題。而即便是解決了這些,給GPU帶來的負荷也是巨大的。
針對于此,暴雪也做了很多限定 :
◆ 顏色組成部分,并不受當(dāng)?shù)卣彰?,如發(fā)射、環(huán)境地圖和點燃前期的彩色組成部分;
◆ 深度;
◆ 每像素正常;
◆ 如果使用靜止環(huán)境閉塞,出口的環(huán)境閉塞的紋理被忽略,如果屏幕空間環(huán)境閉塞啟用;
◆ 亮燈的彌漫物質(zhì)的顏色;
◆ 亮燈的鏡面材料的顏色。
解碼緩沖器
所有的緩沖器應(yīng)該都使用相同的深度,不幸的是似乎這些緩沖器遠遠不能滿足暴雪的需要,這些緩沖器以24字節(jié)每像素推動輸出帶寬,這樣使得整個帶寬明顯不足,因此在安置光源的時候必須犧牲一些。
為了向MRTs提供每像素值以保證用于各種的效果,因而以下必不可少:
◆ 深度值為照明、霧卷、動態(tài)環(huán)境閉塞和智能景深,預(yù)測,邊緣檢測和厚度測量;
◆平均值為動態(tài)環(huán)境閉塞;
◆ 彌漫性及鏡面照明。
延遲渲染
在Starcraft II中延遲渲染只適用與當(dāng)前的渲染,包括燈光的點和散射出去的面都要再渲染,但是由于游戲中會出現(xiàn)很多的照明設(shè)備,如果都使用這樣的方法渲染的話一定會造成畫面過于緩慢,因此延遲緩沖器的出現(xiàn)也解決了這一難題。在延遲渲染和著色方程式的幫助下計算機能很快的繪制出不同形式或者更為復(fù)雜的光源,這樣也為其他的計算提供了一個后處理的過程。
像素坐標重建
受益于早期的樣板,暴雪在設(shè)計新的形狀和色彩的時候輕松了不少,而且同時還釋放了CPU。
相機原理我們都知道了,就通過這樣的模式使得暴雪在視覺上更了解該如何設(shè)計。
屏幕空間環(huán)境光遮蔽
屏幕空間環(huán)境光遮蔽(Space Ambient Occlusion,簡稱SSAO)。如果對這個名詞感到陌生,那提及到讓大家記憶猶深的《Crysis》逼真的光照效果時,一切就很簡單了,這就是SSAO技術(shù)的獨到之處。
暴雪在這使用這方案的時候考慮到了整個空間的效果和質(zhì)感,也許從某寫方面上來看,沒這個必要,但是基于暴雪的理念,一點點瑕疵都是不被允許的。
在任何可見的點和表面在屏幕上,采取多個樣本(8至32),這些樣本,表現(xiàn)了在三維空間中從目前的點計算,到預(yù)計回屏幕空間所需的時間和深度。
現(xiàn)在的目的是檢查是否深入采樣點,如果接近這個更遠的采樣點本身能獲取信息的話就這么做下去,這是一個函數(shù)問題,因此需要復(fù)雜的計算。
不過在對地圖的計算時不會采用這樣的方法,這僅僅是為了形成一個空間的效果而已。模糊效果
前面的一切都是為了更加細致的描繪出所有的場景,但是,有時候游戲還是需要一些模糊的圖形圖像,如果一直使用SSAO技術(shù)的話,必然導(dǎo)致不真實。
對于SSAO來說,雖然是一種優(yōu)勢,但是高智能的判斷在這時也顯得尤為重要,何時需要高精度的細致圖像,何時需要動態(tài)模糊效果,無論是著色還是渲染都需要大量的資源的計算才能顯現(xiàn)這些復(fù)雜的效果。
自我閉塞
這也是一個相當(dāng)復(fù)雜的效果,就像一個圍繞著一個半球體產(chǎn)生偏移向量,這一點上在屏幕上(這意味著需要使用大量的延遲緩沖器),由一個矩陣轉(zhuǎn)化每個偏移向量和正常向量來抵銷矢量。
邊緣處理
偏移向量在空間中并不像在屏幕空間中一樣,由于鏡頭的不斷移動使得SSAO不斷變化,這樣就需要在移動的過程中對鏡頭的邊緣進行處理,以保證完美的視覺效果,但是紋處理包裝上并不是一件簡單的事。SSAO的表現(xiàn)
SSAO提供的效果是讓人相當(dāng)滿意的,視覺圖像質(zhì)量的處理近乎完美,但是成本過高,而且大量使用還是會造成系統(tǒng)性能瓶頸,這樣得不償失,因此合理的使用這個技術(shù)也是討論的問題之一。
SSAO和整體光線效果
從圖中很明顯的發(fā)現(xiàn)了SSAO的精妙之處,如此逼真的效果讓人贊嘆不已,其實更多的還是其后面的技術(shù)支撐。
我們可以把一切制約因素一起使用以下過程表示:
◆為每個像素在源的形象和存儲執(zhí)行一個全屏幕通過計算混亂循環(huán)結(jié)果,在Alpha通道的每邊縮減一個CoC圖像緩沖區(qū)的四分之一大?。?/p>
◆產(chǎn)生中等模糊圖像通過應(yīng)用的RGB高斯模糊與每個樣本對源圖像加權(quán)CoC;
◆產(chǎn)生的最大模糊圖像只有縮小的RGB的圖像緩沖區(qū)源圖像的四分之一,每一個CoC和大型模糊緩沖器可以同時使用不同的通道;
◆最高模糊圖像與RGB樣本加權(quán)由縮減CoC執(zhí)行,Alpha通道中載有CoC,也有模糊,但其樣本不加權(quán)本身;
◆縮小和模糊一張深度地圖成為一個縮減深度圖像,重用深入SSAO縮減(SSAO不模糊深度);
◆然后開始最后的景深著色,有一定的形象來源,中等和大型模糊、模糊CoC的形象,非模糊深入地圖和縮減深入形象的渲染。
景深渲染包括:
◇計算小模糊價值,直接使用小樣本著色四近鄰像素;
◇計算CoC的像素(縮減CoC將不匹配);
◇樣本非模糊,使用模糊的深入比較——計算機CoC,如果是模糊的深入,比非模糊的深入更遠,否則使用CoC價值樣本,模糊CoC的形象;
◇計算貢獻,從每一個可能的模糊圖象,計算小模糊的顏色,中型和大型的圖像模糊的基礎(chǔ)上,CoC的因素;
◇小型,中型和大型模糊;
◇輸出Alpha包括的源(無模糊)形象。處理透明物體渲染
透明度是一個值得深入研究的問題,當(dāng)涉及到開發(fā)時暴雪的董事會認為延遲渲染技術(shù)不支持透明度的話就應(yīng)該在其他地方加上這個功能,而事實證明這是一個正確的選擇。
作為是典型的就是延遲繪制技術(shù),透明度的問題還設(shè)計到樹蔭等一系列問題,因此必須選擇一些有代表性的物體來標記之后再做探討。光線的問題在透明度的談?wù)撝性僖淮伪惶峒?,因為這是個相輔相成的東西,因此暴雪在制作這一切的時候都努力的尋找解決方案。
半透明陰影(Translucent Shadows)
這種技術(shù)能令煙霧、爆炸也能投射出陰影效果。
早期在建模的時候影子系統(tǒng)都是成功地利用屏幕空間信息解決跟蹤問題,否則將會困難很多,但這次暴雪將顯示如何延長陰影地圖的每像素信息與一些額外的信息通道,可以用來容易的充實陰影,地圖上實現(xiàn)半透明的陰影支持。
陰影地圖算法是延長與第二地圖的陰影信息形成半透明的陰影,大部分地圖的影子仍然會包含不透明信息的陰影,此外還需要做到在顏色的緩沖區(qū)發(fā)現(xiàn)顏色半透明的陰影。不過,這一切都需要硬件的支持,如果硬件不支持將會有一個空的顏色,因此在考慮到深景等特效的時候暴雪依然在處理陰影效果。
首先是清理,以白色調(diào)和,然后填補渲染透明物體的陰影,就這樣形成一個透明的陰影色彩緩沖區(qū),再加上測試,處理這些透明光過濾器,最后形成需要的效果。
光過濾處理器
總結(jié):
從上面簡短的一份官方技術(shù)文檔(因為AMD只放出這一部分),我們已經(jīng)可以了解到暴雪在SC2這個游戲上所付出的努力和貢獻了,其效果之華麗恐怕也是驚人的。作為暴雪十多年磨一劍的大作,《星際爭霸II》可是包含了現(xiàn)在最尖端的技術(shù)和效果,無論是暴雪的質(zhì)量還是技術(shù)相信都是世界頂級的水平,這樣的游戲公司確實在為自己的的作品留芳百世而努力!不過,至于還要等多久,至今仍是一個謎。
第五篇:讓人才優(yōu)勢成為發(fā)展引擎
讓人才優(yōu)勢成為發(fā)展引擎
人才是發(fā)展的第一資源,人才建設(shè)關(guān)系經(jīng)濟社會發(fā)展全局。當(dāng)前,很多地方和企業(yè)正處在深化改革、促進轉(zhuǎn)型升級的關(guān)鍵時期,迫切需要加強人才建設(shè),培養(yǎng)造就和吸引凝聚一大批各類人才。近年來,中航工業(yè)沈陽飛機工業(yè)(集團)有限公司在這方面進行了積極探索,讓人才在經(jīng)濟建設(shè)的主戰(zhàn)場上日益發(fā)揮“第一資源”作用,為實施創(chuàng)新驅(qū)動發(fā)展提供智力支撐,不斷釋放人才紅利。
在振興東北老工業(yè)基地的實踐中,中航工業(yè)沈陽飛機工業(yè)(集團)有限公司大膽解放思想、轉(zhuǎn)換機制,毅然決然地拋棄等、靠、要等“老國企”的傳統(tǒng)僵化思維,堅持以人為本,堅持自主創(chuàng)新,依托人才優(yōu)勢加快走新型工業(yè)化發(fā)展步伐,實現(xiàn)了老國企向新國企的轉(zhuǎn)變,步入實現(xiàn)新發(fā)展的快車道。十年間,一大批沈飛人矢志報國、埋頭奉獻,實現(xiàn)企業(yè)年年都有新型號、經(jīng)濟效益年年躍升的驕人業(yè)績,鑄就了國有企業(yè)新的輝煌。
托舉沈飛走上新型工業(yè)化之路的,正是不斷匯集的人才優(yōu)勢。肩負特殊使命的沈飛在發(fā)展中,將人才作為企業(yè)發(fā)展的原動力之一,走出了一條依托人才實現(xiàn)企業(yè)又好又快發(fā)展之路。
其一,在人才培養(yǎng)上,注重提高全員素質(zhì)、優(yōu)化人員結(jié)構(gòu)。公司平均每年吸納數(shù)百名投身祖國航空事業(yè)的高校學(xué)子,鼓勵本科畢業(yè)生從事技能操作崗位,構(gòu)建起“雙師型”技能人才隊伍,“藍領(lǐng)”早已不是體力勞動的代名詞。高端人才紛紛加盟沈飛,引智工作有條不紊地開展,博士生已達兩位數(shù),博士后科研工作站管理日益規(guī)范,一項項高端課題已經(jīng)轉(zhuǎn)化為技術(shù)成果直接應(yīng)用于科研生產(chǎn),實現(xiàn)了“智力流動,來去有序”的柔性方式。訂單式人才引進,拓寬人才的綠色通道,按照企業(yè)未來發(fā)展人才需求,將企業(yè)要求融入到學(xué)校教學(xué)計劃,公司派出兼職老師參與教學(xué),為公司戰(zhàn)略發(fā)展儲備各類所需優(yōu)秀人才。
其二,積極選送有發(fā)展?jié)摿Φ哪贻p干部到國內(nèi)外高校、企業(yè)進行學(xué)習(xí)和實踐鍛煉。對專業(yè)技術(shù)及技能人才采取了委以重任、產(chǎn)學(xué)研相結(jié)合等方式進行全方位的培養(yǎng)。通過一系列措施的實施,沈飛培養(yǎng)鍛煉了一批技術(shù)專家、高技術(shù)人才和高級管理人才,一批專業(yè)帶頭人、金牌工人、藍領(lǐng)精英脫穎而出,涌現(xiàn)出眾多青年人才的杰出代表。人才的培養(yǎng)為企業(yè)插上了騰飛的翅膀,為迎接新時期航空高科技領(lǐng)域競爭創(chuàng)造了條件。
其三,大力營造崇尚實干、鼓勵創(chuàng)新氛圍。通過設(shè)置“長、家、匠”通道,沈飛把合適人員配置在合適崗位上,逐漸形成科學(xué)合理的人才梯次。特別在領(lǐng)導(dǎo)干部和技術(shù)人才使用上,從企業(yè)長遠戰(zhàn)略出發(fā),在關(guān)注企業(yè)目標實現(xiàn)的同時,尊重員工的意愿和個人價值的實現(xiàn)。航空產(chǎn)業(yè)作為高科技產(chǎn)業(yè),專業(yè)技術(shù)領(lǐng)軍人才培養(yǎng)和選拔至關(guān)重要。沈飛高度重視專業(yè)技術(shù)領(lǐng)軍人才隊伍建設(shè),不斷招收、引進和培養(yǎng)“高、精、尖”人才,并以此為牽引,帶動整個員工隊伍水平不斷提升,一批專業(yè)人才成為支撐航空工業(yè)騰飛的重要引擎。