薛山
我們知道Blender在實(shí)際應(yīng)用中主要有兩個(gè)渲染器可供選擇:EEVEE和Cycles,大多數(shù)情況下為了獲取真實(shí)的材質(zhì)和環(huán)境交互質(zhì)感,我們都會(huì)傾向于選擇具備“光線追蹤”功能的Cycles渲染器。但問題也接踵而至,Cycles渲染器非常吃硬件資源,有時(shí)候一幀的渲染時(shí)間就得按分鐘來(lái)計(jì)算,如果是單幀的精密場(chǎng)景甚至按小時(shí)算也不夸張。在這種時(shí)候我就會(huì)無(wú)比眼饞EEVEE極快的渲染速度,但它相對(duì)匱乏的細(xì)節(jié)表現(xiàn)力又讓人十分頭痛。那么,有沒有什么辦法讓EEVEE也在一定程度上具備更強(qiáng)的視覺真實(shí)性呢?
在EEVEE渲染器的設(shè)置界面,我們可以看到不少參數(shù)都是可以調(diào)整的,在默認(rèn)設(shè)置下Blender的EEVEE渲染效果主要是為了省資源,但犧牲了視覺質(zhì)量,所以我們需要按需精細(xì)調(diào)整其中的一些參數(shù),就能獲得立竿見影的效果。
為了演示效果差異,我們搭建了如圖1所示的簡(jiǎn)單場(chǎng)景,很明顯,在EEVEE渲染器下,問題非常多。首先物體雖然都是放在地面上的,但好像少了什么,感覺看上去都是浮空的;其次,左側(cè)的燈條雖然做了發(fā)光效果,但一點(diǎn)也不亮,同時(shí)環(huán)境也沒有被照亮,很不真實(shí);再次,中間的金屬球反饋出了環(huán)境HDR素材,但卻沒有其他物體的鏡面反射效果,再次加劇了這種不真實(shí)感。
解決這三個(gè)問題的方法其實(shí)也非常簡(jiǎn)單,首先是勾選“環(huán)境光遮蔽”,游戲玩家對(duì)這個(gè)設(shè)置應(yīng)該都有印象,它的作用就是在面與面的接觸位置添加陰影,勾選后我們就能很直觀地看到物體“放在了”地面上,而且還有距離、系數(shù)和追蹤精度三個(gè)項(xiàng)目可調(diào),大家也都可以按需選擇。
接下來(lái)解決光源的問題,這時(shí)候只需要勾選“輝光”,環(huán)境中的所有發(fā)光物體都會(huì)呈現(xiàn)出輝光效果,但注意,這個(gè)設(shè)置也會(huì)讓反光變得更亮,如果在動(dòng)畫渲染時(shí)某些幀出現(xiàn)了不明高亮像素,就要注意是不是開啟了這個(gè)效果。
第三個(gè),也是對(duì)質(zhì)感提升最重要的設(shè)置就是鏡面反射,在EEVEE渲染器里只需要勾選“屏幕空間反射”,就能打開鏡面反射效果,讓光滑的金屬物體可以反射環(huán)境物體和光源,基本上默認(rèn)選項(xiàng)就已經(jīng)可以滿足需求,如果想要高質(zhì)量的反射效果,可以取消勾選“半精度追蹤”。三項(xiàng)設(shè)置完成后的效果如圖2所示,可以看到與圖1有了非常明顯的不同。
完成了前面的設(shè)置,再切換到Cycles渲染器對(duì)比一下不難發(fā)現(xiàn)在細(xì)節(jié)上即便是調(diào)整后的EEVEE渲染器也仍有不足,比如陰影,在一些光線斜射的面會(huì)存在包括投影錯(cuò)位甚至無(wú)投影等細(xì)節(jié)問題,除此之外整個(gè)環(huán)境的光線交互也顯得比較單薄,比如左下角的藍(lán)色柱體就沒有正確反饋出周圍黃色立方塊的顏色反光,而且渲染輸出的顏色也并不太好看,仍有調(diào)整空間。
為了解決這些問題,我們就必須更深入對(duì)EEVEE渲染器進(jìn)行設(shè)置。首先是陰影,默認(rèn)的矩形尺寸和級(jí)聯(lián)大小都比較小,要求較高的話就需要設(shè)置到最高的4096像素,并勾選“高位深”,這時(shí)候的陰影效果就已經(jīng)有明顯的提升。接下來(lái)我們還需要進(jìn)入燈光的物體數(shù)據(jù)屬性,在陰影標(biāo)簽下勾選“接觸陰影”,從圖3不難看出,開啟接觸陰影后的右圖有了更細(xì)致的陰影效果。
最后,也是可以提升細(xì)節(jié)質(zhì)感的一步就是利用輻射體積來(lái)烘焙環(huán)境漫反射數(shù)據(jù),我們需要先在場(chǎng)景中新建一個(gè)輻射體積,然后大家可以看到一個(gè)三維點(diǎn)陣,這就是EEVEE渲染器下實(shí)現(xiàn)環(huán)境漫反射烘焙的基準(zhǔn)點(diǎn),我們需要調(diào)整輻射體積的大小,讓它盡量與場(chǎng)景主體匹配,然后在輻射體積的物體數(shù)據(jù)屬性里調(diào)整它的XYZ分辨率。
完成后回到EEVEE渲染器設(shè)置界面,在“間接光照明”選項(xiàng)里進(jìn)行烘焙,注意,這時(shí)候的漫射反彈、立方體反射尺寸和漫射遮蔽數(shù)值設(shè)置較大的話,會(huì)非常明顯地增加烘焙時(shí)間,所以一般情況下我都如圖4所示,直接選擇默認(rèn)的數(shù)值。
烘焙完成后,我們?cè)倮戒秩酒髟O(shè)置界面的最下方,在“色彩管理”標(biāo)簽頁(yè)里可以調(diào)整畫面色調(diào),一般情況下我會(huì)選擇“Flimic”,并通過膠片效果適當(dāng)添加對(duì)比度,完成后就能得到如圖5的最終效果了,對(duì)比一下圖1,差距是不是非常明顯呢?
通過本期的教程不難發(fā)現(xiàn),在適當(dāng)設(shè)置的前提下,EEVEE也能獲得相當(dāng)真實(shí)的輸出質(zhì)感。事實(shí)上很多游戲引擎在輸出時(shí),光線追蹤和光柵也都是同步進(jìn)行的,其中光柵輸出的層級(jí)更基礎(chǔ),也同樣可以獲得很不錯(cuò)的視覺效果。而從我的實(shí)際項(xiàng)目制作經(jīng)驗(yàn)來(lái)看,除非是一些我們非常熟悉的渲染項(xiàng)目,比如人臉,EEVEE在大多數(shù)情況下都是夠用的,而且還可以節(jié)約不少的時(shí)間。