Simulator Scene in Unity3D – LOD Group vs MeshBaker

簡介

這篇完全是實驗性質,目的是驗證出透過Unity3D內建的功能與優化場景套件相互配合應用下,如何搭配是最省效能且不失物件的精細度。

前提是我們都會使用MeshBaker、Mantis LOD、LOD Group,而提出幾種實驗的排列組合,如下表,Item Object有Original Object , Use LOD Group , Use Mantis LOD , Use MeshBaker , Mantis LOD + MeshBaker , MantisLOD + MeshBaker + LODGroup這六種,我們就來看看哪種搭配是比較好的。

實驗過程

我們在場景中新增了六種不同的功能排列組合所產生的物件,如上圖,可以先來看看每個物件的基礎資料。
1. Original Object –
使用Mantis LOD來看看每個項目的三角面數有多少,標示Original有三個物件,有148308個三角面。Batches使用了26個Batches。
而選擇Camera位移距離時,距離10M: Batches使用了30個Batches, 距離50M:26-Batches,100M:22-Batches,150M:18-Batches,無限:12-Batches。

2.Only LOD Group
Only LOD Group物件有三個LODGroup三個物件,並在每個Group中有5個物件,總共15個物件,所以他的三角面數多達438402,Batches使用了10個Batches。
而選擇Camera位移距離時, 距離10M: Batches使用了30個Batches, 距離25M:26-Batches,90M:22-Batches,120M:18-Batches,無限:12-Batches。

3.Only Mantis LOD
Only Mantis LOD物件有三個物件,三角面數使用了MantisLOD縮減到總共有32004面,Batches使用了10個Batches。
而選擇Camera位移距離時, 距離10M: Batches使用了30個Batches, 距離50M:26-Batches,100M:22-Batches,150M:18-Batches,無限:12-Batches。

4.Only Mesh Baker
Only Mesh Baker物件只有一個,三角面數為32004面,Batches使用了4個Batches。
而選擇Camera位移距離時, 距離10M: Batches使用了16個Batches, 距離50M:14-Batches,100M:12-Batches,150M:10-Batches,無限:2-Batches。

5. Mantis LOD + MeshBaker
Mantis LOD + MeshBaker物件有一個,三角面數為32004面,Batches使用了4個Batches。
而選擇Camera位移距離時, 距離10M: Batches使用了16個Batches, 距離50M:14-Batches,100M:12-Batches,150M:10-Batches,無限:2-Batches。

6. MantisLOD + MeshBaker + LODGroup
MantisLOD + MeshBaker + LODGrop物件有五個物件,三角面數439160面,Batches使用了4個。
而選擇Camera位移距離時, 距離10M: Batches使用了16個Batches, 距離50M:14-Batches,100M:12-Batches,150M:10-Batches,無限:2-Batches。

實驗結果

經過實驗結果列出以下表格,讓大家瞭解一下。一個是單純物件對於場景中所使用到的Batches數字,另一個表格是移動攝影機時所使用到的Batches數。

靜態測試 –

ItemMantis LODMesh BakerLOD GroupTrianglesBatches
1. 148308 26
2. 438402 10
3. 32004 10
4. 32004 4
5. 32004 4
6. 439160 4

距離測試 –

Item – Batches 10M50M100M150M
1.Original Object 3026222012
2.Only LOD Group 3026222012
3.Only Mantis LOD 3026221812
4.Only Mesh Baker 161412102
5.Mantis LOD+MeshBaker 161412102
6.MantisLOD+MeshBaker+LODGroup 161412102

綜合以上兩個表格所呈現的吃效能顯示當然是什麼都不做的物件1所耗的效能最高,而物件2的面數相較於物件1是多了3倍,但是效能卻比之少了許多。接著我們把物件3-5拿來一起看,可能是單一物件所使用到的材質都是同一種,所以Batches數量是一樣的使用了4個Batches,通常使用到LOD Group的物件面數都是呈現比較多的。

接著我們看到表二,他是代表我們的LOD Group對於Batches有沒有效果,這次的實驗看起來是沒什麼改變,我覺得可能是此物件透過ManticLOD減面的效果有限,從100的30000面至20的10000面,在未來可以多做這方面的實驗。

而這篇的實驗重點我們得出了,其實使用MeshBaker這個工具就可以節省很多系統資源了,除非場景中有非得顯示到細節到不行的物件,我們在使用LOD Group或是組合拳 MantisLOD+MeshBaker+LODGroup 。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *