簡介
當我們使用Mesh Baker這套好用的package時,當然有許多的好處,例如降低整個場景的Batches、減少場景Hierarchy、FPS等等的效能優化。然而在遊戲場景中必然會使用到物件與物件的碰撞,在Unity中是使用Collider來進行碰撞物理運算,在尚未進行Mesh Baker時,每個物件都是獨立存在場景中(尚未合併),這樣的Collider是最精確的,但是假如是完成了Mesh Baker後再進行Collider的製作,則會使Collider行程全區域的方形,小物件的細節Collider則不會產生進而會使整個場景物件無法準確的碰撞,如下圖(物件旁的綠色框框)。


因此我們必須解決最後一道關卡,將大型Bake過後的物件也可以擁有細節的Collider區域。當然你也可以很叛逆的自己手動新增每個小區域的Collider元件,但本篇提供的方式會比土法煉鋼更精準,時間也會快上10倍。我們就快速看下去。
實作
接著我們來簡易的講述一下怎樣將Mesh Baker後的物件+精準Collider,讓場景效能完整提升並且保有每個小物件的碰撞效果。
Step1 : 可以看到Mesh Baker前的各物件Mesh與Collider

Step2 : 首先先調整好每個小物件的Collider、物件位置

Step3 : 將許多物件使用MeshBaker Group製做成Bake的物件

Step4 : 複製原有各物件,(Duplicate)

Step5 : 將Collider放置整理至Baker後的物件中,在未來需要進行調整時比較好找尋與再調教

Step6 : 在Mesh Filter與Mesh Renderer元件上按右鍵,並選取Remove Component 刪除剛複製每個物件的MeshFilter , Mesh Renderer元件,就可以看到Bake過的大物件也擁有細部的Collider。

小結
這篇算是補全Mesh Baker基礎篇的另一小章節,為了讓此套件無痛轉換並提升效能,當然不能只處理場景中物件的“皮”,但沒有物件的“骨“,雖然這篇很短,但也算是蠻重要的一個步驟,所以在此紀錄並分享之。