在揭秘《死者之書(shū)》的系列文章中,我們已經(jīng)分享了:

揭秘《死者之書(shū)》之概念藝術(shù)
揭秘《死者之書(shū)》之角色資源創(chuàng)作
揭秘《死者之書(shū)》之環(huán)境資源及特效創(chuàng)作

本篇文章將由Unity Demo團(tuán)隊(duì)環(huán)境藝術(shù)家Julien Heijmans從內(nèi)容創(chuàng)作者和環(huán)境藝術(shù)家的角度,為我們提供一些關(guān)于《死者之書(shū)》制作過(guò)程的深入解讀。本篇文章我們將關(guān)注點(diǎn)放在風(fēng)系統(tǒng)、場(chǎng)景地形和內(nèi)容優(yōu)化技巧。

Unity與Quixel的合作

我們不僅僅讓《死者之書(shū)》只供人欣賞,我們還提供了這個(gè)項(xiàng)目中的環(huán)境資源,前往Asset Store資源商店搜索“Book Of The Dead: Environment“,即可免費(fèi)下載。

在此資源文件中,我們?cè)谑褂昧藬z影制圖法進(jìn)行創(chuàng)作。而其中一些資源來(lái)自Quixel公司Megascans庫(kù)的掃描環(huán)境藝術(shù)資源,Unity與Quixel在這個(gè)項(xiàng)目的制作上達(dá)成了緊密的合作。

140303h8umvppjc88lvs47.png

  • 頂點(diǎn)顏色的綠色通道數(shù)值為0時(shí),表示這個(gè)部分是樹(shù)干。
  • 數(shù)值在0和1之間則是A級(jí)樹(shù)枝。
  • 數(shù)值為1則是B級(jí)樹(shù)枝。


這部分任務(wù)使用了Maya完成,通過(guò)使用一些小腳本,可以在10-15分鐘內(nèi)設(shè)置好一個(gè)資源的所有LOD。

除此之外,我們還使用了“Flutter Mask”(抖動(dòng)遮罩)。抖動(dòng)遮罩是紋理遮罩,能夠幫助確定在幾何上樹(shù)枝的軸心位置。下圖是這個(gè)遮罩的圖示。

140305dy4yytxw4kl447du.png
該腳本首先會(huì)在變換位置周圍生成指定數(shù)量的零散對(duì)象,然后為它們模擬落到地面的物理效果,它們落下后會(huì)與地形、資源巖石、枯萎樹(shù)干等相互碰撞。然后按下按鈕“Bake”,小樹(shù)枝的碰撞體會(huì)被移除,合并為單個(gè)對(duì)象,然后指定給一個(gè)帶有特定剔除距離的LODGroup。


此腳本在場(chǎng)景中被應(yīng)用于名為“UberTreeSpawner”的對(duì)象,你可以根據(jù)需要隨意使用它。

關(guān)于此工具的附注:為了使零散對(duì)象適當(dāng)落在地面和資源上,在場(chǎng)景中的所有資源上需要有較高密度的網(wǎng)格碰撞體。同時(shí)在游戲運(yùn)行時(shí),這些大型碰撞體不能被使用。 出于這個(gè)原因,場(chǎng)景中的多數(shù)資源帶有二個(gè)不同的碰撞體:一個(gè)是輕量的,會(huì)被PlayerController用在運(yùn)行模式的實(shí)時(shí)環(huán)境中,指定為默認(rèn)圖層。另一個(gè)則用于小樹(shù)枝的物理效果模擬上,指定為GroundScatter圖層。

光照

《死者之書(shū)》項(xiàng)目使用了帶有實(shí)時(shí)方向光的已烘焙間接全局光照。

來(lái)自太陽(yáng)的間接光照和來(lái)自天空的直接加間接光照都被烘焙到光照貼圖和光照探針中。反射探針、遮蔽探針和遮蔽源也會(huì)被烘焙。另一方面,直接太陽(yáng)光陽(yáng)光直射貢獻(xiàn)也是實(shí)時(shí)光照。在使用實(shí)時(shí)直接光照時(shí),在HD渲染管線中的著色效果最好,它也能讓我們給運(yùn)行時(shí)方向光的旋轉(zhuǎn)、強(qiáng)度和色溫設(shè)置動(dòng)畫(huà)。

140307rff7751idi51mcai.png
注意:我們添加了額外的滑塊來(lái)分別控制直接和間接透光,從而能夠讓最終結(jié)果有更好的可控性。但這個(gè)改動(dòng)并不遵循PBR原則,所以不會(huì)將它加入HD渲染管線。

Area Volumes

Area Volumes被構(gòu)建在由SRP提供的核心系統(tǒng)上,與Post Process Volumes非常相似。它們的功能根據(jù)主攝像機(jī)對(duì)象的位置修改對(duì)象屬性。

包括方向光照、大氣散射、自動(dòng)聚焦和WindControl在內(nèi)的多個(gè)對(duì)象都有受Area Volumes控制自帶屬性,因此,如果想要修改當(dāng)前的光照設(shè)置,則需要在對(duì)應(yīng)Area Volumes中進(jìn)行操作。那些Area Volume對(duì)象在主場(chǎng)景中,位于_SceneSettings > _AREASETTINGS目錄下,帶有后綴“_AV”。

調(diào)試窗口

針對(duì)使用HD渲染管線不多的用戶,現(xiàn)在有一個(gè)特定的SRP調(diào)試窗口,你可以通過(guò)菜單Window > General > Render Pipeline Debug打開(kāi)它。

140307dve3ttzwbp6t4sr1.png
140308mdd6wp6rdsz7siy8.png
通過(guò)這種方式,你可以看到獨(dú)立的GBuffer圖層、光照組件或是材質(zhì)中的特定紋理貼圖,或甚至是重寫(xiě)反照率/平滑度/法線。當(dāng)一些對(duì)象沒(méi)正確渲染或是有視覺(jué)bug時(shí),這是個(gè)非常有用的工具。它會(huì)幫助你更快標(biāo)出問(wèn)題的源頭。

這些調(diào)試視圖是從著色器自動(dòng)生成的,編碼器能夠非常輕松地創(chuàng)建新的調(diào)試視圖。

140308omzbhmb84mfpk0tv.jpg
有一些調(diào)試視圖能夠從渲染管線調(diào)試窗口打開(kāi)

我們使用這些調(diào)試視圖來(lái)創(chuàng)建在場(chǎng)景背景中使用的樹(shù)狀廣告牌。過(guò)程很簡(jiǎn)單,僅需把自定義資源放到空白場(chǎng)景中,然后捕獲帶有可見(jiàn)反照率、粗糙度和法線Gbuffer圖層等屬性的截圖,然后將它們用來(lái)創(chuàng)建自定義的紋理貼圖。

優(yōu)化

雖然優(yōu)化的大部分內(nèi)容屬于代碼部分,但如果你想要擁有合適的幀率,合理設(shè)置好資源和場(chǎng)景也很重要。

下面是一些為項(xiàng)目?jī)?yōu)化內(nèi)容的方法:

?

?

  • 所有的材質(zhì)都使用了GPU實(shí)例化(GPU Instancing)。
  • 我們對(duì)場(chǎng)景中的多數(shù)資源使用了LOD。
  • LOD交叉淡入淡出(The LOD Crossfade)功能很棒,它能夠給不同細(xì)節(jié)等級(jí)的對(duì)象帶來(lái)好看又平滑的混合效果。但這個(gè)功能消耗性能,而且會(huì)提升項(xiàng)目中的繪圖調(diào)用。所以盡可能在大量資源上禁用這個(gè)功能。
  • 為了避免LOD之間的可見(jiàn)過(guò)渡區(qū)域,我們?cè)诖笮褪瘔K和峭壁資源上使用對(duì)象空間(Object Space)法線貼圖。

none.gif
none.gif
注意:這里使用的是對(duì)象空間法線貼圖,而不是切線空間(Tangent Space)法線貼圖,這樣做會(huì)降低法線貼圖的精度。實(shí)際上,這在我們那些粗糙的資源上并不明顯,但你或許不想要把它用在硬表面資源上。

?

?

  • 盡管通過(guò)構(gòu)建場(chǎng)景和遮蔽剔除限制視野距離很重要,但你也要知道,這其中的不少用于渲染場(chǎng)景的繪圖調(diào)用實(shí)際上來(lái)自渲染每個(gè)陰影的聯(lián)級(jí)地圖。
  • 我們有大量來(lái)自散落在地形的小型植被資源的繪圖調(diào)用,有些位置會(huì)有成百個(gè)繪圖調(diào)用。通過(guò)創(chuàng)建草和植物資源的大型補(bǔ)丁,我們減少了大量繪圖調(diào)用,現(xiàn)在沒(méi)有數(shù)百個(gè),只有15-20個(gè)。
  • 請(qǐng)注意:這會(huì)對(duì)視效質(zhì)量有影響,如此龐大的資源,很難避免巖石和地上的資源不與草相互切分。
  • 我們使用了圖層剔除功能,這是Unity中已有的功能,但卻沒(méi)有任何UI。此功能允許你根據(jù)對(duì)象與攝像機(jī)之間的距離,剔除被指定為特定圖層的對(duì)象。

Torbjorn拓展了這個(gè)功能,使之能夠剔除這些對(duì)象在不同距離的陰影投射。例如:我們的大部分小型植被資源會(huì)在15米左右停止投射陰影,由于有地面上的草叢和植物,這個(gè)效果并不明顯,在25米左右的對(duì)象會(huì)被完全剔除,不管它們的LODGroup如何設(shè)置。

參考資源

《死者之書(shū)》環(huán)境資源下載:

https://www.assetstore.unity3d.com/en/?stay#!/content/121175

Quixel Megascans資源下載:

https://assetstore.unity.com/publishers/26035

小結(jié)

我們將繼續(xù)分享《死者之書(shū)》的創(chuàng)作過(guò)程,在下篇文章中我們將探索《死者之書(shū)》中創(chuàng)建著色、光照和后期處理等內(nèi)容,盡情關(guān)注。 更多Unity項(xiàng)目創(chuàng)作經(jīng)驗(yàn)盡在Unity官方中文技術(shù)論壇(UnityChina.cn) !

via: Unity官方平臺(tái)

銳亞教育

銳亞教育,游戲開(kāi)發(fā)論壇|游戲制作人|游戲策劃|游戲開(kāi)發(fā)|獨(dú)立游戲|游戲產(chǎn)業(yè)|游戲研發(fā)|游戲運(yùn)營(yíng)| unity|unity3d|unity3d官網(wǎng)|unity3d 教程|金融帝國(guó)3|8k8k8k|mcafee8.5i|游戲蠻牛|蠻牛 unity|蠻牛