最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity學(xué)習(xí)筆記 Vol.108 Unity 實(shí)時(shí)光追(十二)- Path Tracing功能講解

2022-07-28 07:55 作者:NXL2  | 我要投稿

記筆記

最后我們來(lái)學(xué)習(xí)Path Tracing,Unity 2020版本中提供了一站式的光追解決方案,Path Tracing路徑追蹤

Path Tracing算法會(huì)從相機(jī)射出射線,當(dāng)射線遇到物體表面時(shí),會(huì)發(fā)生反射或者折射,它會(huì)一直重復(fù)這個(gè)過(guò)程,直到射線到達(dá)光源。

這些從相機(jī)到光源,由一系列射線組成的路徑,就是Path Tracing里面的那個(gè)pass,要使用Path Tracing算法來(lái)做光追,我們只要在Volume中添加Path Tracing重載即可。

Path Tracing算法會(huì)用統(tǒng)一的方式,計(jì)算所有的光追效果,比如軟陰影、反射折射、次表面散射等效果,我們不再需要使用反射探針和光照探針

只需要在場(chǎng)景中正確的位置,擺放設(shè)置了正確,物理光照值的光源即可,另外如果啟用了Path Tracing

之前我們介紹過(guò)的Ambient Occlusion環(huán)境光遮蔽,Screen Spaceglobal Illumination屏幕空間全局光照、Screen Space Reflection屏幕空間反射

Screen Space Shadows屏幕空間陰影以及Recursive Rendering遞歸式渲染、SubSurface Scattering是表面散射,這些光追效果將會(huì)被自動(dòng)禁用。因?yàn)镻ath Tracing用統(tǒng)一的方式生成,所有這些效果,我們說(shuō)其實(shí)Path Tracing就是一站式的懶人光追方法。

,3個(gè)目前在使用Path Tracing時(shí)要注意的問(wèn)題,第1點(diǎn)當(dāng)我們添加了Path Tracing存在以后,可以看到在第一和第二個(gè)房間里,出現(xiàn)了大片的白色光柱

這是因?yàn)槟壳?020版本中的Path Tracing,對(duì)Volumetric Fog體積物的支持還有點(diǎn)問(wèn)題

我們可以去Fog重載中,將Volumetric Fog這一項(xiàng),暫時(shí)禁用。在后續(xù)版本中,這一問(wèn)題將會(huì)得到修復(fù),可能這個(gè)問(wèn)題已經(jīng)修復(fù)我還沒(méi)有及時(shí)驗(yàn)證。

第二個(gè)需要注意的問(wèn)題是Path Tracing算法目前支持的材質(zhì)類(lèi)型為L(zhǎng)it,LayeredLit和Unlit,還不支持LayeredLit Tessellation,Decal等這些著色器,所以如果你在項(xiàng)目中發(fā)現(xiàn)打開(kāi)Path Tracing功能以后,場(chǎng)景中的某些物體表面呈現(xiàn)黑色,可以馬上檢查一下這些物體,所用的材質(zhì)是否在Path Tracing支持的范圍之內(nèi),當(dāng)隨著版本的迭代,Path Tracing所支持的材質(zhì)和功能也會(huì)越來(lái)越完善。

Path Tracing算法,會(huì)在每次相機(jī)移動(dòng)時(shí)重新開(kāi)始計(jì)算,所以我們本質(zhì)上還無(wú)法讓Path Tracing真正支持實(shí)時(shí)渲染,比如以30針每秒流暢的速度進(jìn)行光追計(jì)算獲得完美圖形,不過(guò)相信在不久的將來(lái)。隨著算法本身和硬件的進(jìn)步,我們肯定可以達(dá)到實(shí)時(shí)渲染的速度。

Path Tracing重載的具體參數(shù)設(shè)置,首先是Layermask,跟之前所謂的效果一樣,它是用于控制哪些物體可以參與到Path Tracing的計(jì)算中來(lái)的。

Maximum?Samples最大采樣值,可用于控制組成最終圖像的幀數(shù)。這里的數(shù)值越大,形成最終圖像所需渲染的幀數(shù)越多,當(dāng)然所需的時(shí)間也越長(zhǎng),不過(guò)畫(huà)面效果越好

對(duì)應(yīng)Maximum?samples這個(gè)參數(shù)在Scene窗口和Game,窗口的底部都有一條不那么明顯的半透明進(jìn)度條。你可以查看當(dāng)前已經(jīng)生成了多少幀,我們可以嘗試把采樣值設(shè)置成64,可以看到下面的進(jìn)度條移動(dòng)很快。不過(guò)最終的這個(gè)畫(huà)面,他的噪點(diǎn)會(huì)比較多。

現(xiàn)在我們來(lái)理解兩項(xiàng)很重要的參數(shù)Minimum Depths和Maximum?Depths,這兩個(gè)參數(shù)分別控制每個(gè)光線追蹤路徑上可能發(fā)生的最小光線反彈數(shù)跟最大光線反彈數(shù),默認(rèn)的數(shù)值分別是1和4,它的意思是光線,至少在物體表面上會(huì)反彈一次,最多4次?,F(xiàn)在我們把Minimum Depths跟Maximum?Depths都設(shè)置為2,這時(shí)候會(huì)看到奇怪的情況,場(chǎng)景一下子變暗了,這是為什么呢?

Minimum Depths跟Maximum Depths都設(shè)置為2

這是因?yàn)檫@時(shí)候HDRP不會(huì)渲染直接光照,我們?cè)诋?huà)面中看到的,其實(shí)只有第二次反彈的間接光照,我們可以拖動(dòng)Minimum Depth的滑塊,可以看到Maximum?Depth也會(huì)跟著走,畫(huà)面中的光照信息也越來(lái)越暗,這是因?yàn)槲覀兛吹降氖窃絹?lái)越后面的,從反彈獲得的間接光照信息

Minimum Depth設(shè)置為1

通過(guò)上面的示例我們知道了,如果要讓場(chǎng)景正常渲染,我們的Minimum Depth要設(shè)置為1,因?yàn)檫@個(gè)時(shí)候才可以得到直接光照信息。Maximum?Depths要至少設(shè)置為2,這樣我們可以至少得到第二次反彈所獲得的間接光信息。當(dāng)然我們可以把Maximum Depth的數(shù)值再適當(dāng)調(diào)大一些,以獲得后面幾次光線反彈的間接光,不過(guò)越到后面,我們所能獲得的間接光其實(shí)就越少,相應(yīng)的渲染時(shí)間卻會(huì)拉長(zhǎng)很多,所以我們要衡量這里的得失以獲得一個(gè)性價(jià)比較高的Maximum?Depth數(shù)值。

最后一個(gè)是Maximum?Intensity最大亮度,這可以控制每次光線反彈所獲得亮度的最大值,我們可以調(diào)整這個(gè)數(shù)值以防止畫(huà)面中出現(xiàn)非常亮的像素點(diǎn)。不過(guò)我們要注意,調(diào)低這個(gè)參數(shù)數(shù)值會(huì)降低整個(gè)畫(huà)面的亮度。

從上面的演示我們可以了解到,使用Path Tracing的方式可以方便的獲得很好的畫(huà)面效果,而需要調(diào)節(jié)的參數(shù)也很少,不過(guò) Path Tracing目前主要的問(wèn)題是畫(huà)面中的噪點(diǎn),這是由他的算法本身所決定的,我們現(xiàn)在通過(guò)Timeline上預(yù)先做好的鏡頭切換軌道,來(lái)看一下不同房間里的Path Tracing的計(jì)算速度,在同樣的最大采樣數(shù)設(shè)置下。

通過(guò)觀察Game窗口下的進(jìn)度條,我們可以看到,擁有單一平行光源的室外場(chǎng)景比擁有復(fù)雜光源的室內(nèi)場(chǎng)景可以更快的獲得最終畫(huà)面。

另外一個(gè)例子是阿美林寶公這個(gè)項(xiàng)目,可以看到這個(gè)開(kāi)放的廣場(chǎng)上,因?yàn)橹挥幸粋€(gè)平行光源

所以Path Tracing,形成最終畫(huà)面的速度非常的快。到此為止,所有Unity 2020版本中的實(shí)時(shí)光線追蹤功能就講解完了。雖然目前的光追功能還處于Preview預(yù)覽狀態(tài),很多地方還不完善,但是我們已經(jīng)可以看到,光追可以大幅提升畫(huà)面質(zhì)量。同時(shí)減少工作量,比如在使用屏幕空間全局光的時(shí)候,以及Path Tracing的時(shí)候,已經(jīng)不再需要使用烘焙的光照貼圖了。

Unity學(xué)習(xí)筆記 Vol.108 Unity 實(shí)時(shí)光追(十二)- Path Tracing功能講解的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
饶河县| 成安县| 朝阳县| 波密县| 固始县| 建平县| 凤冈县| 老河口市| 怀化市| 台安县| 兴安盟| 黄山市| 会宁县| 崇左市| 宣汉县| 荣昌县| 樟树市| 重庆市| 比如县| 庆云县| 炎陵县| 杨浦区| 竹山县| 周至县| 娱乐| 武汉市| 江华| 田阳县| 河源市| 屏山县| 江山市| 宜丰县| 璧山县| 阜城县| 敦化市| 沈丘县| 广水市| 通城县| 凌云县| 宜黄县| 连平县|