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