一、unity自身組件:遮擋剔除(Occlusion Culling):當(dāng)物體被送進(jìn)渲染流水之前,將視錐以內(nèi)看不到的物體進(jìn)行剔除,減少每幀的渲染量,提高渲染性能。
1.1 步驟
a、創(chuàng)建Plane,放上Cube作為游戲物體,設(shè)置為靜態(tài)。
b、window面板下找到Occlusion Culling組件,object中選擇烘焙的物體,bake面板中點(diǎn)擊bake(bake前先保存場(chǎng)景!!!!!)
缺點(diǎn):遮罩的是camera看不到的物體。
二、InstantOC插件
2.1 步驟
1.創(chuàng)建層
2.為游戲物體指定層(將參與遮擋剔除)與標(biāo)簽(將自動(dòng)附加 IOClod腳本)
3.物體添加碰撞器Collider組件
4.攝像機(jī)附加腳本IOCcam
屬性
確保剔除物體顯示正常的陰影。Layer mask:參與遮擋剔除的游戲?qū)ο髮印?/p>
OC Tag:將為指定標(biāo)簽的游戲?qū)ο笞詣?dòng)添加IOClod腳本對(duì)象。
Samples:每幀攝像機(jī)發(fā)射的射線數(shù)目。數(shù)量多剔除效果 好,但性能開銷大。通常在150—500之間。
Rays FOV:射線視野,應(yīng)大于攝像機(jī)視野Field of View。
View Distance:視圖距離,射線長(zhǎng)度。將影響攝像機(jī)Clipping Planes –Far 數(shù)值。
Hide Delay:延遲隱藏,當(dāng)物體被剔除時(shí)延遲的幀數(shù),建 議50—100之間。
?PreCullCheck:檢查采集信息,建議勾選,可以提高剔除 效率。
?RealtimeShadows:實(shí)時(shí)陰影,如果場(chǎng)景需要實(shí)時(shí)陰影, 建議啟用。
優(yōu)點(diǎn):減少渲染壓力,優(yōu)化GPU顯示
缺點(diǎn):需要消耗額外CUP
LOD多細(xì)節(jié)層次:
步驟
1.創(chuàng)建層
2.創(chuàng)建空物體并將模型添加到其中,命名為:Lod_0 ?Lod_1 ?Lod_2
3.為父物體指定層與標(biāo)簽
4.父物體或子物體添加碰撞器組件
5.攝像機(jī)附加腳本IOCcam
屬性
Lod1 distance:攝像機(jī)到物體距離小于當(dāng)前距離時(shí),使 用Lod_0模型。
Lod2 distance:攝像機(jī)到物體距離大于Lod1且小于當(dāng)前 距離時(shí),使用Lod_1模型,大于當(dāng)前值使用Lod_2模型。
LodMargin:LOD邊緣,如果物體在LOD各階段過渡時(shí)發(fā) 生閃爍,嘗試提高當(dāng)前值。
缺點(diǎn):消耗CPU判斷距離、占用內(nèi)存、需要三個(gè)模型(付費(fèi)的不需要三個(gè))
適用:高面模型比較多、有遠(yuǎn)近變化
性能優(yōu)化:
CPU、渲染、內(nèi)存
以上方式均需要給物體添加collider組件!