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

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

Unity學(xué)習(xí)筆記 Vol.103 Unity 實時光追(七)- Light Cluster結(jié)構(gòu)

2022-07-20 12:06 作者:NXL2  | 我要投稿

記筆記

本節(jié)我們來了解一下Ray Tracing Light Cluster這個用于保存燈光信息的結(jié)構(gòu)

我們可以通過HDRP Debug窗口,找到Lighting窗口中的Full Screen Debug Mode,全屏Debug模式,選擇LightCluster選項,可視化的查看Light Cluster結(jié)構(gòu)的情況。

不過在那之前,我們首先需要至少在Volume上添加一個Screen Space Reflection重載,或者 Screen Space Global Illumination重載,或者Recursive Rendering重載,或者是Subsurface Scattering重載。


因為這些光追功能用到了Light Cluster,所以只有添加了相應(yīng)的光追功能的重載,才能讓Light Cluster這個重載生效。

Light Cluster不是一個像環(huán)境光遮蔽,或者屏幕空間反射一樣的光追功能,而是實現(xiàn)光追版本的反射,全局光照,遞歸式渲染,和次表面散射功能時,需要用到的基礎(chǔ)設(shè)施。


在計算光追效果時,當(dāng)光追射線與物體表面相遇,我們需要知道周圍空間中存在的燈光,才能將他們用于具體的光追計算。


HDRP會在計算光追效果時,當(dāng)前相機的位置為中心點,在相機周圍,創(chuàng)建一個與坐標(biāo)軸對齊的網(wǎng)格結(jié)構(gòu),這個網(wǎng)格結(jié)構(gòu)由多個單元格組成,每個單元格中保存了影響此區(qū)的,所有燈光的信息。


我們來看一下,Light Cluster在Volume上的唯一參數(shù),Camera Cluster Range。

這一參數(shù)可以控制Light Cluster這個網(wǎng)格結(jié)構(gòu)邊緣

離開相機的最遠(yuǎn)距離,單位為米,我們可以拉遠(yuǎn)鏡頭看一下,當(dāng)增大這個數(shù)值時,我們所能看到的畫面中,Light Cluster結(jié)構(gòu)的邊緣離開我們越來越遠(yuǎn),當(dāng)然在其他我們看不到的方向上,也在發(fā)生同樣的事情??吹竭@里,大家可能會問,你跟我說這么多,這個Ligth Cluster的可視化和設(shè)置功能,到底是拿來做什么的呢,我現(xiàn)在也沒搞清楚呀。

為了回答這個問題呢,我們先在HDRP配置文件上找到Lighting => Lights?=>?Maximum Lights per Cell (Ray Tracing)這一條,這里可以設(shè)置Light Cluster,網(wǎng)格的每個單元格中,所能支持的最大燈光數(shù)量,這里最多可以設(shè)置為24個。也就是說,如果在場景中,一個單元格里包含的最大燈光數(shù)量,超過了24個,那么在進行渲染時就有可能會出錯。

為了便于演示,當(dāng)前場景打開了屏幕空間反射效果,這里我們嘗試把Maximum Lights per Cell設(shè)置為8,可以看到周圍三面墻壁都有漏光現(xiàn)象。

我們在Debug窗口,把Full Screen Debug Mode設(shè)置為Light Cluster。

可以看到性窗口里的網(wǎng)格都是紅色的,這顯然是不對的。

回到HDRP配置文件,我們把Maximum Lights Percell設(shè)置為20。

HDRP自動退出了Debug模式,這時我們可以看到,兩側(cè)墻壁的漏光現(xiàn)象,好了很多。

回到Debug窗口,再次把Fullscreen Debug Mode設(shè)置為LightCluster。


這時我們可以看到,所有單元格都變成綠色了,不過在茶幾所在的地方,我們也看到了網(wǎng)格結(jié)構(gòu)的邊緣,網(wǎng)格結(jié)構(gòu)在那個位置結(jié)束了。


關(guān)閉Debug?Mode,可以觀察到在茶幾那邊的三面墻壁還是有漏光現(xiàn)象


我們可以嘗試向前移動,也就是把我們當(dāng)前的相機向前移動,更靠近茶幾的方向,可以看到茶幾位置的漏光現(xiàn)象消失了


這是因為Light Cluster的結(jié)構(gòu)是以我們的,相機位置為中心點在他的四周構(gòu)建的,向前移動以后,就把茶幾處的模型包含到了當(dāng)前的Light Cluster的?結(jié)構(gòu)中。

HDRP有了正確的Light Cluster結(jié)構(gòu)信息,也就能夠進行正確的渲染,從而解決漏光問題。

我們觀察到,Light Cluster在Volume上的Camera Cluster Range,它的數(shù)值是10米,我們可以嘗試增大數(shù)值到15米,也就是增大Light Cluster網(wǎng)格結(jié)構(gòu)的范圍,然后觀察到,茶幾四周的漏光現(xiàn)象也消失了。

通過上面的講解就可以知道,當(dāng)我們?yōu)閳鼍按蛲隉艄?,需要知道Light Cluster的結(jié)構(gòu)中的,每個單元格是否擁有正常數(shù)量的燈光時,我們可以用Volume上添加Light Cluster的方式來,可視化的查看和調(diào)節(jié)整個Light Cluster,結(jié)構(gòu)往往確保每個單元格中的燈光數(shù)量都在支持的范圍之內(nèi),以保證渲染的質(zhì)量。

另外我們也可以用可視化的方式,來動態(tài)調(diào)整Light Cluster結(jié)構(gòu)的邊界,從而幫助解決漏光這樣的問題。


Unity學(xué)習(xí)筆記 Vol.103 Unity 實時光追(七)- Light Cluster結(jié)構(gòu)的評論 (共 條)

分享到微博請遵守國家法律
固安县| 宜君县| 林口县| 武宣县| 泸西县| 潞城市| 清徐县| 阿勒泰市| 兖州市| 穆棱市| 汨罗市| 巴青县| 涞水县| 泸水县| 神木县| 玉田县| 海门市| 虞城县| 琼结县| 新竹县| 壶关县| 思茅市| 伊宁市| 莱西市| 曲水县| 建昌县| 韶山市| 青海省| 延庆县| 辽阳市| 旌德县| 衡水市| 禄劝| 永仁县| 威海市| 龙井市| 邢台市| 老河口市| 章丘市| 山东省| 枝江市|