這段時(shí)間研究了一下遮擋剔除,看了幾個(gè)文檔并整理得稍微詳細(xì)些,為了方便自己和大家學(xué)習(xí)椿息,項(xiàng)目中用的東西也很簡(jiǎn)單也很好還原,就相機(jī)和Cube就夠了坷衍。
1.準(zhǔn)備工作
先在場(chǎng)景中布置若干個(gè)cube(正方體)寝优,上面的材質(zhì)是我自己加的,本次主要是演示遮擋剔除的效果枫耳,材質(zhì)有沒有都無(wú)所謂乏矾。記得其中一個(gè)cube設(shè)置大一些,用來遮擋后面的小cube。然后將其全部設(shè)為靜態(tài)(這個(gè)很重要W晷摹)凄硼。然后依次點(diǎn)擊Windows? ?-> Occlusion Culling?
之后在屬性欄會(huì)出現(xiàn)這個(gè)界面
在Scene面板中同時(shí)會(huì)出現(xiàn)Occlusion Culling
? ? ? ?點(diǎn)擊Edit會(huì)出現(xiàn)會(huì)出現(xiàn)一個(gè)Visualize選項(xiàng),但這時(shí)候這個(gè)選項(xiàng)是灰色的無(wú)法點(diǎn)擊的捷沸!原因是我們還沒有進(jìn)行烘焙(Bake)摊沉。我們點(diǎn)擊Bake會(huì)出現(xiàn)如下幾個(gè)設(shè)置。分別是:
Smallest:可以被剔除的物體的最小尺寸痒给,簡(jiǎn)單來說你的物體如果比設(shè)置的尺寸還小说墨,那就不會(huì)進(jìn)行遮擋剔除。
Smallect Hole: 如果物體身上有帶孔的話苍柏,通過這個(gè)孔我們可以看到后面的物體尼斧,這個(gè)參數(shù)的作用就是當(dāng)孔的大小小于這個(gè)參數(shù)值時(shí)就會(huì)被忽略這個(gè)孔的存在,那孔后的物體就會(huì)被剔除试吁。
Backface Threshold : 設(shè)置背景剔除的閾值棺棵。當(dāng)值為100時(shí)就不剔除背景,當(dāng)小于100時(shí)U3D對(duì)背景進(jìn)行優(yōu)化甚至去掉背景熄捍。
此處參考:https://www.cnblogs.com/spiderljx/p/11587029.html
? ? ? ?了解一下就好烛恤,基本不用動(dòng)設(shè)置。然后點(diǎn)擊右下角的Bake進(jìn)行烘焙余耽,然后再點(diǎn)擊Visualization選項(xiàng)棒动,你會(huì)發(fā)現(xiàn)右下角也有一個(gè)Bake,也點(diǎn)擊他宾添。請(qǐng)記住順序4摇!每次移動(dòng)物體或修改物體時(shí)都需要重新烘培缕陕,要先點(diǎn)擊Bake的烘焙再點(diǎn)擊Visualization的烘焙粱锐。
? ? ? ?全都烘焙完之后再去點(diǎn)擊之前說的Edit選項(xiàng),會(huì)發(fā)現(xiàn)另一個(gè)選項(xiàng)Visualize可以點(diǎn)擊了扛邑。點(diǎn)擊后界面會(huì)變成:
? ? ? ?細(xì)心的同學(xué)可能會(huì)發(fā)現(xiàn)一個(gè)細(xì)節(jié)怜浅,就是紅圈中的小cube因?yàn)樵谙鄼C(jī)視野之外已經(jīng)被遮擋剔除了!而上圖的這個(gè)黃色框框則是根據(jù)你靜態(tài)物體的擺放自動(dòng)生成的蔬崩,如果你靜態(tài)物體的間隔越大這個(gè)黃色框框也會(huì)越大恶座。而接下來是重點(diǎn)!沥阳!只有當(dāng)你相機(jī)同時(shí)處于黃色框框中跨琳,才能實(shí)現(xiàn)被遮擋的物體的遮擋剔除。否則就只會(huì)出了相機(jī)范圍才會(huì)進(jìn)行遮擋剔除桐罕。如果感覺難理解的話下面直接上圖演示:
? ? ? ?相機(jī)在黃色框框中的效果很明顯就像我們?nèi)搜垡粯勇鋈茫床灰姷奈矬w被遮擋剔除桂敛,但是紅色區(qū)域的Cube和藍(lán)色區(qū)域兩個(gè)被剔除的Cube有顯著的差別。
? ? ? ?紅色區(qū)域是因?yàn)槌隽讼鄼C(jī)的視野范圍才被剔除=η薄术唬!而藍(lán)色區(qū)域的兩個(gè)Cube是因?yàn)楸磺懊孢@個(gè)大Cube擋住了才被剔除。
接下來看相機(jī)出了黃色框框的效果:
? ? ? ?這樣子應(yīng)該大家都懂了吧滚澜?當(dāng)相機(jī)出了黃色框框的時(shí)候黃色框框同時(shí)消失粗仓,而藍(lán)色區(qū)域的物體也出現(xiàn)了。因?yàn)樗]有在相機(jī)的視野外设捐,所以不會(huì)被遮擋剔除潦牛。
當(dāng)我們點(diǎn)擊圖中OcclusionCulling選項(xiàng)中的VisibityLines時(shí),會(huì)出現(xiàn)如下效果:
? ? ? ?這個(gè)是相機(jī)的可視范圍挡育,而紅色線范圍的那一塊射線區(qū)域是相機(jī)被大Cube遮擋的視野盲區(qū)。當(dāng)你不斷調(diào)整也會(huì)不斷改變朴爬。
而遮擋剔除就是用來優(yōu)化的即寒,而具體效果可以看下圖:
可以很明顯看到遮擋了一個(gè)和遮擋了三個(gè)Cube時(shí)Batches的變化,說明我們的遮擋剔除已經(jīng)實(shí)現(xiàn)成功召噩。因?yàn)椴馁|(zhì)原因母赵,自己測(cè)試的結(jié)果可能和我的不一樣。