Unity中的優化 遮擋剔除

2021-09-11 03:53:38 字數 1042 閱讀 5466

遮擋剔除:當乙個物體被其他物體遮擋住而不再攝像機的可視範圍內時部隊其進行渲染

在檢視面板,你需要標識所有需要應用遮擋剔除的場景物體,最快的方法時選擇多個想要遮擋剔除計算的物體,然後標記它們為occludee static和occlusion static

乙個普通物體可以設定這裡兩個狀態(地形不能)第乙個occluder static是遮擋物,只會遮擋其他物體,而不會被遮擋,主要大物體這麼設定,第二個occludee static是被遮擋物體,小型物體可以設定成這個,不明確或者大小適中的物體可以都勾選上,如果有透明物體等等特殊材質的那就都不勾,防止錯誤剔除。

測試:環境如圖

smallest occluder:設定最小遮擋物的尺寸,當遮擋物的長度或者寬大於設定值時,該物體才能夠遮擋住後面的物體。 (可以調小點,比如很大的物體在預設的設定下出現的不「及時」)

smallest hole:設定最小孔的尺寸,當穿過物體內部的孔或者多個物體堆疊形成的孔的大小小於設定的值時,遮擋剔除烘焙將忽略該孔的存在。 

backface threshold:設定背面移除閾值,用於優化場景,當該值為100時,攝像機拍攝不到的背面資訊也會完整保留;當該值較小時,系統將對背面資訊進行優化甚至去掉背景資訊

最後我們可以調整camera中的數值,調整視野

Unity3D InstantOC遮擋剔除

instantoc 外掛程式 圖形資料在gpu上經過運算處理,最後輸出到螢幕的過程。對於顯示出來的圖形,cpu與gpu的分工 cpu判斷需要顯示的圖形影象 呼叫圖形api 繪製呼叫 draw call 每次引擎準備資料並通知gpu的過程,即每幀呼叫顯示卡渲染物體的次數。即下圖中的batches。3....

關於遮擋剔除的幾個演算法嘗試

之前在公司使用 dx9做端遊引擎,優化效能中涉及到乙個演算法,就是遮擋剔除。最經典的演算法就是使用 api中的遮擋查詢介面,gpu gem 上面有一篇文章專門講這個。實話說,這個演算法看過好幾次,直到今天都沒有徹底明白。後來看到有的人評價說這個演算法不一定能改進效能,甚至還會導致更低。看到這個我有點...

Unity顯示被遮擋的模型

具體顯示為這個效果 同事在網上找了乙個受光的材質 shader custom roleshader glossiness smoothness range 0 1 0.5 metallic metallic range 0 1 0.0 occlusioncolor occlusion color c...