5-3 Occlusion Culling
本章要介紹的優化技術是Occlusion Culling遮擋剔除,簡單說明遮擋剔除的技術,是讓位於攝影機外面,不會顯示在玩家面前的3D物件,不需要渲染。或者是某個物件被另外一個物件擋住的時候也不需要渲染,比方說有一座高大的山脈擋住一片森林的時候,後面那片森林是不需要渲染的。
首先,選擇Window/Occlusion Culling開啟視窗。
打開後,在Visualization標籤中,會看見No occlusion data has been baked,這是因為沒有進行過Bake的動作的關係。
接著,請選擇場景中不會移動的靜態物件,然後於Inspector視窗中的Static選項選擇Occluder Static和Occludee Static。
Bake前的場景如下圖。
按下Bake後,就會發現場景的3D物件都消失了,別擔心。
回到Occlustion視窗,於Visualization標籤中選擇Cameras。
選擇場景中的Main Camera。
然後於場景中移動看看,就會發現只有攝影機照到的地方,才會顯示3D物件。
將Visibility Lines打勾看看,可以清楚看見攝影機的視角範圍,是個很有趣的小功能。
接著讓我們來執行遊戲看看吧。
Bake後的Draw Calls為827,確實改善很多。
首先,選擇Window/Occlusion Culling開啟視窗。
打開後,在Visualization標籤中,會看見No occlusion data has been baked,這是因為沒有進行過Bake的動作的關係。
接著,請選擇場景中不會移動的靜態物件,然後於Inspector視窗中的Static選項選擇Occluder Static和Occludee Static。
Bake前的場景如下圖。
按下Bake後,就會發現場景的3D物件都消失了,別擔心。
回到Occlustion視窗,於Visualization標籤中選擇Cameras。
選擇場景中的Main Camera。
然後於場景中移動看看,就會發現只有攝影機照到的地方,才會顯示3D物件。
將Visibility Lines打勾看看,可以清楚看見攝影機的視角範圍,是個很有趣的小功能。
接著讓我們來執行遊戲看看吧。
來看看Profiler視窗吧,下圖是我在Bake前的數值,Draw Calls為946。
Bake後的Draw Calls為827,確實改善很多。
留言
張貼留言