打造3A級遊戲渲染方案

遊資網發表於2019-12-23
近期,Unity在北京、成都、深圳分別舉辦了三場製作人專場活動,搭建優秀遊戲製作人與Unity官方面對面交流的橋樑,內容涵蓋專案優化、技術美術與解決方案等多個方面。

本文為大家帶來的是Unity技術美術總監林宇的演講-《打造3A級遊戲渲染方案》。你可以點選[閱讀原文]下載本次演講的PPT。

下面是本次演講視訊。


演講內容

大家好,我是林宇,來自香港,現在上海工作,擔任Unity技術美術總監。

打造3A級遊戲渲染方案

今天我將介紹渲染的趨勢,未來可以運用的一些新技術,以及Unity為企業級客戶提供的一些服務。

本次演講的內容主要針對高階一點的渲染方案。一談到渲染方案,大家就會想到:畫面渲染一定要很棒。

打造3A級遊戲渲染方案

首先我不能不提最基礎的內容-物理渲染管線,我瞭解很多客戶團隊,他們現在使用的不是物理渲染管線,很多時候後期達不到Unity一直在推薦的PBR效果質量。

從2017年開始,Unity中引入了可程式設計渲染管線SRP。其中有兩種渲染管線:高清晰渲染管線HDRP和輕量級渲染管線LWRP,也就是現在的通用渲染管線Universal Render Pipeline,簡稱URP。

為什麼要輕量級渲染管線LWRP改名為通用渲染管線URP呢?

當時用“輕量級”這個名字的時候,有一些客戶誤會成只要用了這個管線,功能和效能就自然提高了。由於這個誤解,我們便將名字修改了。

通用渲染管線URP是指可以針對任何平臺釋出,但是高清晰渲染管線HDRP只針對高階的效能的平臺。

高清晰渲染管線HDRP還支援實時光線追蹤。現在大家可能應用實時光線追蹤還很遙遠,但是也許不到一年以後多硬體都會支援RayTracing加速渲染,這會在未來非常普及。

打造3A級遊戲渲染方案

現在不少專案在建模的時候還是使用比較傳統的方式,但如果要程式化這種後期編輯的話,就要用到新的Houdini技術。

打造3A級遊戲渲染方案

打造3A級遊戲渲染方案

現在很多公司還是自己畫貼圖,或者上網下載一些圖片,很多時候,不能符合PBR的材質標準,經常會出現最後渲染差錯。建議大家參考《閃耀暖暖》的製作流程,如果你們還沒有這種使用Substance貼圖製作流程,請儘快學習使用。

打造3A級遊戲渲染方案

下面是大家非常熟悉的Unity的《ADAM》專案,已經在使用這種流程。

打造3A級遊戲渲染方案

下面我將介紹可程式設計渲染管線SRP,包括高清晰渲染管線HDRP和通用渲染管線URP。

現在URP已是一個很穩定的版本,技術方面,跟以前的PBR差別不是很大,但是更優化了和支援多光源,效能上提升了很多,做到只需要使用一個PASS渲染。

打造3A級遊戲渲染方案

下面是大家都看過的《異教徒》,畫面效果已經達到影視級的渲染效果。這就是高清晰渲染管線HDRP的效果,它強調非常準確的物理渲染。

打造3A級遊戲渲染方案

可程式設計渲染管線SRP中有一個很好用工具-Shader Graph著色器檢視。它可以幫助開發者、美術人員等進行視覺化的著色器構建。不必手工編寫程式碼,只要在一個圖形網路中建立並連線節點,就可以設計和除錯著色器,並且每一步都可預覽。

可能以前寫Shader程式碼的人還不太習慣用它,還是習慣寫程式碼,但是慢慢都要改變,因為美術人員看不懂程式碼。有了Shader Graph以後,美術人員可以維護或者修改一些Shader,這就多了一種選擇。

打造3A級遊戲渲染方案

高清晰渲染管線HDRP支援不同的光照模型,其中一項就是SSS,懂美術的人都知道,就是透光的效果。

大家可以觀察下圖角色的耳朵,後面有燈光,所以會透紅,這是非常準確的物理現象。

打造3A級遊戲渲染方案

高清晰渲染管線HDRP支援Specular Occlusion(SO), AO大家都知道,是環境光的遮擋。對反光來說有的時候會有漏光現象,如果只用AO遮擋反光的話還不夠,但是幫助還是有一點。

真正採用SO可以計算到哪一個Polygon面採不到環境高光,BendNormal可以計算反射角度,如果這個角度有遮擋的話,光照的方向就會偏移一點。

打造3A級遊戲渲染方案

下面介紹一下實時光線追蹤。為什麼說實時光線追蹤技術是未來的發展趨勢呢?

大家知道現在只有NVIDIA RTX 2000系列顯示卡才有實時光追加速器,但許多廠商也開始相繼研發,例如:華為正在研發實時光線追蹤加速器,現在這種功能晶片已經計劃逐步在移動平臺上釋出,另外Imagination公司的顯示器晶片也已經有了光線追蹤加速的功能。

打造3A級遊戲渲染方案

實時光線追蹤可以達到一個非常好的陰影效果,解決了之前提到的漏光問題,實現了高光的遮擋功能和透明的物理折射。如果要很多層透明的話也可以實現,但是需要設定更多的Bounce count值。

打造3A級遊戲渲染方案

打造3A級遊戲渲染方案

如下圖所示,在陰影方面,最左邊的用簡單一般Shadow Map,右邊是使用實時光線追蹤的比較。我們可以看見右邊的樹下面陰影比較硬,遠處樹葉比較軟,比較散一點更自然效果。

在Directional light裡可改Angular Diameter角度,可以打散一些比較遠的距離陰影,可以起到朦朧的陰影效果。

打造3A級遊戲渲染方案

實時光線追蹤是在每一個螢幕空間裡面,從對每一個畫素採一個點去追光。如果你使用RTX顯示卡的話,就可以很好的支援這個功能,未來PlayStation 5也會支援實時光線追蹤。

透明這塊,我剛才說過,需要很多比較好的物理準確的折射。如果你要透明後面更多紋理的效果,你需要計算多重反彈才可以實現。

現在大家可能會覺得:會不會很慢很耗效能?其實實時光線追蹤需要配合硬體,有硬體加速器可以,沒有就會比較耗效能。

打造3A級遊戲渲染方案

在高清晰渲染管線HDRP中可以渲染半透明材質的功能,但效果完全不同,它只可以做到模擬的折射,使用了實時光線追蹤後,物理方面是非常準確的,IOR這就是物質折射值,大家可以隨時上網查一下水等的物質折射值是怎樣的。

打造3A級遊戲渲染方案

我再演示一個稍微簡單的場景。這個是實時區域光,你會發現它的陰影很模糊,但卻是很高品質的模糊。

這也是剛剛說的折射,當Area Light區域光改變大小以後,可以看到整個場景的陰影都改變了。當光源比較大的時候,就可以採到比較軟的陰影效果。越窄的時候,你的陰影也會越明顯,特別是那種邊緣。

大家都知道平衡光是這樣一般的陰影效果,在光源全部都有一個RayTracing Shadow選項,需要的話可以進行勾選,Angular diameter角度也是可以調的,不同的角度,模糊度的效果也都是不一樣的。

如果我們開啟材質的自發光,就會發現這個材質本身會有發光的效果,現在DXR GI渲染都是這樣做到的。


另外再給大家演示一個Demo,現在我們看一下《異教徒》男主角的材質。

場景中有很多光源用作打燈效果測試,你會發現材質精度很高,眼球裡折射都是物理準確的,皮膚上也有SSS的效果。這裡面我在Shader Graph用了StackLit Master支援多種光照模型的功能。

還有支援有兩種高光的勾選,如果你用普通的Lit Master,只能選擇其中一個光照模型,但是這個StackLit Master就可以同時選擇幾種型別。


說到雙重高光,如果高光的亮度很多了的話,就會出現過度油膩效果。不夠亮的話,又沒有體感,一般這種高光不能打得太強烈。

現在用了第二層可以再細化裡面的細節,大家可以看一下區別,這是第二層裡面更加可以做到很細的皮膚質感,如果這個燈打得光源比較強,就是這樣皮膚的Transmission光滲透效,也就是透紅的效果。

我的演講就到這裡,謝謝。


來源:unity官方平臺
原地址:https://mp.weixin.qq.com/s/PFDv6M9rKqdrS5fVM0lh-w

相關文章