天美最難技術美術攻堅戰:3年解決3座大山_風聞
游戏葡萄-游戏葡萄官方账号-有判断有前瞻的游戏行业媒体2021-10-20 08:03
“我們就是要剛正面。”
文/托馬斯之顱&九蓮寶燈
在強調工業化的當下,越來越多遊戲公司意識到了技術美術(TA)的重要。
《王者榮耀》對此恐怕深有感觸。以王者的體量,任何底層改動都將牽扯無數邏輯。但在最近幾年,它的美術品質有了質的飛躍。在這一過程中,整個團隊對於技術美術的重視和扶持相當關鍵。
前一段時間,我們對《王者榮耀》美術團隊做了多輪採訪。在這個系列的最後一篇文章,我們聊了聊王者的技術美術變革。那些正在升級研發管線,探索工業化生產流程的團隊,或許可以從這場持續數年的攻堅戰中學到一些經驗。
01
變革的三座大山
剛剛上線時,《王者榮耀》在3D美術方面的亮點並不多。
在那個玩法還沒被時代驗證的階段,能實現5v5實時對戰都已經相當難得,大家幾乎沒有餘力追求更極致的品質。在相當長的一段時間裏,整個團隊甚至只有一名TA。

早期版本的美術效果
2019-2020年,面對行業變化和用户需求的提升,王者團隊擴充了TA團隊,準備把品質提升到新的高度。受限於品類,他們並沒有一上來就追求最極致的美術效果,而是先瞄準了PBR這道難關。
可能有人要問了:PBR都流行多少年了,這有什麼難的?但情況遠比想象中複雜,在種種因素的制約之下,擺在他們面前的有三座大山:
第一,革新制作流程的生產風險。雖然王者在迭代時也曾加入了一些PBR的代碼,但團隊依舊保持了之前的製作思路,大量工作都在依賴手繪貼圖。如何讓團隊有意願,有能力接受整套PBR流程?
第二,重構渲染模塊的性能風險。王者上線已經太久。為了降低迭代的風險,之前團隊往往會在核心框架的基礎上進行迭代。可隨着時間的推移,迭代次數越來越多,代碼越來越複雜,在舊框架上進行「修補」的成本也越來越高。想解決這個問題,必須重構整個渲染模塊,「開着飛機換引擎」;
第三,重構美術效果的風險。面對海量用户,團隊必須考慮大家對於美術效果翻新的接受程度。而且就算實現了非常極限的美術細節,那些中低端的機型又該怎麼辦?萬一好心辦了壞事兒,大家可輸不起。
這三座大山的存在,幾乎讓王者成了業界最複雜,也最難搞的項目之一。TA團隊陷入了窘境。
02
重新優化PBR:如何替代光線追蹤?
經過反覆推敲,TA團隊決定在推進流程變革之前,先幫團隊樹立信心。
PBR的全稱是「Physically-Based Rendering」,即「基於物理的渲染」。“比如做一個紙杯,以前它的質感、立體感全部要靠手繪。而PBR是要告訴計算機,這個杯子是用紙做的,紙的物理屬性是什麼,光照強度又是多少……最後讓計算機給出效果。”
和高質量手繪貼圖相比,PBR的流程更清晰,更容易實現標準化的批量生產,調整起來更加迅速。而且它還能融入動態光影效果和敍事性光照,實現各種特殊質感。更不用説一旦打通這條科技樹,HDR lighting、HDR Display、DBR甚至NPR等先進技術的前景都擺在眼前。
但PBR只是一種方法,它並不能100%保證品質。“很多項目都講自己用了PBR,但你看到畫面之後就會有些懷疑……”而且在過去幾年,王者的美術團隊已經把貼圖畫到了極致。如果直接替換,素材的質量反而還會降低。
於是TA團隊開始研究目前移動設備流行PBR方案的硬傷,最終他們把問題聚焦到了局部散射/反射和全局光照上面。
舉個例子,同樣是做一枚金鐲子的時候,程序員會把它周圍的環境貼圖染成金黃色,貼在鐲子上,實現金燦燦的反光效果。但美術會説:這個效果還差點兒意思。因為在真實環境中,鐲子的光不只會反射到環境當中,還會在鐲子的凹陷處和環境之間「彈彈樂」,變得更加好看。

Photo by LUM3N on Unsplash
如果是主機遊戲,這個問題可以通過屏幕空間光線追蹤來修復。但在移動設備上面,這種需要在內存裏做大量操作的技術特性非常消耗性能,往往會被閹割——有追求的美術團隊肯定不會支持這種粗暴的閹割行為。
那該如何讓像素感知到周圍的幾何信息,並表現出相應的顏色?TA團隊想了一套方案:把周圍環境的情況,即可見性(Visibillity)全部編碼到像素中,以此計算光線要在本體反射多少次才會追蹤到環境,又有多少光照來自外界環境的反射;並對反射亮度進行色彩校正,最後再把降維之後的數據呈現出來。其中的原理,有些類似能在不同視角下,能夠呈現出不同圖案的防偽鐳射卡片。

素材來自COD(鏈接見文末)
與此同時,他們還引入了更多的調節參數。比如金子的入射率大於反射率,會吸收場景中的其他波長,把它們都轉化為金色,這涉及到自遮擋和反射的強度。而在工具當中,只要提高「反射到自身的亮度矯正」,就可以做出類似的效果。“比如現在我們能實現的玫瑰金,以前打死都做不出來。”

默認材質輸入技術下渲染的不同粗糙度的玫瑰金材質

使用AO貼圖技術渲染的不同粗糙度的玫瑰金材質

通過這項技術渲染的不同粗糙度的玫瑰金材質
最後,他們又在團隊內部成立了美術專家組(TAA),先用成品為大家演示新技術的效果,凝聚共識,再推動技術和流程的改革。
TA團隊稱,他們差不多花費了一年的時間,才證明PBR的細節也能不比手繪遜色。而只有整個王者團隊都達成了這樣的共識,一切變革才能實現。
03
逆向渲染:運用AI,從結果倒推過程
可在採用了新的工作流程之後,團隊又在重構渲染之後的美術效果上遇到了問題。
PBR向來牽一髮而動全身。在一次升級時,TA團隊曾改動了一個渲染公式,讓它更符合物理規則。“從正確性來講,它肯定更正確了。從藝術性來講,兩個燈光確實有了微妙的變化,你很難説出哪個更好。”然而玩家對結果並不買賬,因為光影變化之後,角色的臉和以前看起來不一樣。
如果類似的問題得不到解決,渲染模塊的重構將舉步維艱。如何讓角色關鍵部位的觀感保持不變?最終,他們決定採用「逆向渲染」的方案。
在傳統的PBR流程當中,美術要根據PBR的算法,繪製貼圖,調節參數,最終渲染出自己想要的圖形。但逆向渲染允許美術先給出想要的貼圖,再由程序自行尋找合適的算法。這項方案背後是一系列的AI技術,“類似於讓人工智能下圍棋,只是把棋盤換成了幾千x幾千的貼圖,RGB三個通道,和256種不同的組合,完全匹配就算你贏。”
而在硬件優化方面,「逆向渲染」一樣有應用的空間。“A手機內存特別快,但芯片計算不太行,我們就把計算轉移到內存來做;B手機內存不行,但芯片特別NB,我們就用壓縮解壓縮的方式代替內存,最終實現一樣的效果。”
在這套方案的幫助下,不管渲染算法如何變化,系統都能模擬之前的渲染風格。美術團隊在適應PBR流程的時候,也有了另一種解決方案。這讓王者的遊戲資產變得更加穩定,也讓它度過了「開着飛機換引擎」的階段。

04
從PBR到「DBR」:基於數據的渲染
在通過各種技術手段提升了美術效果之後,王者團隊要面對的最後一關是優化。
大多數遊戲的優化方案很好理解:配置分為高中低三檔,最高檔可以力場全開,HDR、抗鋸齒、高幀率、陰影樣樣都有;而如果設備性能不足,那就把這些特效關掉幾個。換句話説,研發團隊付出的努力,最終只會變成屬於少數玩家的福利。
但TA團隊放棄了這個方案。經過反覆嘗試,他們決定拆分資源的製作與分發,讓PBR只停留在製作階段,將分發交給「DBR」,即「基於數據的渲染」來處理。
解釋起來,就是在資源製作階段,團隊依然會遵循PBR的流程;但在分發階段,團隊會根據不同手機的承受範圍,把PBR效果的數據重新編碼,再通過取平均、求特徵等機器學習的方法來降維合併數據,把它們在手機端解碼呈現出來。
在這套邏輯下,團隊不需要考慮中低端手機跑渲染的能力,只需要計算機器承受數據的上限。而且所有手機都能保存元素、色彩、質感等藝術構成,只是沒有那麼高的精度。“就像在手機上看電影級畫質的視頻。”

除了提升中低端機型的體驗,DBR還進一步優化了美術團隊的工作流程。以前為了做王者峽谷的地圖,項目要分出三個小組:最高檔的畫質可以全程PBR,中低檔畫質則要用手繪貼圖,甚至更古老的方式來保證效果。只要地圖出現一點改動,三個組就要同時返工。而現在,所有人都可以為最好的效果努力。
不過對於美術團隊來説,推進DBR的阻力還有時間。以往大家只要把貼圖畫好,就可以直接打包進遊戲看效果。可現在每次大家調完參數,還需要程序經手才能放進遊戲。獲得反饋的時間從以前的兩三個小時變成了一兩天。最終TA團隊下了血本,把流程重新壓縮到了幾個小時的程度,終於讓大家重新獲得了接近原來的體驗。
TA團隊表示,DBR徹底改變了王者的優化效果。“現在我們只有最高配是全套PBR,其他配置的性能可以全拿去支撐三角形。它的幾何複雜度是以前的幾倍,但性能開銷可能只要60%-70%。”
到了這裏,TA團隊終於解決了曾經擺在自己面前的三座大山。而《王者榮耀》3.0版本的美術品質,也終於幫助團隊度過了技術焦慮期,達到了他們從未實現過的程度。

05
結語
當然,上面介紹的這些技術,只是王者TA團隊的一部分成果。可微渲染、HDR優化……他們還在嘗試更多的東西,繼續優化整個團隊的工作流程,實現更好的美術效果。
“一方面我們的分工要越來越細,比如現在有的同事只負責「布料解算」模塊;另一方面,我們的綜合思維能力也要更強。只有精準定位問題,協調各個部門的需求,用工具優化流程,才能讓技術團隊更好地把問題狙擊掉。我們的存在就是降低行業的准入門檻,讓專家能做自己更擅長的事兒。”
而在王者引入東方美學的理念之後,TA團隊也有了更大的野心。在未來,他們想把「意境」用技術的手段實現出來,這需要一個算力更強的全息系統。

“在技術發展到一定程度之前,渲染講究的都是更直接的關聯。比如太陽光照射到我,我被照亮了,有個影子,僅此而已。但如果我們要追求意境,可能就要更含蓄一點:太陽不是直接的太陽,而是被雲層遮擋了一半的太陽;被照射的人也不是直接的人,而被籠罩在雲霧之中。
想要達成這種效果,需要大量的算法和算力支持。團隊不僅要有全局渲染的數據,讓畫面足夠真實、有內容,讓場景能激活用户的神經;同時還要隱藏一些東西,比如隱去一個點光源,發散成牆大的光幕,再算出面光源陰影,微弱的光照起伏、一些流體的霧……這樣的環境再搭配中國特有的元素,以及羣青、品紅等特有的色彩構成,最終給人的體驗,才是東方美學。”

TA團隊告訴我,技術美術的研究工作有點兒「大道至簡」。最終解決問題的,可能只有5行代碼;但為了明確問題,可能幾名資深的同事要付出3年的努力:“這背後是整個美術團隊的支持,以及對新技術試錯的耐心。畢竟到了目前這個階段,已經沒有先例可循,只能摸着石頭過河。”
在這些過程中,唯一確定的是一條工作準則:不急功近利,不找捷徑,永遠要去克服最關鍵的技術問題。
舉個例子,如果想實現通透的角色臉部效果,最直接的方法就是攻克光照反射和透射。如果只是追求貼圖的通透,研發要用更多細節遮蓋穿幫;如果用自發光的方式模擬透光的效果,那天黑之後這張臉就會變成燈泡。想解決這個問題,又要讓發光和其他條件建立聯繫……
“遇到困難的時候,人往往會沉迷於捷徑。但每次繞開一個問題,就會遇到更多問題,最終迷失到眾多的分支裏。做遊戲應該是一件很純粹的事情,我們就是要剛正面。”
COD圖片素材來源:
https://www.activision.com/cdn/research/Precomputed_Lighting_in_CoD_IW.pptx