建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

潘翔發表於2021-12-23
建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

首發知乎:https://zhuanlan.zhihu.com/p/441174803

上篇文章寫到了模型與貼圖精度對畫面表現的影響,但是統一精度只是遊戲美術規範的最基礎的內容之一,要表現更出色的畫面效果,還有兩個不可忽視的重點,細節與質感。

什麼是細節?

在我看來,細節主要體現在3個方面:

1,對物體微觀表面的呈現

在生活中我我們都具備這樣的常識,不同的材料的物體,它的表面紋理是不一樣的。例如金屬,皮革,木頭,布料,這些常見的材料,我們不用區分他們的外形,也能看出它屬於那種材料。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

2,環境對物體的影響

環境中的物體不可能是獨立存在的,在不同的環境中物體會受到不同的影響,比如會長青苔,發黴,積灰等等,畫面細節表現應該包括這些效果,美術資源才會顯得生動

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

3,時間對物體的影響

隨著時間的偏移,物體會呈現各種老化反應,比如生鏽,脫漆,磨損,腐蝕等等。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

什麼是質感?

以前美術資源製作流程中,質感靠美術人員手繪控制。主要在本世代,pbr的引入已經大大改善了實時渲染中的質感問題,大部分現實生活中的材質都有對應的引數。我們只要把引數調對,基本都能實現正確效果。這方面的相關文章很多,就不囉嗦了。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

美術資產決定畫面效果的下限,shader規範決定美術資源生產管線。確定了我們需要的效果後,shader就需要根據效果來定製美術資源管線。通常我們會根據材質型別來區分,比如把shader分為絲綢,毛髮,玻璃,金屬,塑膠,棉布,石頭,皮膚,橡膠等等等等,也就是還原質感。個人感覺這樣的分類方式更接近渲染管線向,也是很多圖形向TA負責的內容。但是要做出更生動的畫面效果,shader還需要考慮到細節表現的需求,根據美術資產的用途和做法,把shader規劃為地面,建築,道具,車輛,角色,服裝,特效等等,他們與渲染管線的材質型別並不是並列關係,而是包含與被包含的關係。舉例來說,一個石頭材質的建築,和一個石頭材質的桌子,它的做法是完全不一樣的。這方面往往是美術向TA來把控。

可以說,渲染管線決定底層效果,美術生產管線決定上層質量,兩方面結合,才能實現高品質的畫面效果。目前國內大部分TA能做到還原質感,但是結合美術資源的生產管線來實現對細節的表現做的並不是很到位,這也是國內生產環節脫節,跨部門協同不足導致的。老毛病了屬於是。

那麼如何規劃一個符合專案需求的資源生產管線呢?我們來看幾種常見的手法。

1,完全交給美術控制

TA提供基礎的shader,其他完全交給美術,效果好壞全靠美術發揮,這是國內最普遍採用的流程,也是相當初級和粗放的生產流程。

這個流程不能說是錯的,但是它的弊端很多。一個美術資源的標準生產流程就是製作模型,製作貼圖,根據需求再做點碰撞LOD什麼的,然後導進引擎。一個模型對應一套貼圖(固有色、法線、粗糙度、金屬度、AO),shader決定質感,細節全靠貼圖表現。下圖就是這種做法的典型範例,可以看到模型上所有的細節效果,泥土,青苔等都是畫在貼圖上的。這種做法流程簡單,效果比較可控,如果想做流程升級也簡單,就是上掃描。參考我第一篇系列文章<建立下個時代的高畫質遊戲美術資源生產管線(一):攝影測量建模>

但是這種做法也有幾個明顯的弊端,首先因為一個shader不可能包含所有的著色模型,只能表達一個主體著色模型,雖然我們可以透過調整粗糙度,金屬度/高光或者光澤度的方式稍微區分一下不同材質的效果,但是始終是有缺陷的。材質效果不夠準確。

其次貼圖的承載能力受解析度限制,雖然我們可以透過規劃貼圖精度的做法來壓榨貼圖精度上限,但是貼圖數量和解析度不能無限增加,為了提升精度只能拆分貼圖;而為每個模型都分配獨立貼圖會導致視訊記憶體爆炸,也不符合遊戲資產的標準。虛幻5的nanite和虛擬紋理可以部分解決這個問題,但因為nanite支援的材質型別有限,現階段還無法成為主流做法。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

如果把這個做法放大到整個關卡甚至專案層面,更能充分感受到其優劣對比

以虛幻官方提供的quixel免費案例AbandonedFactory為例,下圖整個關卡完全使用掃描資產搭建,可以看出貼圖細節非常豐富,效果很真實。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

但是如果我們把視角拉的再近一點,就能看出很多明顯問題,比如貼圖拉伸,貼圖精度不足導致肉眼可見的大量馬賽克等。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

開啟資產我們可以看到單張貼圖尺寸已經不小,都是4096精度,但是4K精度要表現一個7。8米高的廠房還是很吃力,4096=512*8,相當一平方米的貼圖精度不足512,平鋪8次,大概也就是一個手遊標準,放在PC上是不夠看的。並且貼圖中相似內容太多,有大量重複製作,以遊戲資產的標準來看是不合規的。遊戲資產非常在意重用率,如果某個非重要資源在專案中只出現一次,那這個資源最好砍掉。尤其是貼圖層面。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

為什麼單獨在這個範例上花費這麼大篇幅呢。我在幫很多公司和團隊進行美術效果最佳化的時候,最常遇到的問題就是美術資源生產缺乏規範,拿到需求就開工了,最後資源量爆炸,一個關卡能幹出幾百張貼圖來。而國內技術美術體系尚不成熟,很多團隊技美很少直接介入資源生產環節,最後最佳化的時候就無從下手,TA通常具備一個大的最佳化概念,也知道落地需要的技術細節,但是很難執行到美術層面上。舉例說明就是知道需要減少貼圖數量,降低drawcall,減少貼圖對視訊記憶體的佔用,但是哪張貼圖該砍哪張不該砍,TA無法判斷,教給美術團隊去做主更不靠譜,他們要是有這個概念就不會做成這樣了。這種情況也很難最佳化。重新規劃資源製作方式等於大部分美術資產重做,這會造成極大的成本浪費。畢竟遊戲裡的美術資源大改一次就是幾百萬上千萬沒了。所以老闆要麼就只能選擇咬牙忍著,專案質量差點就差點,要麼就是咬牙重做,打落牙往肚裡吞。

quixel這個案例就是一個比較典型的情況。當然這個關卡只是為了展示作用,人家也不是按遊戲美術規格做的。但是如果各位TA或者美術想練習最佳化,不妨用這個關卡練手,在不影響畫面效果的情況下,把整個關卡的貼圖數量控制在10套以內(大概40張),且貼圖大小總和加起來不超過2張8192。shader控制在5個左右(不算instance)。

2,建立材質庫,使用混合材質製作

這種做法的宏觀思路就是把模型,貼圖,材質實現一定程度的解耦,在製作流程上互不干涉,可以並行推進。第一步還是先建立材質庫,定義好專案需要的材質種類效果規範,然後建立紋理庫,同過各種無縫紋理的混合,實現比較豐富的變化。美術只需要標記mask和ID貼圖,配合貼花,就可以實現豐富的材質和紋理效果。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

這也是目前業內的主流做法。具體可以參考這篇文章:

FreddyHu:從Paragon來分析工業化紋理製作Pipeline
<https://zhuanlan.zhihu.com/p/364638972>

這種做法的好處在於:

一定程度的打斷了模型,貼圖,材質的關聯性,各個部分可以並行推進製作,大大提升了製作效率。

透過建立材質庫和紋理庫,可以有效的在專案初期就規劃好總的美術資源生產量,避免同類材質的重複製作,增加效率,減少內耗。

細節表現更加豐富,各種效果可以靈活調整。

壞處是,增加了美術的學習成本,無法直觀在DCC軟體中檢視最終效果,可能有部分美術難以理解這種製作思路。如果美術不能熟練使用引擎很難調出正確的效果。

消耗增加,貼圖多層混合會增加取樣成本,不過從宏觀角度講,專案中總的貼圖數量是大大減少的。

在移動平臺上使用限制極大。

3,從資源生產源頭解耦

我們都知道,大多數情況下,面數並不是效能瓶頸。在當前硬體環境下,哪怕是移動平臺,引擎對面數也有很好的支援,配合LOD,視距裁剪,遮擋剔除等最佳化手段,執行平臺對同屏面數一般都有比較大的寬容度。貼圖,骨骼,動畫資源,光影才是比較難做最佳化的地方。那麼最有效的最佳化手段,就是從生產環節源頭下手減少貼圖尺寸和數量。

其實一般遊戲專案中出現的材質型別也就十幾種到幾十種,如果整個專案都是基於這些基礎材質型別製作,那麼專案中的貼圖數量會大大減少,最佳化壓力也小很多。而一般遊戲中,世界觀設定都是穩定統一的,也就是意味著表現遊戲世界的美術資源,其對細節和質感的要求也是統一的,那麼我們可以在資源製作規劃上,把這種統一性從shader到貼圖層面就做好,這樣可以就實現模型和貼圖的解耦。

通俗的解釋就是,我們做專案資源規劃的時候,就把細節和質感繫結在貼圖與材質上。然後透過拆分模型和UV的方式,實現對這些資源的重複使用。

死亡空間是這方面比較典型(極端)的範例

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

在死亡空間的美術資源中,基本不存在為特定模型製作的獨立貼圖,所有的模型和貼圖都是可以隨意組合拼接的。這就意味著可以用很小尺寸的貼圖實現豐富的效果。

死亡空間單個關卡中使用的貼圖,最大尺寸不超過512,大部分為256甚至128,整個關卡貼圖加起來不超過15M。這已經比很多手遊規格都低了,而這還是一款主機和PC平臺的遊戲。實際上,單從貼圖來看,你很難看出這張貼圖屬於哪個模型。它可能用在牆上,地面上,天花板上,甚至飛船的某個零件上。為了實現最大程度的貼圖複用,甚至遊戲中的lightmap也是美術手動建立。這樣處於同樣光照環境下的同類物體不會產生多餘的lightmap。最終在遊戲中的表現你完全看不出來是以極低的資源規格製作的遊戲。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

一個關卡的貼圖也就這麼多,資源量被限制得死死的。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

透過建立統一的美術風格,在專案頂層規劃上便實現模型和貼圖的解耦。從而減少整體美術製作量和材質複雜程度,而前期規劃又可以更好的推動美術風格的統一,傳統的美術生產流程是原畫---模型---貼圖---材質。而解耦後的生產流程則是貼圖----材質----原畫----模型。模型生產被放到了最後,這樣也可以大幅度減少美術資源修改帶來的影響。

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

建立下個時代的高畫質遊戲美術資源生產管線(三):細節與質感

這種做法的好處在於:

最佳化方便,整體效果可控。美術品質和製作人員水平幾乎完全脫鉤。適合量產。工業化到極致了屬於是。

缺點在於:

需要美術總監對整體效果有極強把控能力。

製作過程繁瑣,非常折磨美術,除了美術總監幾乎沒人知道最終效果啥樣。

比較吃專案型別,專案型別對製作流程影響很大

當然在實際專案開發中,美術資源的生產方式不可能死用一套流程,一般都是這幾種做法混用,由美術總監做整體把控根據需求選擇不同的做法。透過我這幾篇文章,大家可以看出,我很少寫某個具體效果的實現,更多的是從方法論的角度出發,宏觀的去分析專案需要的生產管線,這也是我寫這個系列的主題,去分析做事的思路,方向定了,再解決細節問題。如果做事的方向錯了,那麼微觀上的問題處理得再漂亮,對整個專案的品質和走向也於事無補。



相關文章