Alien: Isolation12  

10 月 7 日上市的《異形:孤立(Alien: Isolation™)》將考驗您在黑暗中奮戰的意志力。當你忙著在走廊閃躲無所不在的異形,以及躲避這些瘋狂的大顎和具腐蝕性的口水之際,記得停下來欣賞一下周圍場景的設計,遊戲場景中的世界充滿了大量的尖端著色技術(rendering technology)。本文探究 AMD 與 Creative Assembly 公司如何運用 AMD Gaming Evolved 計畫的資源,針對支援 DirectX® 11 的 AMD Radeon™顯示卡技術的開發與優化。

遊戲背景說明

  探索《異形:孤立》驚悚的真正意涵,在充滿驚悚與命懸一線的氛圍中奮力求生。在《異形(Alien™)》電影上映 15 年後的今天,女主角艾倫‧雷普利(Ellen Ripley)的女兒亞曼達(Amanda)將陷入一場生存戰役,並揭露母親失蹤的幕後真相。

  扮演亞曼達的玩家們將經歷日趨猛烈的戰火世界,同時面臨恐慌又絕望的人們,以及難以捉摸且兇殘的外星異形。處在火力與戰備不足的情況下,玩家必須克難地利用週遭有限的資源並發揮機智尋找出路,達成任務已非首要任務,而是如何在逆境中求生存。

華麗的場景

  PC 熱血玩家們在打開《異形:孤立》的設定面板時必定會為之驚嘆。《異形:孤立》採用從頭撰寫的全新引擎,提供本部落格探討的所有先進特效。PC 的熱血玩家一定會很高興的發現遊戲機與 PC 的效能都是個別開發,提供不同運作系統平台玩家《異形:孤立》獨特且高度優化的遊戲經驗。

照耀塞凡堡的燈光特效

  為了在《異形:孤立》場景塞凡堡(Sevastopol)中達到戲劇化的日照效果,《異形:孤立》在其引擎中納入一項「延遲渲染(deferred renderer)」設定。這種著色器能夠一次就演算出畫面中玩家看得到的整個場景內容,然後先將所有產生極美的日照效果必要的屬性,如位置與材質,儲存在「G-buffer」幾何緩衝區中。攸關場景日照的暫存屬性,可等到場景幾何物件完成著色後再處理,這使得日照處理作業只和光源複雜度有關,不會同時牽扯光源及幾何複雜度。簡單的說,「延遲渲染」讓藝術家能在場景中設置數百個動態光源,並同時兼顧極佳的幾何物件細節度。
AMD Alien 1  
左上:Albedo,右上:法線貼圖(Normal mapping),左下:光澤反光(Shininess),右下:完全照明的場景(Fully-lit)
左上:Albedo,右上:法線貼圖(Normal mapping),左下:光澤反光(Shininess),右下:完全照明的場景(Fully-lit)

  但延遲渲染的諸多優點也伴隨一些缺點。最重要的一點:對性質差異大的多樣材質,像是金屬、布料、木頭、皮膚、頭髮等,以及對半透明物件的光照效果的支援有限。《異形:孤立》巧妙避開材質問題,以創新手法運用 GPU 的模板緩衝區(stencil buffer)標記場景中的獨特材質。針對每種獨特材質的光源與材質互動,採用典型的多批次(multi-pass)技巧進行著色,更特別的是,引擎還會從玩家的視野測試材質的能見度。凡是畫面上看不到的材質,都會被排除在繪圖管線物件之外,以避免先前提到多批次照明法著色速度緩慢的缺點。

  延遲渲染處理半透明物件的效果通常不好,但《異形:孤立》也解決了這方面的問題。只有固體及不透明的幾何物件會被著放置到到 G-buffer 幾何緩衝區,意謂半透明幾何物件通常在場景合成後才會著色,並減少光源數量以節省運算資源。Creative Assembly 的解決方法是為每個半透明物件機動產生一個光照貼圖(light map)。光照貼圖連同幾何緩衝區的光源資料即時傳遞,意謂不論場景複雜度如何,透明物件都會受到正確的光照。

運用 DIRECTCOMPUTE 即時演算光跡追蹤

  在遊戲世界裡,光是運用像是燈與陽光等直接光源還不足以產生逼真或真實的光照效果。在現實世界裡,光線會在所有種類的反射表面上來回反射,並將光線散射到週圍區域; 這些光線會在房間內不斷反射,直到光線能源被物體完全吸收為止。這種光線來回與反射的模擬演算就稱為 「光跡追蹤(radiosity)」。

  在即時繪圖方面,光跡追蹤是一項極難解決的問題,大多數遊戲都只是運用某種形態的全場景環境光照來模擬。對於為《異形:孤立》特別開發即時光跡追蹤引擎的 Creative Assembly 公司而言,「近似」效果還不足夠。

  從最高層級來看,《異形:孤立》的引擎透過在場景四周擺設許多看不見的「光線探測器(light probes)」持續更新整個場景的光跡追蹤模型。運用微軟的 DirectCompute 應用程式介面,這些探測器會處理從延遲渲染發出多少光。對於從像是電腦螢幕與 LED 看板等自發光平面所發出的光,則會加到資料中由探測器處理,然後再加上來自先前著色後畫格的間接反射光線。為了讓光線固定或靜止在場景中玩家看得到的物件上,光源探測資料會分成多個光源圖,套用到幾何物件上,然後算出圖像。
AMD Alien2  
左:光跡追蹤光源圖,右:只用光源圖資料照射的環境。請注意看即時光照的精準擬真效果。
左:光跡追蹤光源圖,右:只用光源圖資料照射的環境。請注意看即時光照的精準擬真效果。

  對於遊戲中出現的動態物件,像是人物與粒子特效,光探測器是用來透過 DirectCompute 產生的光跡追蹤 cubemaps。

  最後,運用 DirectCompute 對 AMD Radeon™顯示卡使用者而言尤其重要,因為屢屢得獎的次世代繪圖核心(Graphics Core Next;GCN)架構原本是針對這類「通用型」語言量身打造。透過原本是要用在非遊戲情境所設計的通用特性,現代遊戲引擎可大量運用 DirectCompute,快速處理高度平行化的資料。
AMD Alien3  
左:在關閉光跡追蹤下進行全引擎著色,右:啟動光跡追蹤進行著色。注意到整個場景更細膩的光照效果,完全呈現金屬表面的反射光線。
左:在關閉光跡追蹤下進行全引擎著色,右:啟動光跡追蹤進行著色。注意到整個場景更細膩的光照效果,完全呈現金屬表面的反射光線。


高解析環境遮蔽技術(HDAO+)

  為補強《異形:孤立》的動態光照與即時光跡追蹤,著色器另外還採用 HDAO+(AMD 所開發的計算環境光遮蔽技術),當光線照到場景中的裂口與縫隙時,就會運用此技巧來計算物件產生的陰影。HDAO+ 採用適合支援 AMD Radeon™顯示卡的 DirectCompute 來計算這些陰影的大小與強度。HDAO+ 運用 G-buffer 的資訊並以多種解析度算圖,協助在品質與效能之間取得最佳的平衡點。
AMD Alien4  
左上:關閉 HDAO+,右上:啟用 HDAO+,左下: 若沒有 HDAO+,所有陰影就不會被計算。
左上:關閉 HDAO+,右上:啟用 HDAO+,左下: 若沒有 HDAO+,所有陰影就不會被計算。


2137 年科幻遊戲理當有更好的材質

  富含大量內容的遊戲想要發揮卓越效能,材質壓縮(Texture compression)至關重要。透過材質壓縮,開發者就能把更多材質加入到場景,而且不會使 GPU 的畫面緩衝區超載,或耗盡記憶體頻寬,並能把這些材質載入到「顯示記憶體(VRAM;Video RAM)」中。

  業界長久以來一直仰賴名為「DXT;DirectX Texture」壓縮法,此法是把原始影像的每個 4x4 像素區塊壓縮成資料集,壓縮成原始圖像的四分之一到八分之一資料大小。這些材質之後可透過 AMD Radeon™顯示硬體的相關專屬功能,進行即時解壓縮回復成原始材質資料。

  壓縮材質的問題在於壓縮法會衍生各種圖像瑕疵。大家都看過 JPEG 格式圖檔像素顆粒粗糙的狀況,DXT 的瑕疵就很像這種缺陷。下圖隔離出這些瑕疵,越多顏色代表更高的瑕疵數量。

AMD Alien5  
  DirectX® 11 引進一種更好、更複雜的壓縮法,名為「BC7」,它能壓縮出原始圖像四分之一大小的資料,但產生的瑕疵比起採用 BC3 這類較舊 DXT 壓縮法要來得大幅減少。AMD Radeon™顯示硬體已支援 DirectX® 11.2,意謂這些遊戲玩家能取得 BC7 壓縮材質套件以享受更卓越的材質清晰度。

  BC3 欄中的高瑕疵,在玩家眼裡會看到模糊不清或格狀顆粒的材質。BC7 材質壓縮法的低錯誤率,為 AMD Radeon™顯示硬體使用者帶來理想的效能與品質。

躲在陰影中的學問

  對於營造《異形:孤立》的陰森氛圍而言,逼真的陰影是關鍵要素。為了要讓這些陰影盡可能逼真,Creative Assembly 的團隊採用 AMD 的「接觸硬化陰影(contact hardening shadow)」技術。這項技巧會根據陰影與光源及產生陰影的物件之間的距離,機動地硬化或柔化陰影的輪廓邊緣。

  在現代 AMD Radeon™顯示卡系列產品中搭載的次世代繪圖核心架構,能以驚人的效率產生各種陰影,然而這類技巧需要強大的 GPU,而且僅能在遊戲內繪圖設定啟用「Ultra」模式時才能使用。
AMD Alien6  
左:關閉「接觸硬化陰影」,右:啟用「接觸硬化陰影」。注意到當啟用此特效時,陰影的輪廓會更柔和且更逼真。
左:關閉「接觸硬化陰影」,右:啟用「接觸硬化陰影」。注意到當啟用此特效時,陰影的輪廓會更柔和且更逼真。


GPU 加速運算粒子

  《異形:孤立》中的粒子特效替塞凡堡場景中攝人的逼真氛圍注入生命。從火焰及煙霧特效,一直到雷普莉的火焰槍上面噴出的火花,一種高效率的方法能模擬成千上萬個同時出現的粒子,就是在 AMD Radeon™ GPU 上執行物理特效模擬。

  這些不同種類粒子的特性,是由藝術家透過利用各種置於材質的描述資料(metadata)參數加以控制的。根據從 G-buffer 讀取的資料,粒子會受到速度場(velocity fields)和彈出場景的幾何物件所影響。當需要為玩家算出畫面時,粒子物理模擬運算就會運用 AMD Radeon™顯示卡上的 DirectCompute 進行加速運算。
AMD Alien7  
在溫躍層與世界幾何物件的影響下,運用真實物理模擬技術,由 AMD Radeon™顯示卡運算出餘灰上升至高空的效果。
在溫躍層與世界幾何物件的影響下,運用真實物理模擬技術,由 AMD Radeon™顯示卡運算出餘灰上升至高空的效果。


描繪輪廓柔順的表面

  在《異形:孤立》遊戲中,次世代繪圖核心架構運用輪廓強化的細分曲面技術,將幾何物件細分曲面發揮到極致。這種細分曲面會在場景中加入細節,僅針對玩家看得到的物體之邊緣輪廓,增加其幾何複雜度。這種細分曲面計算法能提高管線內圖像資料的細節,呈現細膩逼真的異星世界,而且不會把 GPU 運算資源浪費在畫面上看不到的物件。
AMD Alien8  
左上:關閉細分曲面,右上:啟用細分曲面,左下;關閉細分曲面(線框),右下:啟用模組化(線框)。注意看幾何物件的複雜度與細膩度都有提高。
左上:關閉細分曲面,右上:啟用細分曲面,左下;關閉細分曲面(線框),右下:啟用模組化(線框)。注意看幾何物件的複雜度與細膩度都有提高。


效能

  見識了 AMD 與 Creative Assembly 如何聯手在這款巨星級遊戲引擎中,運算出眾多 AMD Radeon™顯示硬體優化的特效,其實際運作的表現以以下圖表做最好的證明。

 AMD Alien9  

AMD Alien10  

AMD Alien11  


結論

當你奮力逃離異形的魔爪後,請停下腳步感受一下遊戲周圍的場景:
1. 讓每個人都能享受的獨特 PC 特效
2. 為 AMD 使用者帶來針對 AMD Radeon™顯示產品優化的效能

  談到 AMD 的 Gaming Evolved,玩家可透過 AMD 新推出的 Never Settle: Space Edition 遊戲合作計畫。Never Settle: Space Edition 利用 AMD Gaming Evolved 與包括 The Creative Assembly 等夥伴廠商建立的合作關係,免費贈送玩家遊戲,包括《異形:孤立》等,於合作零售商購買活動指定的 AMD Radeon™ R9 系列 GPU 即可獲贈這些遊戲。

arrow
arrow

    SinyaDigital 發表在 痞客邦 留言(1) 人氣()