1. 程式人生 > >Unity3D-遊戲場景優化之遮擋剔除(Occlusion Culling)的使用

Unity3D-遊戲場景優化之遮擋剔除(Occlusion Culling)的使用

在大型3D遊戲場景中,如何優化遊戲效能是非常重要的一步。一般遮擋剔除是非常常用的。接下來我們看看如何使用遮擋剔除。

假設這是一個遊戲場景。

下面這是相機的視口,相機的視覺是看不到很大立方體後面的那些小的立方體。

 

在運行遊戲的過程中,我們為了提高遊戲的效能,我們不希望渲染相機看不到的物體。

接下來就使用遮擋剔除(Occlusion Culling) 來進行優化。

1.首先將場景中的物體設定為靜態

2.選擇Windows   -> Occlusion Culling 

 

3.然後開啟bake選項卡

4.引數說明

Smallest:可以被剔除的物體的最小尺寸,如果物體小於這個尺寸,即使被遮擋了也不會被剔除。

Smallect Hole: 如果物體堆疊起來形成一個孔,或是這個物體本來就帶孔,通過這個孔我們可以看到後面的物體,這個引數的作用就是當孔的大小小於這個引數值時就會被忽略這個孔的存在,那孔後的物體就會被剔除。

Backface Threshold : 設定背景剔除的閾值。當值為100時就不剔除背景,當小於100時U3D對背景進行優化甚至去掉背景。

5.將這三個值進行設定之後,點選Ocllusion選項卡右下方的bake按鈕進行烘培。

6.然後在場景視口中選擇

7.然後勾選這三個點

8.我們就可以看到大的立方體後面的物體已經被剔除

9.與原場景進行對比,場景中少了很多物體,那些物體時相機無法看到的地方,這樣就達到了優化效能的目標。

10.對了重要的一點,相機要在那個方框區域內,不然沒有效