未來啟示錄!05年超級游戲引擎全解析
端起火箭炮飛馳在3D引擎的發(fā)展史中,為我們留下深刻印象的作品有很多。例如Quake 3引擎以其優(yōu)秀的物理性能和出色的穩(wěn)定性造就了一代經(jīng)典,甚至為FPS游戲開創(chuàng)了一個新的玩法:Defrag。玩家通過借助武器爆炸的沖力可以在空中自由的飛翔,那種感覺就像駕駛著法拉利跑車在路上自由的飛奔。
虛幻引擎3+Speedtree引擎創(chuàng)造的出奇跡
隨著硬件性能的不斷提高,游戲性能也有了更加廣闊的發(fā)展空間。處于“靈魂”地位的游戲引擎自然也在大跨步的前進,今天我們就來領略一些前衛(wèi)的游戲引擎技術的風采,同時展望一下與其相對應的硬件將如何發(fā)展。
說到SpeedTree之前小編想閑扯兩句。我們都知道在工業(yè)生產(chǎn)領域,流水線工作方式的出現(xiàn)帶來了效率的極大提升。比如槍械的制造,在最早期的時候由工匠獨自一人完成整個產(chǎn)品,不僅效率底下而且一部分壞掉之后往往整個都要報廢。后來出現(xiàn)流水線方式的生產(chǎn)后,每個人只需各司其職將自己的零部件按照規(guī)格做好,最終就可以裝配成一個完整的產(chǎn)品。這樣做不僅工人的熟練程度和工作效率可以大大提高,同時也可以把細節(jié)做得更加精益求精。如今在游戲制作領域也漸漸出現(xiàn)了類似的情況。大家玩3D游戲的時候一定都很注意游戲所營造的效果,而衡量的標準又是什么呢?大多數(shù)人一定都會注意這幾個方面:樹木、水、光照以及人物等等。
同一人物在兩代《半條命》中的表現(xiàn)的確,樹木、水、光照以及人物都是3D游戲效果制作的重中之重,如果這些方面都做好了,這款游戲的效果必然就不會差。但這就有點類似剛剛提到造槍的例子,僅靠一己之力要想把這些都做好并不容易,必然要投入大量的人力物力和時間為代價。
也許是受到傳統(tǒng)工業(yè)流水線的啟發(fā),3D引擎方面也逐漸出現(xiàn)了單獨專注于某個領域的產(chǎn)品,例如我現(xiàn)在要講的SpeedTree就是這樣的一款引擎。顧名思義,SpeedTree是專門負責在游戲中“栽種”樹木的程序,它不僅能夠營造出非常真實的樹木和森林效果,而且可以作為“零件”方便的嵌入到其他渲染引擎當中,為任何一款游戲帶去優(yōu)秀的畫面。
以上是SpeedTree在虛幻引擎3中發(fā)揮的“巨大威力”,我們看到SpeedTree所制造出的樹木和森林達到了非常高的仿真度。配合上虛幻引擎3優(yōu)秀的光照效果,所營造出來的逼真畫面令人嘆為觀止。
也許有人擔心實現(xiàn)這樣逼真的效果豈不是非常的困難?不必害怕,SpeedTree有非常成熟的CAD開發(fā)界面,這令游戲制作人員省去了大量的時間和精力去做底層開發(fā),只需輕點鼠標就能夠在非常短的時間里營造出一片逼真的綠色世界。

動態(tài)風效果示意圖

動態(tài)調(diào)整多邊形SpeedTree還擁有很多特效以及優(yōu)化技術。開發(fā)者只需要輸入環(huán)境中的風速和風向等自然條件,SpeedTree就可以讓樹木實時生成絕對逼真的擺動效果。在優(yōu)化方面,上面的示意圖說明了在極遠處的樹木,我們只需要2個多邊形加上霧化就足夠真實了,而隨著距離的拉近,SpeedTree動態(tài)將樹木的多邊形數(shù)量調(diào)整到了1126個,最大程度上達到了性能和視覺效果的平衡。此外,SpeedTree引擎還能夠優(yōu)化程序代碼,在運行期間調(diào)整CPU與GPU之間的工作量分配,讓系統(tǒng)資源發(fā)揮出最大的效率。
以上是SpeedTree的開發(fā)流程,開發(fā)人員可以使用SpeedTreeCAD進行樹木建模,然后導入到3DSMax、Maya等開發(fā)環(huán)境中去加工細節(jié)和陰影等特效,最后將其作為資源交給引擎去處理。而SpeedTree之需要一層類似中間件的環(huán)境就可以嵌入第三方的渲染引擎當中去。
作為一款非常成熟的產(chǎn)品,SpeedTree已經(jīng)有了應用的實例,比如大名鼎鼎的《上古卷軸4:湮滅》。這款游戲的室外場景非常浩瀚,而且很多是在森林之中,借助SpeedTree引擎的威力,這些場景得到了非凡的視覺效果:很難想象如果沒有SpeedTree的支持,制作這樣的森林場景需要多少時間和精力。并且假如優(yōu)化不夠的話,這樣多的樹木和龐大的場景將會給系統(tǒng)造成非常沉重的負擔,到時候玩家們肯定要叫苦不迭了。
說起Havok可能不少玩家覺得陌生,但如果提到《半條命2》相信就沒有人不知道了。Havok正是為半條命2提供物理引擎的公司,他們的Havok Physics物理引擎已經(jīng)發(fā)展到了第三代,成為諸多游戲首選的物理引擎系統(tǒng)。
對于如今的3D游戲來說,畫面效果并不能代表游戲的全部,物理引擎所扮演的地位已經(jīng)日趨重要。所謂物理引擎就是負責計算場景里面物體之間互相作用效果的程序,物理引擎越完美,游戲就越顯得接近真實。
玩家要挪動箱子到窗口下面然后才能跳出去
玩過《半條命2》的朋友們一定記得,很多關卡都需要玩家用一些小的“手腕”來通過。比如將重物放在指定地點來觸動機關的開啟等,而這些簡直就是游戲在對其超強的物理引擎進行炫耀。
揀起罐子可以放到筐里面
拿起筐,你甚至還可以用鼠標將罐子“甩”出來
射擊地上的罐子,它會碰撞到墻角之后飛到半空
以上是幾個在《半條命2》和《CS:Source》(二者使用的都是Source引擎)中Havok Physics引擎起作用的例子,這些特性給游戲帶來了很多的樂趣,例如游戲開始不久就有個保安要求你把地上的一個罐子撿起來放到垃圾箱里面,你完成這個“任務”之后才能通過他把守的通道。
除了物體之間的相互作用之外,Havok Physics引擎還包含了類似“布娃娃”人體模型系統(tǒng),專門負責讓游戲中的人物動作更加真實。這套系統(tǒng)最大特點是能將人體按照現(xiàn)實情況分為很多相對獨立并互相關聯(lián)的部分,例如人物的手腕受力之后,力量會通過關節(jié)傳遞到小臂甚至大臂上面,使游戲中的人體模型不再是一個“大木桶”。
以上的截圖同樣來自《半條命2》和《CS:Source》,可以看到Havok Physics引擎讓其中的人體可以根據(jù)不同的受力擺出這種姿勢,而且完全和周圍的地形環(huán)境結(jié)合在一起,這種真實感是早期的3D游戲根本達不到的。
《半條命2》、《光環(huán)2》、《Painkiller》以及《榮譽勛章:血戰(zhàn)太平洋》這些游戲都是含有Havok Physics引擎的作品,很湊巧的是它們?nèi)际堑谝蝗朔Q射擊類型的,不過今年將有一款更加震撼的Havok Physics引擎游戲登臺:《帝國時代3》。與FPS游戲中寥寥幾人的情況不同,在策略游戲中會很容易出現(xiàn)上百人的作戰(zhàn)場景。使用了Havok Physics引擎的《帝國時代3》,會賦予屏幕上面每個士兵單元,甚至是他們的帽子、槍械以真實的動作和物理特性,想想看那將會是何等的壯觀的真實畫面!
其實《帝國時代3》不僅物理引擎非常優(yōu)秀,畫面的光照效果同樣是非常好的。我們可以回憶一下當年這個系列的前作,其畫面都無可挑剔。也許有人擔心這樣效果的游戲豈不是要變態(tài)級的配置才能流暢運行?小編我是比較樂觀的,別忘了微軟制作的游戲一貫在代碼優(yōu)化方面做得很出色,但愿這次也不會例外吧。
在剛剛過去的E3大展上面,虛幻引擎3無疑最引人注目的焦點之一。這是一個集合了多項優(yōu)秀引擎和技術為一體的“超級引擎”,它使用上文中提到的SpeedTree對樹木進行處理,并且集成了NovodeX物理引擎,還為游戲開發(fā)者提供了可視化交互式開發(fā)環(huán)境UnrealEd(Unreal Editor)。- SpeedTree
SpeedTree為虛幻引擎3帶來了無比真實的樹木與森林效果,由于上文中已經(jīng)有詳細說明,這里就不再贅述。
- NovodeX
NovodeX是虛幻引擎3中功能強大的新一代物理引擎,其性能決不輸給Havok Physics。NovodeX支持速度、加速度和彈性碰撞等物理概念,并且含有布娃娃系統(tǒng)令人物動作更加逼真。
以上是UnrealPhAT對人物和車輛的互動式編輯界面,虛幻引擎3對于創(chuàng)造和管理這兩種模型有著更加突出的優(yōu)勢,相信這一點我們會在將來的游戲中感受到。
音效編輯器復雜而強大的聲音仿真效果是NovodeX物理引擎的另一亮點,它不僅能夠模擬出音調(diào)隨著發(fā)音物體的速度而變化的多普勒效應(最明顯的例子是運動著的火車汽笛聲調(diào)會變的現(xiàn)象),甚至連同一物體中材質(zhì)不同的位置也能夠發(fā)出不同的聲音。
- 基于法線貼圖的渲染
在本站的另一篇文章【紋理壓縮的奇妙之旅 漫談X800的3Dc技術】中,對法線貼圖的概念有詳細的闡述。
在新一代的游戲引擎中,為了使物體凹凸效果逼真,大部分物體(尤其是角色模型)的法線貼圖都是通過比較高、低多邊形數(shù)量的兩個版本的模型來生成的。虛幻引擎3的角色模型里,高多邊形版本的模型(簡稱高多邊形模型)一般都會有幾百萬個面,擁有豐富的細節(jié);而低多邊形模型只有幾千個面。真正在游戲中使用的是低多邊形的模型。
高多邊形模型
低多邊形模型
低多邊形角色實時光影效果
在制作法線貼圖時,將高多邊形模型上每個多邊形的法線和低多邊形模型對應部位法線相比較,得出的差值再置入法線貼圖中。通過把這張法線貼圖賦予低多邊形模型,并實時計算光照,就可以使得渲染出的低多邊形模型的凹凸感與高多邊形模型十分接近,達到了游戲畫質(zhì)與性能的非常好的平衡。
什么游戲能夠最先使用萬眾矚目的虛幻引擎3?答案自然是《虛幻錦標賽》的下一部作品UT2007。從命名上我們也能夠感受到開發(fā)者征服新一代游戲領域的“野心”,他們能否如愿呢?看看下面的這些截圖吧:通過這些官方發(fā)布的截圖我們不難發(fā)現(xiàn),樹木、人物以及車輛確實是虛幻引擎3非常“擅長”的幾個方面。不過至于他們的實際光影效果以及物理引擎的性能如何,還要等到游戲發(fā)布的那一天才能知道了。
從命名上面我們就可以斷定,“真實引擎”(Reality Engine)是針對虛幻引擎而來的產(chǎn)品。由于這款引擎的開發(fā)商Artificial屬于名不見經(jīng)傳的公司,因此這樣的命名很顯然有些噱頭的味道。
點擊放大從官方公布的真實引擎與其他最新游戲引擎的規(guī)格對比來看,他們的產(chǎn)品在技術方面是走在尖端的,不過“紙上談兵”并沒有太大意義,最重要的還是讓我們來看看這款“真實引擎”的實際效果:
從這些游戲和Demo的截圖來看,真實引擎的渲染已經(jīng)達到了非常好的效果,尤其是易拉罐和火光照射的金屬表面給人留下了比較深刻的印象。但這些畫面距離虛幻引擎3和Doom3還是有些差距的,真實引擎的畫面效果明顯不夠精細和“大氣”。目前XBOX 360平臺已經(jīng)有《夢都》、《搶劫令》、《報償》以及《夢想家》等幾款游戲?qū)⒒谡鎸嵰骈_發(fā),希望它們的效果能給玩家一個驚喜。
游戲效果的不斷提升同時也是在督促著硬件的升級換代。隨著著虛幻引擎3等超級大作的登臺,我們將要用什么樣的硬件去面對它們呢?以下是一些趨勢性的前瞻:- 物理引擎 vs PPU(物理處理單元)
華碩基于AGEIA PhysX PPU的擴展卡,預計今年第四季度上市
說起CPU和GPU大家一定并不陌生,而提起PPU也許就不是每個人都知道了。PPU是“Physics Processing Unit”的縮寫,直譯就是“物理處理單元”。就像當年GPU從CPU手中接過圖形處理的相關工作一樣,如今AGEIA發(fā)布的世界上第一款PPU:PhysX也要引領一場革命,那就是將物理引擎的運算從CPU之中分離出來。
PPU的一個互動式Demo,液體傾瀉到一輛汽車上面的超真實效果
對于如今愈發(fā)真實的3D游戲來說,物理引擎的設計越來越復雜,運算量也在不斷提高。PPU的誕生無疑為物理引擎的成長提供了堅實的后盾,同時我們大概也可以將其理解為流水線生產(chǎn)方式的應用。
- 光照效果 vs SLI顯示卡
對于游戲中的動態(tài)光影等渲染技術為游戲帶來了前所未有的真實感,但是它們對于顯示卡的性能要求也是越來越苛刻了。因此隨著運算量的不斷增大,顯示卡也必然要走上多核心之路,SLI也許要在不就的將來大行其道了。
- 巨量浮點運算 vs 雙核心CPU/64-bit CPU

在與3D相關的計算中,浮點運算占據(jù)著最重要的地位。而隨著新一代3D游戲中物體多邊形數(shù)量的不斷增加,CPU的負擔也將達到前所未有的水平。因此下一代CPU必然要向著64-bit與雙核心的方向發(fā)展,才能滿足日益提高的游戲效果需求。<
關注我們


