- 藍(lán)框框是什么隐岛?
場景中心創(chuàng)建一個1x1x1的Cube,
Smallest Occluder調(diào)整為0.25,
Bake后可以見到藍(lán)框框
可以看出0.25基本對應(yīng)unity中1個單位
把Cube沿x方向移動0.5仅叫,
Bake之后觀察藍(lán)框框的變化
可以猜測膝藕,系統(tǒng)以最少的方格數(shù)(0.25讽坏,即1個unity單位)包裹住Cube(遮擋體)并且這些方格是從場景中心向八方衍生的目木。
場景中放兩個Cube溃列,一個在中心劲厌,另一個距離中心不到4個單位,
bake后听隐,直至此刻补鼻,SmallestHole一直維持0.25。
如果把左邊的Cube稍微向左拉雅任,使其右側(cè)占用的藍(lán)格不到一半风范,Bake以后
注意到有一段的方格合并成一個大格子了。
如果把右邊那個也向右靠靠沪么,bake后是這樣
又有一部分框框合并了乌企。
我們可以試想,系統(tǒng)把遮擋物的邊界擴(kuò)大了0.5個單位成玫,就可以解釋上面的框框合并或者分割情形了加酵。
這0.5個單位的猜想來自于Smallest Holde = 0.25
前面猜測過拳喻,遮擋系統(tǒng)0.25為Unity的1個單位,那么smallestHole為0.25猪腕,也就是說系統(tǒng)會考慮遮擋物里面或遮擋物之間小于1個單位的空隙是看不穿的冗澈,換言之,就是這樣的空隙是不透明的陋葡,相當(dāng)于遮擋物的一部分了亚亲。遮擋物里面這種空隙圖示中沒有,但遮擋物于遮擋物之間的這種空隙腐缤,系統(tǒng)就把遮擋物擴(kuò)大一半的空隙量來處理了捌归,這一半的空隙量就是0.5個單位。
我們還原成一個Cube在原點(diǎn)岭粤,另一個Cube在x軸上偏移4的情景惜索,然后把SmallestHole設(shè)置為小于0.25的任何值,哪怕是0.24剃浇,這也就意味著遮擋物會被擴(kuò)大不到0.5巾兆,因此遮擋物被擴(kuò)大后,也不會超出當(dāng)前的包圍框框虎囚,所以中間的大框框就沒有被分割角塑,或者說中間的小框框合并了。
遮擋系統(tǒng)
調(diào)整了下場景淘讥,bake后
圖中太陽是原點(diǎn)圃伶,
更夸張的場景調(diào)整后,
可以發(fā)現(xiàn)系統(tǒng)對于如何分割空間蒲列,如何布置藍(lán)框框是有一定講究的窒朋,一時我也推測不出來,如有了解者嫉嘀,請留言炼邀。
下面簡單猜測一下藍(lán)框框的用途:
- 框框把世界分割了
- 視線能接觸到的框框,框框里面的物體會作為潛在可見物體剪侮,否則一定是不可見物體
- 框框越多拭宁,占用的存儲資源越多,同時檢測可見性消耗的資源越多瓣俯,所以框框還是不要太多為好(這就是為啥系統(tǒng)會對某些部分的框框進(jìn)行合并)
現(xiàn)在來看看黃框框
再檢測遮擋效果可視化開啟后
就會發(fā)現(xiàn)之前的藍(lán)框框顯示為一個整體的黃框框了杰标。
但這也有個前提,就是相機(jī)的近裁剪面得處于框框范圍內(nèi)才能看到黃框框
只有相機(jī)處于黃框框內(nèi)彩匕,才會運(yùn)作遮擋裁剪功能腔剂,下面看看裁剪效果
先把相機(jī)移出框框,然后放置一組常規(guī)(動態(tài))對象
可看到包括遮擋物在內(nèi)驼仪,所有物體都顯示掸犬,但黃框框沒了
下面把相機(jī)僅僅移進(jìn)框框一點(diǎn)點(diǎn)剛讓黃框顯示的位置
可以發(fā)現(xiàn)袜漩,所有物體依舊顯示,觀察近景能看到相機(jī)周圍有一小圈灰框框湾碎。把相機(jī)拉近遮擋物一些宙攻,能看到另外一批灰框框,并且這個時候發(fā)現(xiàn)遮擋剔除起作用了介褥,遮擋物后面的物體都不顯示了座掘。
仔細(xì)看的話,灰框其實(shí)是把藍(lán)框框(SO=0.25)又二分了柔滔。為啥是二分不是四分或八分溢陪?這個其實(shí)由SH/2決定,現(xiàn)在SH是0.24睛廊,一半的話也近似是0.25的一半形真,所以就二分了。
把SH改成0.1喉前,看看
把SH改成0.05再看看
再看看0.025没酣、0.0125王财、0.00625(0.005也行)
總之卵迂,SH越小,就越在更小的粒度上二分藍(lán)框框绒净。當(dāng)在不同SH下拖動相機(jī)可以發(fā)現(xiàn)见咒,確實(shí)SH越小,遮擋就越精確挂疆。這樣的話改览,設(shè)置成0豈不是最好?
結(jié)果是缤言,效果與SH=0.025一樣的宝当。
把遮擋系統(tǒng)的參數(shù)設(shè)置為默認(rèn)看看
當(dāng)前相機(jī)沒有處于遮擋物相交的灰框框里,遮擋未生效
相機(jī)近裁剪面進(jìn)入遮擋物相交的灰框框胆萧,遮擋生效庆揩,周邊灰框消失。
稍微移動相機(jī)跌穗,讓近裁剪面超出一點(diǎn)當(dāng)前的灰框框订晌,
發(fā)現(xiàn)之前的灰框框們都顯示出來了,而且遮擋效用不那么徹底了蚌吸。
再次通過上面兩張圖锈拨,可以發(fā)現(xiàn),相機(jī)只有在遮擋物最近的灰框里才能發(fā)揮裁剪作用
如果這樣的話羹唠,豈不是遮擋系統(tǒng)沒多大存在意義了奕枢?
下面我們實(shí)驗(yàn)一個封閉空間
封閉空間的8個面作為遮擋物娄昆,測試中的封閉空間是5x5x5。采用默認(rèn)遮擋參數(shù)缝彬,烘培后
遮擋效果完美
但如果不是封閉空間稿黄,比如去掉相機(jī)背面的面,遮擋效果就大大折扣了跌造,只要比較靠近直接遮擋面的時候杆怕,遮擋效果才比較好。
離遠(yuǎn)一點(diǎn)兒壳贪,特別是快要脫出直接遮擋面所在灰框時陵珍,效果就開始下降了。
如此看來违施,封閉空間互纯,或者說比較封閉的空間是適合遮擋系統(tǒng)發(fā)揮的。
經(jīng)過多次實(shí)驗(yàn)磕蒲,對于5x5x5這種半封閉空間留潦,SO在2.7到0.4都能得到比較滿意到效果,這樣到話當(dāng)然選擇2.7辣往,它生成網(wǎng)格大兔院,因此少,占用存儲好計算消耗都少站削,取個整坊萝,我們選2.5吧。5x5x5對應(yīng)2.5许起,那么1x1x1是否就對應(yīng)0.5呢十偶,是否有這個潛在最優(yōu)比例呢?實(shí)驗(yàn)了一把园细,貌似還真是這樣惦积。
(待續(xù)~歡迎隨時討論)