Epic 公開令人驚歎的「Elemental」影片,以及 Tim Sweeney 暢談 UE4

Featured Stories, Interviews

作者: Andrew Burnes
2012 年 6 月 8 日星期五


Epic Games 公司去年曾在的「2011 年遊戲開發者大會(GDC 2011)」中,公開展示他們與 NVIDIA 合作,利用 Unreal Engine 3 所製作的「撒瑪利亞 (Samaritan)」示範影片,為遊戲玩家預告了下一世代繪圖處理技術的面貌。這一個展示將三張 GeForce GTX 580 繪圖卡以 SLI 的模式連結在一起,以極限條件運作,「撒瑪利亞 (Samaritan)」示範影片的展示達到所有即時展示前所未見的全面性真實程度,引起眾人的讚嘆不已。在「2012 年遊戲開發者大會(GDC 2012)」上, Epic 公司再一次展示了「撒瑪利亞 (Samaritan)」示範影片,但這次僅使用一張代號為「Kepler」的繪圖卡驅動,取代原先的三張 GTX 580 繪圖卡,而這張繪圖卡就是後來發佈型號為 GTX 680 的繪圖卡,也就是我們的旗艦 GPU。

大家不知道的是, Epic 公司之前已經先向它最親近的夥伴展示了 Unreal Engine 4 ,這是該工作室的下一世代開發平台,具備所有「撒瑪利亞 (Samaritan)」的強化特性、全新的開發工作線及各種最新技術。很可惜是,當時所有的這些畫面以及資訊是被禁止洩漏的,所以,關於這項展示令人驚訝的視覺效果以及技術上的進展,我們不能在第一時間告訴你們。

今天,所有的限制已經解除,所以你將可以看到 Unreal Engine 先驅 - Tim Sweeney 的一段談論技術的深度訪談、兩段炫麗的高解析度視訊,以及二十幾張超高解析度的螢幕截圖,你將能藉此進一步瞭解下一世代遊戲的繪圖成果。 請注意,所有的視訊或圖片都是在單張 GeForce GTX 680 繪圖卡運作時即時擷取下來的,絕對未經過任何編輯、Photoshop 處理,或是預先渲染。


點擊可看放大圖面。

「Elemental」的第一段短片,提供了令人印象深刻如電影般的場景,讓我們看到了該引擎的特點,其中許多特點在前述的「撒瑪利亞 (Samaritan)」示範影片中已出現。

... 影片載入中 ...

點擊觀看 Epic 公司 Unreal Engine 4 的「Elemental」電影短片,或是點擊此處 來下載這個檔案大小為 911MB, 解析度為 1920x1080, 速率為 49,986kbps 的 .mov 原始檔。

 
Unreal Engine 4 Elemental Tech Video

第二段短片讓我們得以一窺幕後秘辛,影片內容逐步解說 Unreal Engine 4 的一些技術特點,以及它全新的開發工作線。假如你對技術或是遊戲開發有興趣,那麼絕對不可錯過這段超過十分鐘長度的影片。


點擊上方影像下載解析度為 720p, 檔案大小為 514MB 的影片壓縮檔,此影片內容為逐步解說各種特性,或是點擊此處 下載檔案大小為 3.2GB, 解析度為 1920x1080, 速率為 43,833kbps 的 .mov 原始檔。

獨家專訪: Tim Sweeney 暢談 Unreal Engine 4 的開發

在每一個產業裡都有聖杯存在。對能源產業而言,這個聖杯是核融合;對於醫藥產業而言是如何治好癌症;對於太空探索,所代表的則是超越光速的推進力。對任何事情而言,所謂的聖杯定義就是困難的、昂貴的、或僅存在於科幻小說中的事物。或許這就是為什麼我們會這麼渴望得到它。

在電腦繪圖領域裡的聖杯就是即時的全局照明 (Global Illumination)。全局照明會模擬光線從表面反射至其他表面的行為,藉此方式渲染遊戲世界。但是模擬光子本質是非常昂貴的,這也就是是為什麼在電影中,全局照明僅被選擇性地用於渲染複雜的 CGI 場景。

不過這一切即將被改變。使用 Unreal Engine 4 平台,遊戲首次能夠進行即時的全局照明渲染。為了瞭解其中所代表的意義,我們訪問了 Tim Sweeney , 他是 Epic Games 的創辦人,同時也是 Unreal 開發的主導者。

Unreal Engine 4 的主要設計目標為何?

我們有三個大目標:

  • 首先,我們想要針對能夠支援 Direct 11 的電腦以及未來的遊戲機,定義出可達成的下一世代繪圖能力。
  • 第二個目標是想要提供一個史無前例的工具組,它是一個功能強大、容易使用且完整的組合。
  • 最後一個目標是希望能將此技術及它的特性,擴展至未來的各種運算裝置上,其中包括 iOS 、Android 以及主流電腦平台等。

UE4 的目標作業平台為何?若要來運行以 UE4 為基礎的遊戲,玩家需要擁有何種硬體設備?

Unreal Engine 4 的下一世代渲染器主要是訴求 DirectX 11 GPU,並且開始著重繪圖運算效能在每秒一兆次浮點運算以上的硬體設備,這些硬體能提供超強的運作能力。然而,UE4 也包含了訴求主流市場設備的渲染器,並提供適合的特性集。

如何比較 UE4 與「撒瑪利亞 (Samaritan)」示範影片中的技術?

「撒瑪利亞 (Samaritan)」示範影片公開於「2011 年遊戲開發者大會 (GDC 2011)」,那時候僅是初期的原型而已,目的只是為了要測試我們的繪圖團隊對於下一世代繪圖處理的一些概念。UE4 的技術遠比那時候要好得多,我們開始使用全新的即時間接照明工作線,因而從根本地改變了可以支援的場景種類。

什麼是全局照明 (Global Illumination),以及為何它對遊戲的真實性是如此的重要?

全局照明 (Global Illumination) 是關於光線在場景間來回彈跳的計算。全局照明 (GI) 不但負責處理在真實世界環境中,我們所看到的許多細微陰影效果及環境,而且也負責處理有光澤及金屬的反射。將即時全局照明導入 Unreal Engine 4 中,是自 1995 年將即時直接照明導入 Unreal Engine 1 後,在照明處理上最重大的突破。

請概述這個演算法工作原理,讓我們瞭解它如何從產生一個八叉樹 (octree) 開始,之後進行圓錐曲線描圖法 (cone tracing),到最後的收集是如何運作的?

這項技術被稱為 SVOGI – 稀疏體素八叉樹全局照明 (Sparse Voxel Octree Global Illumination), 這是由 Epic 公司的 Andrew Scheidecker 所開發出來的。UE4 將場景中所有可看見的光線發射物進行多重解析記錄編碼後,以即時八叉樹資料結構來維持這些記錄,而這些代表著有方向性的彩色體素。只要有場景中的任何一部份改變,這個八叉樹就會在體素化之後被保存下來,同時也使用像是陰影緩衝之類的傳統直接照明技術的組合集合,來捕捉第一個回彈的光照。

透過這個八叉樹的資料結構 (已知起點、方向和角度)來執行圓錐曲線描圖法,進而產生一個近似的光線射入所依循的路徑。

這個訣竅在於透過 GPU 的加速來使得圓錐曲線描圖法能夠運行得夠快速,因而使我們可以即時地在每一個像素上運行一次或更多次以上。在每一個像素上,執行六次(每一個基本方向面一次)廣泛的圓錐曲線描圖法,進而產生近似的二次回彈間接照明。在鏡面的反射方向執行一次較窄的圓錐曲線描圖法,如此將可啟用金屬的反射,這樣一來,場景中每一個有光澤的表面都完成了反射的作業。

編輯註記: 假如上述的程序對你而言有如外星文一般的話,那是因為它就是外星文。全局照明 (Global Illumination) 需要完全新的照明工作線。在傳統的遊戲中,所有的間接照明(光線是從表面反彈的)是預先計算好並儲存在被稱做光線貼圖 (lightmaps) 的紋理中。光線貼圖可以讓遊戲有全局照明的感覺,但是既然它們是預先計算好的,所以它們只能夠運作在靜態物體上。

在 Unreal Engine 4 中,並沒有預先計算好的光線貼圖。相反的,所有的照明,不管是直接的還是間接的,每一幀幅都是在即時狀態下計算出來的。相對於過去被儲存在 2D 的紋理中,現在它們是被儲存在體素 (voxels)中。體素是在三向維度中的像素。因為它是有體積的,所以被稱做「體素」。

體素是被組織在樹狀結構中,以便於它們可以被有效率的定位。當一個像素被渲染之後,它會詢問體素樹「哪些體素是我看得見的?」。然後根據這些資訊,它會決定它收到的間接光線(全局照明)數量。

簡單而言就是: UE4 完全排除預先計算好的照明。在它的位置上,它使用儲存在樹狀結構中的體素。這個樹狀結構會在每一幀幅更新,而且所有的像素使用它來收集照明資訊。

其他的遊戲引擎也宣稱以某種方式擁有即時的全局照明。究竟是什麼因素讓 UE4 的執行效能如此獨特?

有一些技術,像是光傳播容積 (Light Propagation Volumes) 已經運用在先前已上市的遊戲上,並且能夠提供接近的解決方案來做到即時擴散的全局照明。但是 UE4 的稀疏體素八叉樹全局照明 (SOVGI) 是很獨特的技術,它可以提供全場景間接鏡面及反射的解決方案。這個解決方案能逼真地渲染金屬及有光澤的表面,扮演了非常關鍵的角色。

DirectX 的運算被廣泛地運用在渲染器上。請告訴我們多一點關於這方面的訊息。

在 UE4 的「Elemental」示範影片中, GPU 大部分的浮點運算能力是用來進行一般演算法的運算,而不像傳統上是用來支援繪圖處理工作線。我們對此不應該感到驚訝,因為傳統工作線的核心是被固定功能的硬體所佔據的,且是在固定的解析度之下被要求提供更多的效能,最終達到飽和。但是運算的工作線是具有往前無限擴展性,所以運算趨勢在未來應該還是會繼續成長的。

PhysX 引擎在 UE4 之中是如何展開進化的?它如何被運用在示範影片中?

我們在 UE4 之中使用 PhysX 來處理所有跟碰撞有關的問題,以及所有你在示範影片中看到有實體交互作用的部分 (像是鐵鎚、雕像、行星等等)。

從藝術家的角度來看,使用 UE4 來設計遊戲與使用現有其他繪圖引擎會有何不同?

除了先進的繪圖特性組合外,在 UE4 之中,工具事實上是最無與倫比的部分。強大功能及易於使用特性的組合,遠超過我們過去引擎的努力成果,因此能讓藝術家及設計師較以往更能掌握工作線。

Tim, 謝謝你今天接受我們的訪問。

最後請查看以下高解析度、直接饋送幀幅緩衝的螢幕截圖。請下載並且以全螢幕觀看,如果想要用來作為桌面壁紙時,請使用縮圖來打開這些影像、點擊滑鼠右鍵,然後儲存在你的電腦中。

回應