EPIC《無盡之劍》分享美術製作經驗

Game2遊戲:


CHAIR 高級美術師Nathan Trewartha(右)

game2報導/ 5月15日英佩遊戲與91、DeNA在上海舉辦《無盡之劍》分享會,Epic公司全球運營總監John T.Farnsworth、及《無盡之劍》開發團隊高級美術師Nathan Trewartha參加了此次會議,並作了主題演講,以下為Nathan Trewartha分享的有關Infinity Blade項目的美術製作經驗。

Nathan Trewartha的現場演講給game2留下最深印象的是:

1)遊戲設計方法的中外差異,Infinity Blade的遊戲創意來自所有團隊成員的頭腦風暴,這不僅體現在初期也在整個項目過程中,這或許是小團隊開發的特點,同時頻繁的項目溝通,能夠確保團隊成員的步調一致。而在國內,項目的創意往往是主策或者為數不多的人說了算。

2)雖然團隊小,但是成員都很資深,包括演講者Nathan Trewartha也有12年的從業經驗,CHAIR作為EPIC旗下工作室,對Unreal引擎的了解是非常全面的。



3)UDK雖然針對移動平台開發,但是在Infinity Blade開發的初期,其實一些功能也不是全面的,這在遊戲的美術方面更為明顯,為了增強遊戲的畫面效果,往往使用了遊戲業慣例的“土辦法”和“障眼法”,而採用手繪來增強,實際上效果顯著。並且能有效降低硬件的性能要求。而UDK之後則在不斷完善對移動平台的支持。

4)CHAIR團隊雖小,但同樣使用了外包資源,一些初期實驗、以及概念設計由CHAIR團隊自己完成,而大量的美術則由外包完成,所以說明面上的10人半年開發,實際上參與這個項目的人員是超過10人的。

以下為演講實錄:

我的演講主要介紹CHAIR工作室如何使用UE來完成這款遊戲的美術部分。在美國有很多的開發者都在問我們如何做到Infinity Blade這樣的美術質量。事實上CHAIR的整個團隊都非常的資深,最初這個Team只有6個程序人員,不過有的人已經在這個行業有10多年的工作經驗,而我最初是在Glyphx公司工作,並且Glyphx公司的項目採取了unreal引擎,這對我後面在CHAIR的工作幫助很大。

因為CHAIR工作室的成員非常少,因此開發人員常常要身兼數職,因此需要大家來一起來完成美術工作也是“家常便飯”,CHAIR的第一個產品並不是Infinity Blade,而是undertow,第二款遊戲則是Shadow Complex,這兩款遊戲也非常成功,曾經獲得了年度的獎項。

在我們的團隊創意過程中,通常採用“頭腦風暴”的辦法,我們在2週之內就有了60個idea可以去挑選,之後挑選出了最棒的3個,這3個idea中,除了undertow之外、就是shadow complex。這是項目最初找到idea最好的方式。我在這兩個項目中,不僅當作美術,也作為關卡設計。而在Infinity Blade這個項目中,我主要負責遊戲整個的世界設計及美術。

因為團隊很小,所以需要快速的開發遊戲,我們在開始的時候不會寫很長的文檔。 Infinity Blade整個遊戲的概念設計是最初的10個人一起來想的,會做很多的頭腦風暴。在沒有具體的策劃文檔的時候,已經通過頭腦風暴明確了遊戲長什麼樣。在最初的會議中,需要決定遊戲的優勢是什麼,哪些是要呈現給玩家的。

遊戲最初的設計不需要做太多的美術及模型,最重要的是把遊戲的核心的gameplay做出來。需要最快的做決定,哪些關卡、內容需要保留,哪些需要砍掉。

這張圖是無盡之劍的世界地圖,在一開始,它可以讓團隊全部成員知道遊戲世界是怎樣的,之後會盡快搭建起來,而左上角的部分,我們最終去掉了。

這是《Infinity Blade 2》的一張簡單的關卡設計的草圖,它非常的簡單、但說明了遊戲框架的概念,圓圈的部分代表的是有戰鬥,三角形就是有BOSS戰,有了這個草圖,美術設計人員、關卡設計和整個team對遊戲整體都有了概念。每個人看到這張圖就能明白自己要做什麼工作。

接下來,我們介紹Infinity Blade的美術素材是如果製作的,我們把非常簡單的材質放到模型上就可以了,這張圖就是剛才演示的平面圖中的一部分,不過,這部分的設計在很早的討論中就被捨棄了。而這張圖則是之後保留的部分完成後的最終效果。

談下UDK中,如何實現光照效果:

通常我們會使用一個directional light來模擬太陽光,室內光一般用點光源,對於角色的光照會用平行光和點光源來組合。 Infinity Blade遊戲中,通常只出現2個角色,所以我們會使用一個通道對準玩家角色,另一個通道來對準“敵人”的角色。

我們的引擎程序,基本是4種banked 光照方式

1)全局光2) ambient coclusion 3) bakedin normal maps 4) custom painted details

虛幻引擎最大的優勢是將以上這4點實現後,環境光照非常的棒。

最左邊的是一張light map,之後拿來當作photoshop上的一層,這樣就可以看到每個塊磚頭。第二張圖是在ps中畫的房子的貼圖,第三張圖,就是用手繪的話,就可以得到一個normal map。

這張圖演示的是,在陰影部分實際上是難以看清楚的,有鋸齒,在UDK中,把這個map取出,並且跟物體上的貼圖來組合在一起,然後再放回最終的畫面,然後用手工的方式把陰影去掉,從而沒有鋸齒,因此在編輯器中貼圖效果就更好。而且還帶來更好的性能。

現在看到的一張圖是只有投影的效果,除了有投影外,還有normalmap的效果,這是之後增加了手繪之後的效果。 。 。 (說到很多的效果的合成,用到了一些手繪的方式)。手繪的加入,可以打破畫面的單調感。

在unreal上要製作移動遊戲,要用到之前其他平台的一些老辦法,這些方法在iOS也同樣適合。

  • 為了實現反射效果,採取的是鏡像翻轉,來實現。
  • 在材質中,有一個平移貼圖的方式,來做出一些特殊的效果。
  • 為了節省系統的性能,增加了很多的cards來製作背景畫面。
  • 在材質中,用頂點動畫的方式,來實現動畫效果。
  • 使用cards來做投影,然後貼到模型上,來實現陰影的效果。

這是一個很有趣的動畫效果,左側是一些小魚,實際上,是用的魚的貼圖在一個條狀物件上,然後讓貼圖移動,從而實現魚在遊的效果,並不是魚在動。

遊戲中樹的搖晃的效果,用的頂點圖的方式來控制樹的搖晃。

這張是使用畫背景圖的方式來模擬效果,在這張圖中,建築物實際上都是“片圖”,而不是模型。

這張圖,是用圖來模擬樹的陰影的效果。

下面講下游戲的角色的優化:

  • 基於頂點的高光效果,其實效果並不是很好,在角色上,用了逐像素的方法來實現,用了diffuse RGB的方式來節省內存。
  • 然後角色身上,使用了Unreal的技術,banked GI。
  • 在遊戲中,只會一次出現2個角色,每個遊戲的面數並不會很多,但使用了非常大的貼圖,即使是ios也使用了2048的貼圖,3000頂點。
  • 為了有更好的性能,每個頂點有2個骨骼權重。
  • 每個角色運行時,只有一個draw call,材質id只有一個。
  • 無論是玩家、角色還是怪物的貼圖,都會match成一張貼圖。

這是5200個verts及3600 verts的頂點的模型,基本看不出差別。

下面說一下優化的技巧。

  • 減少場景中物件的數量,會進行一些合併。在《Infinity Blade》及《Infinity Blade2》中,這些合併的工作都是手工來完成的,現在的Unreal工具中增加了新的工具來自動完成,會更快。
  • 如果更加激進的優化則是,更遠的場景徹底不畫,比如遠處的哪些樹。
  • unreal引擎可以自動監測,玩家的遊戲設備是哪一款。
  • 在不同的設備上,就是切換材質,高端機器上用更好的材質,低端機器上用更低的材質。

關於美術外包

CHAIR本身只有一個4人的美術團隊,建模和貼圖都是外包的,貼圖等的優化工作都是拿回來自己做的,當然也會告訴外包團隊需要的標準,也會告訴他們如何進行優化。剛才大家看到的原型的測試,由我自己來完成,我做完這些非常基礎的工作後,會發給外包團隊。

最後,如果沒有unreal引擎,我們這麼小的team是無法完成這麼多的工作的。

infinity blade level performance

Average infinity blade level(ipod touch 4上的數字)

draw call  58

triangles  190000

base binds   52

lightmpa texture binds  15

本文轉載gamelook,編輯僅做翻譯。詳細請查看原網站文章。

Comments are closed.