《末日之戰》全方位終極測試[最詳細的全方位測試]

2004年初,德國遊戲開發商Crytek第一次讓我們感受了孤島驚魂;2007年底,Crytek再度讓我們體驗了末日之戰!    一直為玩家津津樂道的第一人稱射擊遊戲《孤島驚魂》(FarCry)的續作《末日之戰》(Crysis)試玩版已經發佈,這是Crytek繼FarCry之後,精心打造的第二款熱點大作。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    一年半的等待,屢次跳票的打擊,當這部革命性的曠世遊戲巨作真正來臨之時,我們終於有機會去揭開它原本神秘的面紗……

● 2006年E3大展初露鋒芒
    在2006年的E3大展上,Crytek的展台公司憑借一段長達6分26秒的Crysis遊戲演示介紹視頻吸引了眾多玩家駐足。視頻中搖擺的棕櫚樹、漂浮的灰塵顆粒、虛無飄渺的雲層、人物面部短短的胡須和表現幾近真實的各種動態物體讓整個會場為之沸騰。

《末日之戰》全方位終極測試[最詳細的全方位測試]
首次露面的Crysis視頻帶來了全新的視覺沖擊

    Crysis作為PC獨占的FPS遊戲大作,雖然屢次跳票,但用戶關注度絲毫不減;在跳票期間,Crysis每釋放出新的截圖或者視頻,必能引起軒然大波,給人帶來不小的震撼力。雖說今年經典的FPS遊戲不在少數,但它們和Crysis相比,就如同是螢火之光對皓月之明,不可同日而語!

《末日之戰》全方位終極測試[最詳細的全方位測試]
Crysis在Coming Soon……中讓玩家等待了一年

    那麼Crysis為何如此備受期待呢?道理很簡單,就是因為它的畫面實在是太完美了!我們都知道,FarCry是首批DX9遊戲,其畫面在3年前讓人驚嘆不已,也首次讓大家見識到了DX9和DX9C(通過修正檔支持)的威力,而現在Crysis作為FarCry的正統續作,則是被所有人寄予厚望,期望從它身上見識到DX10的魅力!



《末日之戰》全方位終極測試[最詳細的全方位測試]
這些早產的DX10遊戲並沒有體現出DX10的真正實力

    Crysis曾被譽為是首款DX10遊戲,但隨着不斷跳票這一稱號已經拱手讓人,此前先後有五款DX10遊戲正式發佈。但是,這些身披DX10光環的遊戲並沒有給玩家帶來視覺上的驚喜——因為大多數遊戲只是使用了很少的DX10特效,導致DX10模式與DX9模式幾乎沒有區別,然而DX10模式下速度的下降卻是相當恐怖,即便是高端玩家也不敢輕易開啟這些並不完美的DX10特效!
    於是,大家對於DX10的期望全數落在了Crysis身上,希望Crysis這款「原生」DX10遊戲能夠充分利用軟件和硬件資源,將DX10的實力和效果發揚光大。

● 2004一鳴驚人!Crytek簡介
    提到Crysis我們就不得不提到Crytek,Crytek是一家總部位於德國法蘭克福的交互式娛樂開發公司,全稱為Crytek GmbH。該公司曾被評為「Best Independent European Studio 2004」(2004年歐洲最佳獨立工作室)和「Best Independent New Studio 2004 Worldwide」(2004年全球最佳獨立新工作室),是屢獲大獎的新一代第一人稱射擊遊戲《Far Cry》和DX10救世主《Crysis》的開發商。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    作為Crytek首席執行官的Cevat Yerli也是最近幾年在遊戲業界出盡了風頭的人物。早期的Crytek工作室是由Faruk、Avni和Yerli三兄弟創立,現在公司有上百名來自世界各地的員工。

《末日之戰》全方位終極測試[最詳細的全方位測試]
Crytek首席執行官Cevat Yerli

    早在2000年Crytek就在E3上演示了X-isle引擎,這個引擎就是Cryengine的前身,後來被NVIDIA看中,用來演示GeForce 3。

《末日之戰》全方位終極測試[最詳細的全方位測試]    《末日之戰》全方位終極測試[最詳細的全方位測試]
採用X-isle引擎打造的GeForce 3演示程序

    但當時在那個以Unreal Engine為代表的EPIC和以Quake Engine為代表的ID公司這兩大技術龍頭你追我趕並肩稱霸遊戲引擎界的年代,Crytek依然只是個小角色,影響力甚至不如憑借SOURCE Engine打造《半條命》系列的Vavle。


《末日之戰》全方位終極測試[最詳細的全方位測試]

    育碧老總Yves Guillemot在Crytek還是默默無聞之際充當了伯樂的角色,冒着風險承擔了Crytek首款正式產品《FarCry》首作的發行任務。結果這匹當時絕對的黑馬一鳴驚人,其用來開發《FarCry》的Cry Engine對業界的震撼讓當年的Unreal都相形失色。

● 絕對黑馬!空前美麗的FarCry
    《FarCry》(孤島驚魂)在2004年初將我們帶入一個空前的美麗世界,之前我們一直把目光盯在像id Software和Valve這些老牌開發公司身上。而Crytek卻憑借FarCry徹底征服了所有玩家和同行。FarCry並非單靠技術取勝,其實它在最佳單人第一人稱主視角射擊遊戲上的成就好比當年的《Half-Life》(半條命)。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    在FarCry里,玩家扮演叫Jack Carver的傢伙,受僱於一名神秘婦女帶她航行在太平洋上。然而Jack的船忽然受到攻擊,後來游上一個熱帶島嶼,不見了神秘婦女,Jack必須慢慢熟悉周圍環境,尋找她,並最終把她從一群全副武裝的軍人手里救出。由此你會進入一個類似《半條命》風格的龐大故事,故事很好地把半條命的黑山研究所、侏儸紀公園理念、詹姆斯邦德式的大結局糅合在一起。

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

    遊戲的光影效果給人留下了深刻印象,但是需要硬件足夠強硬才能真正享受到這一切。如果不介意畫面感受,只是想體驗遊戲過程,低級別的圖像設置可以接受較低的硬件配置。FarCry之所以與眾不同,就是在它絕美的畫面,較低品質下的遊戲是大打折扣的。還有一點令人吃驚的是,這個如此復雜的遊戲運行穩定,基本沒有bug ,令人欽佩。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    最重要的是遊戲使用的Cryengine有着令人激動前景,Crytek還隨遊戲附送了編輯器,這對於那些MOD迷來說無疑是份好禮物。FarCry是一款上乘之作,它把當時遊戲的圖像水平提升到一個新的高度。但是,遊戲並非只是個成功的技術展示,在遊戲中,圖像僅僅是讓你沉浸在遊戲中的因素之一,開發者把圖像引擎、AI 、音效、關卡設計這些要素都把握的恰到好處,為我們創造了一個讓人流連忘返的美麗世界。

● Crytek和育碧分手!Crysis出爐
    FarCry自2004年發佈以來僅在美國一地就售出42萬5千套,席捲1290萬美元,當時來說頂尖的DX9畫面是其一大賣點。遊戲開發商是德國Crytek,但遊戲發行商是Ubisoft(育碧)。FarCry奠定了Crytek在業界的地位,但是在開發過程中其和育碧的關系已經開始變得緊張。作品最後完工了,同時雙方的互信也消耗殆盡。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    也許是覺察到了什麼,也許是發現了CryEngine的巨大商機,在發佈Xbox版《孤島驚魂:本能進化》和Xbox 360版《孤島驚魂:本能掠奪者》之後,育碧宣佈完全從Crytek處獲得FarCry系列的知識產權和CryEngine遊戲引擎的永久授權。至此開始育碧將擁有唯一的遊戲開發權,還可以利用「遊戲角色、造型、版權和環境設定」發佈「任何格式的終結、附加、衍生和推銷產品」,同時育碧也可以利用FarCry版的CryEngine引擎任意開發、銷售、分發「無限制數量」的遊戲,而且無需和FarCry知識產權有任何關系。但這次的協議不涉及Crytek的CryEngine 2引擎和Crytek的新計畫——DirectX 10大作《末日之戰》(Crysis)。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    在開發FarCry時,Crytek知道他們面對的是《毀滅戰士3》、《半條命2》這樣的強敵,他們的背後是id Software和Valve這樣的全球頂尖FPS製作室,與他們相比,Crytek這家名不見經傳的小製作室實在很難引起注意。為了能在《毀滅戰士3》和《半條命2》之前推出,FarCry成了一款匆忙趕制的遊戲。雖然FarCry最後仍然讓業界位置震撼,但是Crytek對於這款遊戲還有很多遺憾。
    而Crysis是對這種遺憾的補償。這絕不僅是有着更好圖形引擎的FarCry加強版,在很多方面,這款遊戲都有着更高的深度。Crysis的許多靈感都來源於電影《鐵血戰士》(Predator)。作為Far Cry的續作,Crysis同前作一樣並不只是將精力放在FPS元素上,而是在表現遊戲性上下足了功夫。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    例如,如果你的某位戰友很早就被殺死,他在遊戲後期就無法給你某個重要情報。雖然仍然可以通關,遊戲的過程將因此發生很大的變化。本作將會更具戰略性,你需要經常在遊戲中做出決策。例如你所穿的納米服將會有很多特殊能力,當敵人火力太猛時,你可以提高防彈性能,或者提高速度以靈巧躲避。
    Crysis的開發從2004年FarCry的最後開發階段就已經開始了,當時Cevat Yerli對設計組提出了一個挑戰:將遊戲中茂密的叢林場景化為冰天雪地,將其變為「冰凍天堂」。這不僅是一個技術挑戰,也是在劇情上的挑戰。在極低溫的環境下,叢林中的樹木和各種物體紛紛碎裂,當然他們還要解釋為何熱帶的叢林會被冰封。這樣一來就只能用外星人入侵這樣的主題了,而實際上,當初FarCry原本就是設計了兩個外星種族和恐龍之間的戰鬥。
    Crysis故事發生在2019年,一顆巨大的隕石墜落到某列島上。朝鮮封鎖了該列島,試圖對該隕石進行調查,以便獨家擁有其中可能蘊藏的研究價值。美國對此當然不會袖手旁觀,於是派出了三角洲部隊,調查在該島上發生的事件。就在兩國為隕石事件而衝突之際,隕石突然打開,從里面出現了外星飛船,外星人的目的是征服世界。外星飛船擁有強大的武器,世界的氣候系統因此發生異變,列島的一部分被完全冰凍了。面對這樣的強敵,人類聯合起來全力對抗。在遊戲過程中,玩家將會在叢林、山脈、城鎮以及外星飛船內部戰鬥。

● 打造一流的產品!Crytek擁抱EA
    當FarCry在美國一地就席捲1290萬美元後,全球最大遊戲軟件商EA與Crytek簽定戰略合作夥伴關系,Crytek將輔助EA開發一個PC原創大作系列,該系列將會成為EA的又一個重頭戲,首當其沖的自然是Crysis。

《末日之戰》全方位終極測試[最詳細的全方位測試]
Crysis遊戲畫面

    EA和育碧都是處於領導地位的遊戲發行商,也是行業內最大的競爭對手,Crytek改換門庭一事一時間也成為業界的最大焦點。Crytek的首席執行官Cevat Yerli在接受GameIndustry的采訪時稱,與當初的育碧相比,自己現在的發行商EA公司提供了更多的自由空間和更好的支持。他對目前與EA的合作非常滿意:「我們能更專注於自己的事務,同時能請求更多的支持;而EA也樂於提供,因為雙方都想打造出第一流的作品。」

《末日之戰》全方位終極測試[最詳細的全方位測試]

    但同時他又承認之所以取得當今這種地位要歸功於育碧所代理的前作大獲成功:「這些殊榮來自於第一代Farcry取得成功之後,這部作品奠定了我們在業界的地位。無論結局如何,我都要向育碧和Yves Guillemot表示深深的謝意,他們冒險接納了我們,沒有他們,估計我們也活不到今天。」

《末日之戰》全方位終極測試[最詳細的全方位測試]
育碧老總Yves Guillemot

    現在Crytek不僅活了下來,而且還在不斷地壯大,其麾下的CryEngine2遊戲引擎甚至已滲透到了網游領域。

● 鬥氣之作?育碧打造FarCry2
    雖然Crytek已經投入了EA的懷抱,雙方聯手打造新一代的Crysis,但是款遊戲DX10遊戲界的焦點卻屢次跳票。

《末日之戰》全方位終極測試[最詳細的全方位測試]
帶着FarCry的光環,FarCry2代的DX10引擎能否延續經典?

    眼看大好商機將要拱手讓人,因此育碧也不甘示弱,他們有FarCry的冠名權,所以育碧重新打出了FarCry的旗號,聯手蒙特利爾工作室(波斯王子的開發商)開發FarCry的續作並命名為FarCry2,該開發室眼下正忙於製作《刺客信條》。

《末日之戰》全方位終極測試[最詳細的全方位測試]
FarCry2的正式身份已被確定,支持DX10是一大亮點!

《末日之戰》全方位終極測試[最詳細的全方位測試]
據稱遊戲情節發生在非洲大草原

    和一代FarCry玩家只扮演1個角色——Jack Carver不同,玩家在FarCry2當中將有8個角色可以選擇,選擇不同的角色將影響遊戲的進程。可以看出,由於遊戲開發商易主,因此遊戲畫面風格以及人物風格與上代的變化非常大。



《末日之戰》全方位終極測試[最詳細的全方位測試]
8個遊戲角色之一

    預計FarCry2將於明年春季上市,晚於Crysis,目前所獲得的資料少之又少,只知道肯定會採用DX10引擎,而且可以兼容DX9,故事情節應該發生在非洲大草原,場面華麗壯觀!不過能否重現當年FarCry的輝煌就不得而知了。

● 等等等!艱難跳票歷程
    從06年的E3大展首次公佈視頻到如今demo出爐,Crysis經歷了N次的跳票。在06年7月的時候,EA正式宣佈Crysis將與微軟的新操作系統Windows vista一同出貨,定於2006年年底。但是後來的消息表明DirectX 10不會整合在最初的vista中,Crysis的發佈時間隨後被延遲到了06年和07年交替的時刻。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    在06年9月的時候,Crysis的首席設計師Jack Mamasis站出來強調了遊戲的單人任務模式將有前所未有的魅力。並宣稱遊戲計畫在06年內發佈,同時還公佈了遊戲的最低系統配置要求。一切看到都是Crysis面世的時刻,可惜當時間走到了2007年,Crysis還是沒影。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    在跳票了半年後,全球著名的電子商務站點新蛋網站在2007年3月1日開始提供對Crysis的預訂,當時網上的預定價格為60美元,但是居然連遊戲封裝圖片也沒有,何時到貨也未進行說明。



《末日之戰》全方位終極測試[最詳細的全方位測試]

    隨着Crysis繼續遙遙無期,最後預定之事不了了之。時間走到了2007年4月,遊戲的各種詳細開始多起來,最早公佈的是遊戲場景列表,然後是越來越多的遊戲圖片和視頻,特別是DX10下和真實場景的對比圖片已經足以以假亂真。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    在2007年7初,各種消息都開始表明Crysis會在9月出台,EA接着正式宣佈遊戲會在9月25號提供一個完整支持DX10的單人demo,正式版要等到11月中旬,似乎一切都明朗了。可是真到了9月,EA又宣佈demo跳票一個月到10月26日,而網絡上已經有了多人beta版供嘗鮮,可惜僅僅支持DX9,而且需要序列號,只有極少數玩家能嘗鮮,遊戲最後一次跳票混雜着縮水總算讓無數玩家們熬過去了。

● 遊戲歷史圖片:戰鬥類場景
    以下是遊戲從公佈之時起到試玩面世前陸續公佈的遊戲圖片,但願這些是曾相識的畫面能勾起你當初的回憶。

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

● 遊戲歷史圖片:主角特寫

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]


● 遊戲歷史圖片:士兵寫真

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

● 遊戲歷史圖片:第一人稱視角

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



● 遊戲歷史圖片:遊戲室內室外場景

《末日之戰》全方位終極測試[最詳細的全方位測試]


《末日之戰》全方位終極測試[最詳細的全方位測試]


《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



● 遊戲歷史圖片:雪地中的戰鬥


《末日之戰》全方位終極測試[最詳細的全方位測試]


《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

真實與虛幻!Crysis武器裝備全面介紹    SCAR(SOF戰鬥突擊步槍)是你在單人遊戲中的主要武器。它同現在美軍正在裝備的FN SCAR同名,但與其並沒有什麼聯系,而是以德國HK公司的XM8步槍為原形設計的(大家可以看下面的Crysis的SCAR概念圖同真實的XM8的對比,雖然如護木這樣細節存在差別,但整體基本是一樣)。它單個彈夾可以容納30發子彈,並可以發射普通、高爆和特殊的戰術彈藥。戰術彈藥是crysis遊戲的一大特色,其共分為四種:

《末日之戰》全方位終極測試[最詳細的全方位測試]
Crysis里的SCAR概念圖


《末日之戰》全方位終極測試[最詳細的全方位測試]
真實的HK XM8,它在美國下一代的突擊步槍競標中敗給了FN SCAR


《末日之戰》全方位終極測試[最詳細的全方位測試]
遊戲中的SCAR   

    麻醉彈最多可以發射四發,當它激活的時候可以讓敵人睡上一段時間。噪音彈可以發出尖銳的響聲,轉移敵人注意力或者吸引入陷阱。



    追蹤器在發射到敵人身上後可以提供敵人的方位信息,它也可以用在包括外星人和動物的NPC上。
    爆破彈可以在發射後引爆摧毀設備或者殺傷敵人。

    同時玩家可以在它上面加裝光瞄、榴彈發射器、消音器等設備:

    Crysis的狙擊光學瞄準鏡是一種簡單的鋼制10倍Mil-Dot式光學瞄準鏡,並帶有彈道修正鈕用來修正重力引起的子彈偏移。其可以用來搜索和獵殺遠距離的目標。

    在Crysis里有兩個類型的中距突擊瞄具,分別類似於ACOG先進戰鬥光學瞄準鏡和反射式瞄準鏡。在遊戲中它們合適與中距戰鬥和快速接火,並有夜視能力。在遊戲中同樣可以使用機械瞄具。

    消音器可以讓你不知不覺的消滅敵人而不被發現,但其會降低射速和威力。

FY71突擊步槍是朝鮮士兵的主要武器,其是以AK74為原型,同樣也可以加裝光瞄、榴彈發射器、消音器、戰術手電等設備。

《末日之戰》全方位終極測試[最詳細的全方位測試]



    美軍霰彈槍(現在暫時不知道其名稱)是一種滑桿式散彈槍,同樣也可以加裝光瞄、榴彈發射器、消音器、戰術手電等設備。它可以容納六發子彈。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    LAW導彈發射器是一種以反坦克、直升機和輕型車輛的M136 AT4為原型的肩抗式導彈發射器,它有熱導和運動追蹤能力。它可以容納三枚導彈,並最多可以攜帶九枚導彈。

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

    MPX8是一種以MP7後發展出的短距沖鋒槍,可以加裝光瞄、消音器、戰術手電等設備。彈夾可以容納40發子彈並且有極高的射速。

Shi Ten是單人遊戲里朝鮮的固定機槍,你也可以在多人遊戲的戰略點找到它們,它是以中國的88型機槍為原型。在車輛和船隻上頁可以看見它。如果在載具上它彈鼓有500發容量,如果是三腳架的只有200發。

《末日之戰》全方位終極測試[最詳細的全方位測試]
遊戲中的Shi Ten可以有效的殺傷敵人和對付輕型車輛和直升機


《末日之戰》全方位終極測試[最詳細的全方位測試]
真實中的中國88式通用機槍



    另外遊戲截圖中還出現了另外的一種狙擊步槍,現在還沒有它的具體情報,估計為半自動,7.62毫米。


《末日之戰》全方位終極測試[最詳細的全方位測試]

    Nano作戰服可以在速度、力量和回覆模式下切換。在速度模式玩家可以快速的跑動,在力量模式可以打翻汽車、打垮牆壁和屋頂,還可以將敵人拎起來甩得很遠。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    而在回覆模式下就可以回覆HP,Nano作戰服還有抵禦寒冷。

C4塑膠炸藥可以吸附在任何物品表面,然後可以在安全距離外引爆就可以看焰火了。

    自動火力點是類似於荷蘭守門員、美國密集陣和中國730類型的近距武器系統CIWS的升級版本,是彈炮合一的,用於基地防禦。


《末日之戰》全方位終極測試[最詳細的全方位測試]



    地雷被引爆會在前方60度100米范圍內爆發出鋼珠殺傷敵人步兵。

    反坦克地雷可以安置在公路上,會被重型車輛引爆。

    分子加速器:這個外星武器沒有彈藥限制,它可以將空氣中的水分凝結成冰柱,然後可以用極高的速度射向敵人。

    分子捕作器:它應該是Crysis里最值得期待和最有趣的武器,它可以發射出冰凍射線將敵人凍住,然後可以擊破。nano服可以提供一定對其的防護。

《末日之戰》全方位終極測試[最詳細的全方位測試]
分子捕作器的概念圖

《末日之戰》全方位終極測試[最詳細的全方位測試]

    分子捕作器發出射線可以冰凍住敵人,然後你可以用武器甚至是拳頭輕易的將其打成碎片,十分有意思。




    黑洞炮:這個武器射擊爆炸後會產生一個有極高引力的小型黑洞,將其

朝鮮T-108坦克是朝鮮的最普通坦克,有資料說是以中國59式坦克為原型,但我看其和59差別很大,也不同於朝鮮自己天馬虎坦克,反而更像美國的M60,其在前部和炮塔有反應裝甲。


《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



    朝鮮T-109坦克是朝鮮的重型坦克,其以中國的99式坦克為原型,可以使用外星科技升級。

《末日之戰》全方位終極測試[最詳細的全方位測試]
這張早期的T-109上甚至可以清晰看見「八一」紅星




《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]
真實的中國ZTZ-99主戰坦克
  M5A2阿爾塔斯重型坦克是美軍的普通坦克,其以M1為原型


《末日之戰》全方位終極測試[最詳細的全方位測試]
XM544 Thor坦克出現在多人遊戲的購買菜單中

HMLTV-998牛頭犬是帶有頂部機槍通用越野車輛,其是以東風EQ2050為原型(也就是我們常說的東風鐵甲),它比吉普更為牢靠,可以搭載五名成員。(四人乘坐一人控制機槍)




《末日之戰》全方位終極測試[最詳細的全方位測試]
HMLTV-998模型

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]
真實的東風鐵甲,其實細節差別還是比較大,只能說是同一類型的車

    中國吉普(暫不知道名稱)是四座的快速運輸工具,以北京吉普BJ2022為原型,期並不帶防禦武器。

    朝鮮人員運輸卡車帶有一挺機槍,它倍用於運輸步兵和補給。



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]
現實中的PGZ-95

    自行防空炮是中國陸軍的防空武器,它是以中國PGZ-95為原型。

VTOL垂直起降飛機是美軍的主要空中運輸工具,它也裝備了機槍和火箭,搭載能力未知。

《末日之戰》全方位終極測試[最詳細的全方位測試]



    中國攻擊直升機:這大型直升機需要一名駕駛員和一名火控員,它是朝鮮軍隊的主要空中運輸工具,看上去融合了直10和米24的特點,裝備有機槍和火箭發射器,還可以搭載步兵,但搭載能力未知。



《末日之戰》全方位終極測試[最詳細的全方位測試]
前部有單管機槍


《末日之戰》全方位終極測試[最詳細的全方位測試]
後部還有蜂窩式火箭發射器可以有效攻擊裝甲車輛


《末日之戰》全方位終極測試[最詳細的全方位測試]
內部還可以搭載步兵


DirectX10 遊戲的美好未來
● DX10新特點概要

    Microsoft發佈的DirectX 10代表了自從可編程Shader出現以來在3D API方面的最巨大的進步。通過一番脫胎換骨般的重建,DirectX 10展現出一系列非常醒目的新特性,包括高度優化的運行時,強大的Geometry Shader,紋理數組等等;這些特性將引領PC實時三維圖形進入一個全新的世界。

    在過去的十年中,DirectX已經穩步成為了Microsoft Windows平台上進行遊戲開發的首選API。每一代的DirectX都帶來對新的圖形硬件特性的支持,因此每次都能幫助遊戲開發者們邁出驚人的一步。

● DX10的架構特性以及帶來的好處

    DirectX之所以在廣大的開發者中流行,是得益於它的簡單易用和豐富的功能特性。然而,DirectX一直被一個主要的問題所困擾,那就是高CPU負載。

    在圖形編程API出現之前,三維程序直接向圖形硬件發送圖形命令來完成繪制工作。雖然這樣繪制效率相當高,但是程序中要應對各種不同硬件上的不同命令,這使得開發工作十分困難,且程序中很容易出錯。當越來越多不同的圖形硬件冒出來的時候,這就成了一件十分不能忍的事。

    於是便出現了像DirectX和OpenGL這樣的圖形API。它們在圖形硬件和應用程序之間架起了一個中間層,這樣,應用程序可以使用統一的圖形編程代碼,而對底層各種硬件的適應,則由圖形API來完成。這就將遊戲程序員們從與大量的圖形硬件交換意見的惡夢中解救出來,使他們能夠將精力集中在「製作偉大的遊戲作品」上面。

    但是這樣就完美了麼?不是的。每次DirectX從應用程序那里接收到一條命令,它就需要先對這條命令進行分析和處理,再向圖形硬件發送相對應的硬件命令。由於這個分析和處理的過程是在CPU上完成的,這就意味着每一條3D繪圖命令都會帶來CPU的負載。這種負載給3D圖像帶來兩個負面影響:限制了畫面中可以同時繪制的物體數量;限制了可以在一個場景中使用的獨立的特效的數量。這就使得遊戲畫面中的細節數量受到了很大的限制。而使圖像具有真實感的重要因素,偏偏是細節量。

    DirectX 10的一個主要目標就是最大地降低CPU負載。它主要通過三個途徑來達到這個目的:第一,修改API核心,使得繪制物體和切換材質特效時的消耗降低;第二,引入新的機制,降低圖形運算操作對CPU的依賴性,使更多的運算在GPU中完成;第三,使大量的物體可以通過調用單條DirectX繪制命令進行批量繪制。下面我們就來仔細的看一下這三種方式:

1.降低繪制消耗

    第一種方式的一個重要例子就是DirectX 10中對三維數據和繪制命令進行驗證過程的修改。所謂三維數據和命令的驗證,是指在DirectX繪制圖形之前,對傳給它的圖形數據和繪制命令進行格式和數據完整性的檢查,以保證它們被送到圖形硬件時不會導致硬件出問題;這是很必要的一步操作,但是不幸的是它會帶來很大的性能開銷。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    從上表我們可以很容易的看出,在DirectX 9中,每次繪制一幀畫面之前,都會對即將使用的相關數據進行一次驗證。而DirectX 10中,僅當這些數據被創建後驗證一次。這很明顯是可以大大提高遊戲進行中的效率的。




2.降低CPU依賴性

    在降低CPU依賴性方面,DirectX 10 引入的三個重要機制就是:紋理陣列(texture arrays)、繪制斷言(predicated draw)和數據流輸出(stream out)。不要被這三個晦澀的名詞嚇倒,實際上它們是三個不難理解的機制。

    首先我們來看紋理陣列。傳統的DirectX在多張紋理中進行切換的操作是一個很消耗CPU的操作,因為每切換一次,都要調用一次DirectX的API函數。而每繪制一個使用新紋理的物體,就要進行一次這樣的切換操作;有時為了實現特殊的材質特效,繪制一個物體時可能就要切換好幾次紋理,開銷很大。

    所以,以前遊戲美工們經常索性將大量的小紋理拼合到一張大的紋理中,通過給不同的三維物體分配這張大紋理的不同局部以期減少紋理切換,提高遊戲運行效率。然而,想想也知道,這件事做起來會非常麻煩,而且DirectX 9中對紋理的尺寸的限制是4048×4048像素,也就是說,如果要容下更多的小紋理塊,可能就得開辟很多張這樣的大紋理。

    DirectX 10引入的新的紋理陣列機構,將允許在一個由顯卡維護的陣列中容納512張單獨的紋理,而且,在shader程序中可以使用一條新的指令來獲取這個陣列中的任意一張紋理。而這種shader指令是運行在GPU中的;這樣,就把原來要消耗很多CPU時間的紋理切換工作輕松地轉給了GPU。由於紋理一般是直接放在顯存中的,所以這件事由同顯存一起放在顯卡上的GPU來完成真是天經地義,大快人心。現在,在應用程序的層面,只要一開始設置好紋理陣列中的紋理,然後每次繪制一個物體時為它指定一個紋理的索引號,並同物體三維數據一起傳遞到shader中,就可以放心的讓GPU來給物體選紋理了。

    然後說說繪制斷言。在一般的三維場景里,很多物體都是完全被別的物體擋在後面的。這時候如果要顯卡繪制這些物體就是白費力氣。盡管高級的GPU可以通過硬件算法將場景畫面中被擋住的像素(注意是像素)預先剔除,但是仍然會有一些處理消耗。例如,一個完全被擋住的復雜的角色模型,它的身上可能有幾千個頂點,需要做復雜的骨骼皮膚動畫處理、頂點光照運算等等——然而,GPU是在處理完這些頂點之後,並要把這個角色模型一個像素一個像素地畫到畫面中時,才開始判斷每個像素是否需要畫——當所有的像素都被剔除了時,之前做的頂點處理也就全白費了。於是,遊戲開發者們想出了一個方法來解決這個問題,這就是繪制斷言。

    簡言之就是用一個可以代表某個復雜物體的簡單物體來判斷這個物體是否被全部擋住了——例如用一個可以罩住剛才那個角色的大盒子,當繪制這個盒子時,如果所有的像素都被P掉了,也就說明這個盒子肯定完全看不見,更甭說里邊的角色了,也就不用做什麼骨骼皮膚運算啦之類的操作了。一個盒子頂多有八個頂點,這學過初中幾何的人都知道,相比處理幾千個頂點,開銷小得多。但是,以前這步中有些部分也是要在CPU中完成的。現在,在DirectX 10中,已經徹徹低低的交由GPU來做了。真是很周到啊。

    最後來看看數據流輸出。這是一個DirectX 10中的非常重要的特性,它允許GPU上的Vertex shader或Geometry shader向顯存中添加數據!您也許覺得這感覺沒什麼,然而在以往的vertex shader中是史無前例的。以前的DirectX中,vertex shader只能讀取顯存中已有的頂點數據;而DirectX 10中引入的新的Geometry shader,不但能讀取顯存中的頂點數據、幾何(點、線段、三角形)數據,還可以生成新的幾何數據放回顯存。鑒於其重要性,這一機制我們將在第四節:幾何Shader以及Stream Out中單獨介紹。


3.批量繪制

    在DirectX 9中,對渲染狀態的管理一直是一個十分消耗CPU時間的操作。所謂渲染狀態,是指顯卡進行一次繪制操作時所需要設置的各種數據和參數。例如,要繪制一個人物角色,就需要先設置他的幾何模型數據的數據格式、紋理過濾模式、半透明混合模式等等——每設置一項,都要調用一次DirectX API,占用大量CPU時間,極大的約束了渲染的性能。

    為了使這些操作能夠批量的進行,DirectX 10中引入了兩個新的結構——狀態對象(state object)和常量緩沖(constant buffers)。

    狀態對象就是將以前的零散狀態按照功能歸結為幾個整體,這樣,當要設置一系列相關狀態時,無需為每一個狀態來調用一次DirectX API,只需要調用一次將這些狀態統統設置到顯卡中去。

    而常量緩沖是另一個十分有意義的機制。在繪制模型前的准備工作中,渲染狀態的設置只是一小部分。還是拿繪制人物角色來說,能照亮這個人的光源的顏色、位置、類型、范圍等等,都要提前設給顯卡;為了通過骨骼來帶動他的皮膚做出姿勢,還要設置骨骼的位置信息等等——總之是很多東西;而這些東西主要都是通過GPU中的常量寄存器(constant registers)來傳遞給它的。每個常量寄存器可以存儲一個4維的浮點型向量(即四個浮點數)。常量寄存器是遊戲程序向GPU輸入遊戲場景中數據的重要途徑。在DirectX 9中,這種常量寄存器的數量是十分有限的,這在下文中的對比圖表中我們也可以看到;而且每次更新一個寄存器,都需要調用一次DirectX API函數。而DirectX 10中,使用了常量緩沖(constant buffer)這種結構;在每個constant buffer中都可以容納4096個常量,而且只需調用一次API就可以更新一大批常量。

《末日之戰》全方位終極測試[最詳細的全方位測試]
採用constant buffer繪制的大量克隆物體
圖片來源:Microsoft DirectX 10 SDK

    舉一個具體些的例子來對比一下:在以前,如果程序中想在場景里畫很多的樹木和雜草,可以採用一個類似於「克隆」的方法:先做好一棵或幾棵樹、草的三維模型,然後在畫一幀畫面時,不停的在不同的位置、方向,用不同的大小為參數,調用DirectX API的繪制函數來畫這些模型,就可以畫出很多草木來;但是每畫一棵,都要設置一大堆參數後調用一次API;這是很耗CPU時間的,所以在以前的遊戲中很難有大規模且細節豐富的森林場景。




    而在DirectX 10中,我們可以先把樹、草的幾個模型設給顯卡,然後將所有要畫的樹木的位置、方向和大小一次性的寫入到constant buffer中,然後告訴DirectX——畫!顯卡就一下把所有的樹木和草都一起繪製出來了。 這樣,像Crysis那樣的遊戲,才能營造出十分逼真的森林效果。

《末日之戰》全方位終極測試[最詳細的全方位測試]
DX9和DX10的處理器負載情況對比

總結

    總之,DirectX 10降生到這個世上,就是為了帶走由於CPU負載過大而給遊戲圖形效果帶來的苦難。通過提前數據驗證、紋理陣列、繪制斷言、數據流輸出、狀態對象、常量緩沖等機制,幫助遊戲的效果和效率上升到一個新的高度。

● Shader Model 4.0

    當Shader Model 3.0的光彩尚未退去的時候,在DirectX 10中,又引入了Shader Model 4.0。它包含下面幾項革新:
1.加入了一種新的Shader——Geometry shader

    通過它可以編程操縱幾何圖元;為vertex、geometry、pixel shader採用了統一的Sahder架構。Geometry shaders是可編程圖形流水線的一大進步。它第一次允許由GPU來動態的生成和銷毀幾何圖元數據。通過和新的數據流輸出功能配合使用,許多以前無法實時使用的算法現在都可以在GPU中使用了。

2.統一的Shader架構

    在DirectX 9中,Pixel shader總是在各個方面落後於vertex shaders,包括常量寄存器個數、可用的指令個數、shader長度等。程序員需要區分對待這兩種shader。

    而在shader model 4中,這vertex、geometry和pixel shader有着統一的指令集、同樣的臨時/常量寄存器個數。它們將平等的共享GPU中的所有可用資源。在遊戲程序中不用再考慮每種shader自身的限制了。

3.百倍於DirectX 9的可用資源

    對於shader中可用的資源,在Shader model 4.0中比原來有了驚人的擴充。就像早期的程序員們絞盡腦汁的省着用可憐的640k記憶體一樣,在使用以前的DirectX開發遊戲的過程中,程序員需要小心翼翼的分配珍貴的shader寄存器資源。寄存器的數量,直接影響着shader程序的復雜度。這和在640k記憶體的機器上,怎麼也不可能寫出Microsoft Office這樣的大規模軟件是同一個道理。而在DirectX 10中,將臨時寄存器由原來的32個擴充到了4096個,將常量寄存器由原來的256個擴充到了65536個!而這些並不僅僅是DirectX給出的理論值——在Geforce 8800架構中,它們都是實實在在的在顯卡上面的!



  
4.更多的紋理

    在Shader Model 4.0中提供了對紋理陣列(Texture arrays)的支持。在前文中已經對紋理陣列有了比較詳細的介紹,在這里只着重介紹一下與shader相關的部分。在每個紋理陣列中,最多可以保存512張同樣大小的紋理。而且每張貼圖的分辨率被擴展到了8192×8192。更大的分辨率意味着紋理中更豐富的細節。在一個shader中能夠同時訪問的紋理個數被增加到了128個,也就是說在每次執行同一個shader時,可以使用一個紋理陣列的512個紋理中的128個。所以說,在DirectX 10中,紋理的多樣性和細節程度將會有大幅的提升。

《末日之戰》全方位終極測試[最詳細的全方位測試]
使用紋理陣列實現細致的紋理

5.更多的渲染目標(Render Target)

    所謂渲染目標,就是指GPU可以把畫面繪制到的目標,我們可以把它理解為GPU的畫布。一般來說,渲染目標被輸出到屏幕上,這樣我們就能看到畫好的畫面了;但是有時為了實現一些特效,某些渲染結果並不直接畫到屏幕上,而是再返給GPU做進一步的特效處理;而且渲染目標中也不一定是畫好的畫面的顏色信息。

    根據特效的需要,它們可能是每個物體距離屏幕的遠近,或者物體表面上每個像素的方向,或者每個物體表面的溫度(為了實現《分裂細胞》中那種熱能感應器的效果)…總之為了實現特效,可以按需要在其中繪制任何信息。為了提高這種情況下的效率,很多新的顯卡都支持在同一遍Shader執行結束後,同時把不同的信息繪制到不同的渲染目標中。在DirectX 9中就已經支持這種機制了,但是它約束最多同時向四個渲染目標繪制。而DirectX 10將這個數量提升了一倍。




6.新的HDR顏色格式

    要說這些年來在實時圖形界炒得最熱的概念,應該是HDR了。它通過採用浮點格式的顏色格式來為紋理、光照等計算提供極大的精度和顏色范圍(以前的紋理一般都是採用整數型的顏色格式)。盡管最後顯示到屏幕上還是每個顏色通道8位的整數格式,但是以前由於在材質、光照計算中紋理也是用每通道8位的格式來參與計算,所以在顯示到畫面之前,很多細節就在低精度的運算中丟失了。

    而採用每顏色通道16位浮點數的紋理,能夠保證在運算過程中幾乎沒有顏色細節信息的丟失。另外,採用16位浮點格式的顏色通道,可以表現更大的顏色范圍。這些就是HDR的優越性。對於玩家來說,當遊戲中的畫面罩上一層HDR效果後,立刻顯得和真正的照片一樣,有矇矓的光暈、細致的高光和十分自然的色調。在玩《極速快感9》時,充滿風格的色調讓人有一種置身於電影里的感覺。

《末日之戰》全方位終極測試[最詳細的全方位測試]
HDR(高動態范圍)渲染,圖片來源:Futuremark

    然而,採用每個顏色通道16位浮點數的格式,比採用每通道8位的整數格式的紋理要多占據一倍的顯存;這給繪制的效率帶來了負面的影響。所以在DirectX 10中引入了兩個新的HDR格式。第一種是R11G11B10,表示紅色和綠色通道用11位浮點數,而藍色通道採用10位浮點數表示。那麼,為什麼不都用11位呢?這是為了湊32這個整數。學過計算機的人都知道,當記憶體中一個數據單元的寬度是32位時,對它的操作效率最高;而且在紋理數據中一般要求每個像素的數據寬度是2的倍數,如2,8,16,32,64等等。又因為人眼對藍色的敏感度不如對紅色和綠色,所以它比其他兩個通道少用了一位。

    另外一種格式是採用每通道9位尾數、所有通道共享5位指數的形式(眾所周知,在計算機中,浮點數是採用尾數附加指數的形式來表示的),加起來還是32位。這些新的格式使得紋理能夠與原來占用同樣多的顯存空間,避免了大的空間和帶寬消耗。

總結

    上面提到的這些擴充和提高,對於圖形程序員來說是一件非常爽的事。他們可以擺脫束縛,創建出包含前所未有的細節度的實時遊戲場景;對於玩家來說也是一件非常爽的事,因為他們的眼球有得養了。

● 幾何Shader以及Stream Out

    頂點着色器(Vertex Shader)和像素着色器(Pixel Shader)都允許程序操作記憶體中已有的數據。這種開發模型非常成功,因為它在復雜網格蒙皮和對已有像素進行精確計算方面都表現的很出色。但是,這種開發模型不允許在圖像處理器上生成新數據。當一些物體在遊戲中被動態的創建時(比如新型武器的外形),就需要調用CPU了。可惜現在大多數遊戲已經很吃CPU了,遊戲進行時動態創建龐大數量新數據的機會就變得微乎其微了。

    Shader Model 4.0中引入的幾何着色器(Geometry Shader),第一次允許程序在圖像處理器中創建新數據。這一革命性的事件使得GPU在系統中的角色由只可處理已有數據的處理器變成了可以以極快速度既可處理又可生成數據的處理器。在以前圖形系統上無法實現的復雜算法現如今變成了現實。使用DirectX 10和Geforce 8800 GTX,類似模板陰影(Stencil Shadow)、動態立方體貼圖(Dynamic Cube Map)、虛擬位移貼圖(Displacement Mapping)等依靠CPU或多通道渲染(Multi-Pass Rendering)的算法效率提升了很多。

《末日之戰》全方位終極測試[最詳細的全方位測試]
DirectX 10流水線加入了幾何着色器和數據流輸出(Stream Output),使GPU可以在不用CPU干涉的條件下進行反復運算。

    幾何着色器被放在頂點着色器和光柵化階段(Rasterizer)中間。所謂光柵化,就是一行一行的掃瞄每個三角形,把它們一個像素一個像素的繪制到畫面上。幾何着色器把經過頂點着色器處理過的頂點當作輸入,對於每個頂點,幾何着色器可以生成1024個頂點作為輸出。這種生成大量數據的能力叫做數據擴大(Data AmplificATIon)。同樣的,幾何着色器也可以通過輸出更少的頂點來刪除頂點,因此,就叫做數據縮小(Data MinimizATIon)。這兩個新特性使GPU在改變數據流方面變得異常強大。

1.細分的虛擬位移貼圖(Displacement Mapping with TessellATIon)

    幾何着色器終於讓虛擬位移貼圖可以在GPU上生成了。虛擬位移貼圖是在離線渲染系統中非常流行的一項技術,它可以用一個簡單的模型和高度圖(Height Map)渲染出非常復雜的模型。高度圖是一張用來表示模型上各點高度的灰度圖。渲染時,低多邊形的模型會被細分成多邊形更多的模型,再根據高度圖上的信息,把多邊形擠出,來表現細節更豐富的模型。
因為在DirectX 9中,GPU無法生成新的數據,低多邊形的模型無法被細分,所以只有小部分功能的虛擬位移貼圖可以實現出來。



2.基於邊緣(Adjacency)的新算法

    幾何着色器可以處理三種圖元:頂點、線和三角形。同樣的,它也可以輸出這三種圖元中的任何一種,雖然每個着色器只能輸出一種。在處理線和三角形時,幾何着色器有取得邊緣信息的能力。使用線和三角形邊緣上的頂點,可以實現很多強大的算法。比如,邊緣信息可以用來計算卡通渲染和真實毛發渲染的模型輪廓。

《末日之戰》全方位終極測試[最詳細的全方位測試]
使用幾何着色器的非照片模擬渲染
(Non-Photorealistic Rendering – NPR)

3.數據流輸出(Stream Output)

    在DirectX 10之前,幾何體必須在寫入記憶體之前被光柵化並送入像素着色器(pixel shader)。DirectX 10引入了一個叫做數據流輸出(Stream Output)的新特性,它允許數據從頂點着色器或幾何着色器中直接被傳入幀緩沖記憶體(Frame Buffer Memory)。這種輸出可以被傳回渲染流水線重新處理。當幾何着色器與數據流輸出結合使用時,GPU不僅可以處理新的圖形算法,還可以提高一般運算和物理運算的效率。

     在生成、刪除數據和數據流輸出這些技術的支持下,一個完整的粒子系統就可以獨立地在GPU上運行了。粒子在幾何着色器中生成,在數據擴大的過程中被擴大與派生。新的粒子被數據流輸出到記憶體,再被傳回到頂點着色器製作動畫。過了一段時間,它們開始逐漸消失,最後在幾何着色器中被銷毀。

● 高級渲染語言(HLSL 10)
    DirectX 10  為以前的DirectX 9中的「高級着色語言」(High Level Shading Language )帶來了諸多功能強大的新元素。其中包括可以提升常量更新速度的「常量緩沖器」(Constant Buffers),提升渲染流程中操作數據的靈活性的「觀念」(view),為更廣泛的算法所准備的「整形與位指令」(Integer and Bitwise Instructions),添加了switch語句。

1.常量寄存器(Constant Buffers)

    着色程序同普通的程序一樣需要使用常量來定義各種參數,例如光源的位置和顏色,攝像機的位置和投影矩陣以及一些材質的參數(例如反光度)。在整個渲染的過程中,這些常量往往需要頻繁的更新,而數以百計的常量的使用以及更新無疑會給CPU帶來極大的負載。DirectX 10中新加入的常量緩沖器可以根據他們的使用頻率將這些常量分配到指定的緩沖器中並協調的對其進行更新。

    在一個着色程序中DirectX 10支持最多16個常量緩沖器,每一個緩沖器可以存放4096個常量。與其相比DirectX 9實在是少得可憐,因為它在每個着色程序中同時最多隻能支持256個常量。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    相比DirectX 9,DirectX 10不僅提供了更多的常量,最主要的是它大幅的提升了常量更新的速度。對那些被分配到同一個緩沖器中的常量,我們只需進行一次操作就可以將它們全部更新完畢,而非單個單個的去更新。

    由於不同的常量更新的時間間隔各異,所以跟據使用的頻率來對他們進行組織就可以獲得更高的效率。舉例來說:攝像機的視矩陣只在每一禎之間發生改變,而像貼圖信息這樣的材質參數卻會在圖元切換時發生改變。於是這些常量緩沖器被分成了兩個部分——那些每禎更新的常量緩沖器專門存放那些需要在兩禎間更新的常數並在兩禎間一次把他們全部更新,另外的圖元切換更新的常量緩沖器也同理。這樣就會將更新常量過程中的一些不必要的工作消除,以便讓整個着色器腳本比在DirectX 9中運行的更加順暢。



2.Views

    在DirectX 9中,着色器(shader)中的數據的類型是被嚴格劃分開的。例如,頂點着色器用到的頂點緩沖器中的數據不能當作貼圖的數據來讓像素着色器使用。這樣就將特定的資源類型同其相對應的渲染流程中的特定步驟緊密地結合了起來,同時限制了資源資源在整個渲染流程中可以使用的范圍。

    DirectX 10舍棄了「嚴格區分的數據類型」這一概念。當一段數據被創建,那麼DirectX 10所做的僅僅是將其簡單的當作記憶體中的一段比特域(bit field)來對待。如果要想使用這一段沒有定義類型的比特域數據就必須通過使用一個「view」。 使用「view」,相同的一段數據就可以有各種各樣的方法來讀取。DirectX 10支持對同一段資源在同時使用兩個「view」。

    通過這種多重「view」的手段,就可以在整個渲染流程的不同部分以不同目的使用同一段數據。例如:我們可以通過像素着色器將一段幾何數據渲染到一張紋理上,之後頂點着色器通過一個「view」將這張紋理視為一個頂點緩沖器並將其中的數據作為幾何數據渲染。「view」通過在整個渲染流程中的不同步驟重復使用同一段數據為「數據處理」帶來了更大的靈活性,幫助開發者實現更多更有創意更精彩的特效。

3.整形與位運算指令 (Integer and Bitwise Instructions)

    在新的高級着色器語言中添加了「整形與位指令」。這樣把「整形與位運算指令」的操作加入其基礎運算函數的好處在於幫助一些算法在GPU上的實現。開發者終於可以直接使用整形而非從浮點中強轉來計算出准確的答案。數組的索引號現在可以輕松的計算出來。GPU無整形運算的時代終於被終結了。這將為shader程序的開發帶來很大的便利。

4.Switch 語句(Switch Statement)

    終於,HLSL 10可以支持switch語句了!!!這將大幅簡化那些有着大量判斷(分支)的着色器腳本的編碼。一種用法就是建立一個「航母級的着色器(shader)程序」——包含了大量的小型着色器程序並且自身體形巨大的着色器程序。在這個「航母級的着色器程序」,我們可以通過設定一個材質ID在switch語句中判斷來輕松的在渲染同一個圖元時切換不同的特效。也就是說,現在一個軍隊中的每個士兵身上都可以擁有各自不同的特效了。

● alpha to coverage
    在遊戲中,經常使用帶有半透明信息紋理的多邊形模型來模擬復雜的物體,例如,草、樹葉、鐵絲網等。如果使用真正的模型,一顆邊緣參差不齊的小草可能就要消耗掉幾百個多邊形;然而採用透明紋理,可以只用2~3個多邊形就解決了。

《末日之戰》全方位終極測試[最詳細的全方位測試]
半透明紋理示意——一片樹葉

    然而,當使用這種有半透明信息的紋理時候,它的不透明和透明部分的邊界線上,常常會出現難看的鋸齒。採用半透明混合技術可以解決這個問題,但是它需要把場景中所有這類物體按照由遠到近的順序來繪制,才能保證它們的遮擋關系是正確的——這是十分消耗CPU時間的,所以很不可取。在以前,alpha測試和混合簡直就是圖形程序員的噩夢。



    在DirectX 10中,使用了一種新的技術叫做Alpha to coverage。使用這種技術,在透明和不透明交界處的紋理像素會被進行多極取樣(Multi-sample),達到抗鋸齒的效果。這就在不引入大的性能開銷的情況下華麗的解決了這個問題,室外場景的遊戲將大大受益於這種技術。樹葉、鐵絲網、草的邊緣將會更加柔和、圓滑。

《末日之戰》全方位終極測試[最詳細的全方位測試]
使用Alpha to coverage技術,葉片的邊緣更加平滑

● shadow map filtering

    陰影圖(Shadow map)技術已經逐漸成為了渲染真實感陰影的流行技術。在包括《戰爭機器》、《分裂細胞:雙重特工》、《Ghost Recon》、《刺客信條》等的各大次世代遊戲中都能看到它的身影。然而,由於shadow map的尺寸限制,用它實現的陰影邊緣往往有明顯的鋸齒。在DirectX 10中,提供了對shadow map進行過濾的功能的正式支持。經過過濾後,陰影的邊緣將會變得更加柔和。

● 遊戲效果

    DirectX 10為遊戲開發者提供了很多新的特性,採用這些特性可以用來開發大量的次世代圖形效果。然而,由於這是基於強大、靈活的可編程特性基礎上的,所以很難簡單的指出這些特性都帶來了哪些效果。實際上,很多圖形效果都是對這些特性進行綜合運用的結果。在這一部分,讓我們來仔細的看一下幾種次世代特效技術,感受一下新的DirectX 10特性在其中起到的作用。

● 次世代Instancing技術

    在前文中,我們已經用說明DirectX 10的常量緩沖器特性。其實,這里採用的技術有一個學名叫做Instancing,大意就是通過一個或幾個模型來復製出它們的很多實例,實現滿山遍野的樹木、敵兵那樣的效果。這種技術在DirectX 9時代就已經出現了,但是有很多的限制,例如模型不能有動畫,所有的模型實例必須使用同一張紋理貼圖和同一種材質效果,等等。這就給這項技術帶來很多遺憾的地方——玩家肯定不喜歡看見遊戲里滿山遍野的敵人或樹木都長成一個模樣,或者只有那麼幾種模樣。

    在DirectX 10中,通過常量緩沖器、紋理陣列、動態shader執行分支等特性,將Instancing技術從這些侷限中解放了出來。模型的實例沒必要使用同一張紋理貼圖;它們可以通過自己本身的紋理來從紋理陣列中取出各自的紋理;它們甚至可以有不同的特效——程序員可以寫一個包含很多特效的「超級」shader,然後為每個模型實例運用這個shader程序的不同執行分支部分,從而給不同的模型賦以不同的材質特效。甚至連為每個模型實例使用骨骼蒙皮動畫這種需要大量變換矩陣操作的問題,在16×4096常量寄存器的強大攻勢下都可以迎刃而解。




    「克隆人」的時代已經結束了,通過DirectX 10的高級特性,Instancing將允許每個模型實例擁有它的個性:紋理貼圖,pixel和vertex shader,以及動作動畫。每個實例都將會有它自己的生命。

● 基於像素級別的位移貼圖技術

    在介紹這項技術之前,首先請允許我對工作在坐落於北京海淀區知春路的微軟亞洲研究院/工程院的工程師們致以崇高的敬意。因為這項技術的實現方法,是由這些中國的工程師們研究、創造出來的。

《末日之戰》全方位終極測試[最詳細的全方位測試]
實時每像素位移貼圖。圖像來源:Microsoft DirectX SDK。

    位移貼圖技術,用過3DS MAX的讀者可能不會感到陌生。在3DS MAX中,這種技術有時也被翻譯成「置換貼圖」,其核心思想就是在製作三維模型時採用比較低的細節,然後給這個模型賦上一張表面高度圖;在渲染時,會根據這張高度圖來修改模型的表面,使它們隆起或凹陷——這樣,就可以十分省力的給模型表面加上真正的凹凸不平的效果。畢竟,在3DS MAX里一個點一個點的修改模型表面來添加凹凸細節,要比直接拿Photoshop繪制一張高度圖麻煩的多。

    位移貼圖要比單純的normal map技術的凹凸貼圖逼真——因為它是真正的將模型的表面進行修改,抬高或降低它們。然而,由於它需要在渲染時將模型表面進行細分,即將原來的一個多邊形分成大量的小多邊形,這樣才能有足夠多的頂點來進行移動。這在原來的DirectX中是不能實現的,因為那時沒有geometry shader,不能動態生成多邊形圖元,也就不能實現動態的多邊形細分。即使在有了geometry shader以後,將多邊形細分也是一個消耗性能很大的操作。




    然而,微軟亞洲工程院/研究院的工程師們另闢蹊徑,創造了一種新的每像素位移貼圖技術。它的大致過程是,將簡單模型表面的三角形向上拉伸,成為一個三稜台,這樣它就具有了一定的體積;而它的高度,就是模型表面根據高度圖進行位移後能達到的最大高度。然後在填充三角形的每個像素時,通過將觀察者的視線和這個三稜台進行求交,得到一個相對於這個三稜台的交線段。

    由於高度圖是相對於這個三稜台的,只有同樣使用相對於這個三稜台的交線段,才能正確的求出線段和高度圖所代表的表面高度的交點。然後再通過這個交點來計算應該把顏色紋理中的哪個點繪制到屏幕上。在這里只是簡單介紹了一下這種技術的大體原理,實際的實現算法比這個要復雜,因為需要克服各種各樣的問題。

《末日之戰》全方位終極測試[最詳細的全方位測試]
每像素位移貼圖原理示意
圖片來源:Microsoft DirectX SDK

總結

    還有很多新出現的基於DirectX 10的次世代圖形特效技術,在這里就不一一贅述了。相信隨着時間的推移,越來越多的實時圖形特效技術將會大放異彩,實時演算的畫面效果達到非實時CG動畫效果的一天終會到來。

Crytek官方公佈過Crysis所採用的CryEngine 2引擎特性,這大多是開發環境的特性,Farcay所採用的CryEngine引擎由於其良好的開發環境被廣受贊譽,但由於它只合適表現野外場景,目前只有NCsoft的Aion在使用。而CryEngine 2是否會讓這一尷尬局面改觀呢,讓我們看看CryEngine 2的新特性吧。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    實時的編輯,凸凹映射,靜態光照,網絡系統,繼承物理系統,着色器,陰影和動態音樂系統這只是CryEngine 2提供的部分特性。
    CryEngine 2包含了完整自帶的CryEngine 2 Sandbox地圖編輯器(包含引擎完整和開發工具的代碼和文檔),在你的團隊開發過程中由R&D團隊直接提供技術支援。



《末日之戰》全方位終極測試[最詳細的全方位測試]

    引擎支持市面上銷售的所有顯卡和硬件,新推出的硬件也會被支持。
    CryEngine Sandbox:是一個所見即所得的編輯器。
    渲染器:集成了室內和室外的繪制技術,支持DirectX 8/9/10, Xbox360, PS3。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    物理系統:支持載具,液體,布娃娃,布料的物理特性模擬,物理系統集成在遊戲和開發工具中。
    動畫系統:回放和混合動態數據(捕捉和關鍵楨)和物理模擬,特別需要提到是它可以用於真實的角色動畫(如運用到起伏的地形、視野追蹤,臉部動畫,或者跑動轉彎時的身體傾斜或者其他自然的動作變化)

《末日之戰》全方位終極測試[最詳細的全方位測試]

    人工智能系統:基於腳本的AI和AI行為,能夠不使用C++編程就能夠自己創建自定義的敵人行為模式。

數據驅動的音效系統:復雜的工作室級音效能夠用創新的工具簡單的製作,FMOD音效庫可以保證多平台的兼容性。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    交互的動態音樂系統:音樂回放可以由遊戲的事件觸發,可以給玩家提供電影版的聽覺效果。
    環境音效:能夠真實的還原和混合內外位置的自然環境的音效。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    網絡和服務器系統:管理多人遊戲的所有網絡連接,它是一個基於委託伺服結構的低延遲的網絡系統。本模塊的按次時代的遊戲需求完全重新製作。
    着色器:一個腳本系統被用於使用多種不同方法來組合紋理材質來實現驚人的視覺效果。支持實時的像素渲染,凸凹反射,漫反射 ,反射,容積光效果,透明顯示,窗口,彈眼和光澤表面。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    地形:使用高級的高度圖系統和多邊形減少創建大量的真實的環境,轉換成遊戲里的單位距離視野能夠有2000米遠。
    顯示柵格立體圖層物體:允許用幾何學方式的創建高度圖系統,不支持創建懸崖,洞穴,山谷等地形,顯示柵格立體圖層的編輯方式可以和高度圖編輯一樣簡單而快速的繪制。



《末日之戰》全方位終極測試[最詳細的全方位測試]

    光照和陰影:一個帶高質量實時陰影組合了高級計算屬性組合用於生成動態環境。包含高分辨率,透視和容積陰影用於生成真實的室內陰影效果。支持高級的粒子技術和任何用於粒子的容積光照效果。
    霧:包含容積,層和視距霧化等增強的大氣效果變化

集成工具:使用3DS MAX或者Maya創建物體或者建築可以在遊戲或者編輯器里使用。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    資源編譯器:ssets被資源編譯器編譯成為依賴平台的格式,這樣可以根據預設置和平台進行全局改動而不需要難以忍受的讀取時間。
    Polybump 2:將獨立的或者完全集成的使用如3DS MAX之類工具創建的高質量的可以快速的利用法線貼圖貼在切線空間或者物體空間,置換貼圖和非閉合區域上表面貼圖。

《末日之戰》全方位終極測試[最詳細的全方位測試]

    腳本系統:基於流行的LUA語言,可以簡單的設置和調整武器和遊戲的各種參數,音效和載入畫面而不用C++編程。
    流程表:流程表系統允許設計者不用觸及代碼就可以編程, 編程只需要簡單的連接流程圖和定義屬性就可以。



《末日之戰》全方位終極測試[最詳細的全方位測試]

    模塊化:遊戲完全由C++編寫,並且帶有註釋、文檔。
    多線程:支持多處理器用來減少多人遊戲的網絡延遲和提高在大范圍地形上的CPU運算能力。
    64位支持:支持32位和64位系統允許遊戲利用更多的記憶體。

在Crysis漫長的跳票歷程中發佈了不少遊戲圖片,對於他們這種無情而冷酷的炫耀我們也應該習慣了,不過這些圖片中有部分非常特殊,那就是Crysis遊戲畫面和真實場景對比,此時此刻看來我們依然熱血沸騰。

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

我們知道,Crysis遊戲里的場景是有現實背景的,那就是美國夏威夷群島的考艾島。Crytek通過由現實場景拍攝的照片與Crysis即時演算圖像進行對比,來顯示DirectX 10和CryEngine 2引擎的驚人效果。    截圖分成遊戲和現實兩部分,Crysis的逼真程度也已經顯露無疑,乍一看還真不好說哪個是現實、哪個是遊戲。下面就來看看這款遊戲能夠逼真的什麼程度?其中左邊為顯示照片,右邊為遊戲截圖。



《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

《末日之戰》全方位終極測試[最詳細的全方位測試]

crysis2 游俠會員

來源:遊民星空