2009年3月21日 星期六

UE3遊戲引擎深入解剖












介紹:本文將帶領各位玩家深入了解UE3背後的強大技術特性,並實地測試目前N/A數款流行顯卡在已發布的幾款游戲中的實際表現,以此預測未來游戲的需求趨勢
關鍵:UE3/游戲/顯卡/3D技術

前言
1998 年,一款名為《虛幻》(Unreal)的游戲以其夢幻般的畫面震撼了整個業界,然而真正為業界帶來革命的卻是用于開發這款游戲的引擎──Unreal Engine。從那個時候開始,EPIC的Unreal engine便一舉成名,走出幕後成為業界最受歡迎的引擎之一,它打破了原本ID創造的神話,開始與ID的Quake系列引擎一起占據了商用游戲開發引擎 市場的半壁江山。也就是從那個時代開始,PC界的兩大技術龍頭公司你追我趕,在接下來的幾年里陸續更新換代他們的產品,並交替成為Engine界的技術領 頭羊。


2002 年,EPIC推出第二代Unreal Engine,在技術上成功超越ID當時的Quake 3 engine,成為業界新高。不過,隨著顯卡白熱化競爭帶來的技術飛速發展,Engine開發商們也被迫急速更新換代,技術上的進步可以說是日新月異,很 快除了ID在2004年拿出他們的新一代DOOM3引擎外,原本在引擎技術方面鮮有建樹的Vavle也拿出了他們的SOURCE Engine加入競爭,而更加令人大跌眼鏡的是以絕對黑馬姿態登場的德國游戲開發商Crytek,祭出Cryengine這把引擎神器,其對業界帶來的震 撼絲毫不亞于當年的Unreal!!


一 時間在三大巨頭的強勢壓迫下,EPIC不得不讓出還沒戴穩的engine技術桂冠,市場份額也受到不小的侵蝕。也正是在這樣的背景下,促使EPIC不得不 加緊開發下一代Unreal引擎,終于,在2005年的GDC上,EPIC向世人宣布他們的第三代Unreal Engine已經蓄勢待發,即將重新登上Engine技術領頭羊的寶座。EPIC不僅技術上不斷進步,而且在商場上打滾多年的它在競爭策略的制定上也變得 越來越老練,此時engine界又冒出另一家極具威脅性的公司Artificial Studios,該公司的Reality Engine具有跟UE3叫板的實力,然而現今的EPIC是決不會容忍市場上再冒出一個像Crytek這樣年輕力盛的競爭者,于是便及時出手收購,將其扼 殺于搖籃中!!
EPIC在UE3發布會上公布的一些演示視頻可以說是讓玩家們目瞪口呆,相信每個玩家都跟筆者一樣期盼著早日能夠玩到 “Unreal Engine 3 Powered”的游戲,不過UE3之父Tim Sweendy在當時就指出UE3游戲大規模上市還得等到2006年,然而由于種種原因,UE3游戲卻始終姍姍來遲,知道2007年的今天才陸續登場。今 天,本文將帶領各位玩家深入了解UE3背後的強大技術特性,並實地測試目前N/A數款流行顯卡在已發布的幾款UE3游戲中的實際表現,讓玩家了解自己的硬 件在UE3中的表現,此外還可以幫助我們預測未來游戲的需求趨勢。

虛幻引擎3技術縱覽
虛 幻引擎3技術概覽 虛幻引擎3是一個面向新一代游戲機(PS3跟XBOX360)以及DX9/10 PC的先進而強大的游戲開發平台,它為游戲開發者提供了大量的核心技術、數據生成工具和基礎支持。 虛幻引擎3(下文簡稱UE3)從設計之初就以先進的技術特性以及高易用性、擴展性為目標,其每一個方面都具有比較高的易用性跟擴展性,這是其相比其它商用 3D游戲開發引擎的最大優勢。UE3尤其側重于數據生成和程序編寫方面,這樣的話,美工只需要程序員的很少量的協助,就能夠盡可能多地開發游戲的數據資 源,並且這個過程是在完全的可視化環境中完成的,實際操作非常便利;擴張性方面,UE3還為程序員提供一個具有先進功能的,並且具有可擴展性的應用程序框 架(Framework),這個框架可以用于建立、測試和發布各種類型的游戲。 而對于玩家而言,UE3最令人矚目的特點就在于其先進的技術特性,特別是在圖形方面,下面我們就一起來看一下UE3在圖形方面有何高明之處:縱覽UE3的 先進圖形系統,我們大概可以將其分成3大部分來介紹,我們首先來看第一部分

先進的光照跟複雜的shader特效
自 從2004年NV40面世以來,FP16精度的HDR就成為最熱門、曝光率最高的技術,如今新一代的游戲以不在滿足于傳統8BIT LDR精度。新一代的虛幻引擎自然也不會棄FP16HDR于不顧,UE3已經全面支持FP16HDR渲染管道(EPIC稱其為64位色高動態範圍渲染管 道),UE3包含一個具備Gamma校正和線性顏色空間功能的渲染器,它不但可以提供完美的顏色精度,同時還支持諸如光暈、動態模糊、景深等各種後期處理 特效。

FP16 HDR Bloom高亮效果
UE3 的光照系統還支持延遲著色技術(Deferred Shading),該技術可以說是未來游戲的發展趨勢,其原理簡單點講就是先把全景多邊形物體的信息比如位置、法線面、漫反射貼圖、環境貼圖等等渲染到一 個“巨大”的緩衝區里(G-Buffer),而把打光步驟延遲。這樣做的好處一來是可以創建大量的點光源以及產生真實的光照結果,提高畫面的真實度;二來 是可以避免對不可見的點進行光照,節省了資源;不過,延遲著色並不是很適合DX9,在目前的硬件上必須以犧牲MSAA(多重取樣抗鋸齒)為代價,而在新的 DX10硬件上則沒有問題 。值得一提的是,最新版本的UE3已經為DX10做了優化,MSAA已經完全沒有問題,但是目前面世的幾個採用UE3的游戲都是基于老版本的UE3開發, 所以對MSAA的支持還存在各種問題(對于目前的幾個UE3游戲,筆者懷疑它們很可能都沒有使用延遲著色技術,無法直接打開MSAA可能另有緣由),甚至 讓部分玩家產生了“缺乏AA就是UE3的標志”這樣的錯覺……




複雜的材質效果
UE3 支持當前所有常見的逐象素光照技術,支持法線貼圖、位移貼圖、光線衰減函數、預計算陰影遮罩、方向光照貼圖、參數化phong光照以及使用球形 harmonic貼圖的預渲染凹凸自體投影技術 。除此以外美工還可以在自定義的材質上使用帶各項異效果的逐材質光照模型;由此可見UE3已經支持各種高階shader特效,Tim Sweeney就曾指出在《虛幻競技場》中,最長的shader已經高達200個指令!!

先進高效的投影系統
UE3另一個備受矚目的地方就是其先進而高效的動態陰影系統,就目前的資料來看UE3支持下列4種投影技術:


1.採用跟DOOM3類似的動態蠟版緩衝容積陰影技術,能夠此技術能夠讓動態光源位為場景中所有的物體上投射出精確的影子。

2.採用陰影緩衝技術為動態物體投射柔和陰影。此技術還應用了SM3.0的動態分支技術來檢測陰影邊緣需要柔和處理的部分,從而大大減輕GPU的運算量。

3.採用了擁有極高質量和極高性能的預先計算出的陰影遮罩,從而可以將靜態光源的交互現象離線處理,同時保留了完整的動態鏡面高光和反射效果。

4.方向光映射。此技術只有最新版本的UE3才具備,它允許預先計算出無限個光源對物體的靜態投影和漫反射法線映射光照結果,並將該結果保存為一組貼圖的格式,這種做法可以為那些需要高速運行的場景創造出大量的光源效果。



細膩的動態柔和陰影

以 上四種投影技術實現的陰影效果在視覺上都是互相協調相容的,並且可以按照美工的意願自由混合搭配。此外還可以與有顏色的衰減函數相結合,從而可以真實地表 現出諸如方向光、聚光燈光以及投射光等不同光照的投影效果 。多種動態、靜態投影技術的結合運用可以看出UE3非常注重性能跟畫面效果的平衡,在效能可接受的前提下盡量做到畫面最佳化可以大幅提高UE3的應用範 圍,也因此而備受游戲開發商的青睞。

無處不在的Normal Mapping跟virtual displacement mapping
法 線貼圖(Normal mapping)相信大家都已經很熟悉了,基本上現在畫面過得去的游戲多多少少都會用一點法線貼圖。該技術簡單點說就是通過計算高細節度模型的法線信息並 將其保存在一張高壓縮比(3DC/DC5)的法線貼圖之中,然後將這張法線貼圖貼在低細節模型上代替原型的多邊形曲面的光照計算,從而等到一個低多邊形、 高細節的3D模型。雖然它不是什麼先進高深的技術,但卻可以有效提高畫面細節並保証足夠的性能。法線貼圖的首次大規模應用可以追溯到2004年的Far Cry(在FC中,Crytek為他們的Normal mapping技術取了個別出心裁的名稱,叫“Ploybump”),雖然它不是什麼先進高深的技術,但卻可以有效提高畫面細節並保証足夠的性能,所以一 直到今天都深受歡迎。




法線貼圖跟位移貼圖為場景帶來接近上億多邊型的細節度




出去貼圖後可以看到實際場景僅有五十萬多邊型

UE3 中的Virtual Displacement Mapping,也就是我們平時所說的位移貼圖(offset mapping/parallax mapping),其原理跟法線貼圖類似,不過它還對對紋理坐標進行位移,因此凹凸感更強,更加適合表現表面坑坑窪窪的場景。而如今,UE3對于法線貼圖 和位移貼圖的應用又達到一個全新的高度。從《虛幻競技場3》(UT3)到《戰爭機器》(Gear of War),從人物角色到場景環境,Normal mapping跟Virtual Displacement Mapping可以說是無處不在~~兩者的大規模結合應用令游戲畫面立體感倍增,而且效率極高,幾十萬的多邊型就可以創造出接近1億多邊型的細節效果!!


EPIC 還特別為游戲開發者准備了一個分布式計算法線貼圖生成工具,可以讓美工方便快捷地完成法線貼圖的制作。通常在制作一個游戲人物的時候,美工先建立兩個版本 的網格模型:一個只有幾千個多邊型的實時演算模型和一個幾百萬多邊型的高細節參照模型。接著使用該工具的分布式計算功能對高細節參照模型進行光線追蹤計 算,並將其表明光照信息保存為一張法線貼圖,最後再將法線貼圖覆蓋到游戲中的實施演算模型,這樣一個幾千多邊型的低細節模型就能夠擁有接近幾百萬多邊型模 型的細節度!!不過要表現出精細的細節度,還必須滿足一個條件,那就是法線貼圖的分辨率必須足夠高,這對于顯存來說顯然是個不小的挑戰!Tim Sweendy在UE3首次演示時曾表示,UE3中大部分角色跟場景的普通貼圖和法線貼圖的分辨率都將高達2048×2048,按照他當時的計劃,在 2006年左右的中高端顯卡因該可以輕松滿足這一目標,他甚至預測這一時期的高端卡將配備高達1G的顯存!!不過現實卻不像他預測中那麼樂觀,實際上即使 到今天,配備1G顯存的顯卡也只有2900XT唯一一款產品。所以目前面世的幾款UE3游戲基本上都存在材質模糊的毛病,硬件達不到要求,開發商只能妥協 採用分辨率較低的貼圖,所以一些玩家把材質模糊的問題怪到UE3頭上是不公平的。


多邊型數量過百萬的高精細度模型

只有幾千多邊型數量的游戲模型

高精度法線貼圖覆蓋下的游戲最終模型效果


Ageia PhysX驅動下的物理引擎
UE3 的其它先進圖形特性還包括:完全支持多核CPU跟多GPU系統;完全支持室內和室外環境的無縫連接,在任何地方都支持的動態逐象素光照和投影; 美工可以通過一個可動態變形的基本高度圖來建立地形,並使用多層混合材質,這其中包括位移貼圖,法線貼圖和任意複雜的材質,動態的基于LOD的細節以及植 被;另外,地形系統還支持美工控制的自然效果,如平地上的植被,陡坡上的岩石和山頂上的積雪 ;多屏幕分屏渲染;容積環境效果包括高度霧和物理上精確的距離霧等先進特效。


深度霧效果
對 于現代的游戲引擎,物理效果的好壞也是決定一款引擎是否優秀的關鍵因素。在這方面,UE3同樣走在業界的前沿。出了支持傳統的布娃娃系統 (Ragdoll,是目前最為流行的一種非常高級的物理引擎,能夠付給物體以一定的質量,形狀等特性,從而獲得非常逼真的力學動態效果。Half Life 2、Pain Killer等著名游戲均採用了這個物理引擎。 )


布娃娃系統
以 外,UE3還是第一個Ageia PhysX物理卡的支持者,有了Ageia PhysX的助陣,UE3又將游戲的物理效果提升到一個新的層次,其先進物理特性包括:剛體物理系統,支持玩家人物和游戲中的物體產生具備真實物理特性的 互動,從常見的布娃娃骨骼動畫和車輛運動到複雜的物體破壞分解等效果一概俱全。 所有可渲染的材質都含有物理特性,例如摩擦系數等參數;具備物理導向的音效系統;完全整合支持具備完整物理性的車輛,其中包括玩家的操控、AI和網絡功 能;游戲性導向的物理動畫,能夠生成根據物理學而產生變化的動畫;布料物理運動模擬等等特性~~





先進完善的網絡功能
網 絡對戰功能一直是PC游戲的最大優勢,而這一特性也被越來越多的游戲機廠商所重視,可以說網絡游戲正逐漸成為游戲業的未來主流,因此,為游戲開發商提供一 套完整先進的網絡系統就成了UE3必不可少的特性之一:實際上,Internet和局域網游戲對戰早就已經成為Epic的傳統競賽游戲《Unreal Tournament》系列的最大特征之一,虛幻引擎長期以來一直為用戶提供了靈活的高級網絡架構,適合于各種類型的游戲。而如今UE3除了保持傳統PC 游戲的Internet和局域網對戰這一特點外,也讓其它游戲機平台完全支持網絡對戰功能。

沒有留言: