1. 程式人生 > >Unity MeshBaker 合並網格和材質

Unity MeshBaker 合並網格和材質

腳本 記錄 fontsize ont border 自動 規劃 combine class

技術分享圖片
MeshBaker 能夠合並網格和材質,達到減少 Draw Calls 的目的。 官網地址:http://www.digitalopus.ca/site/mesh-baker/ Asset Store地址:https://www.assetstore.unity3d.com/en/#!/content/5017
在這裏簡單測試使用下,環境如下:
  • Unity 4.5.4
  • MeshBaker 3.3
1. 打開示例場景“Assets\MeshBaker\Examples\SceneBasic.unity”,刪除對象“MeshBaker0
”和“CombinedMesh-”,以便重新開始合並,如下圖所示:
技術分享圖片 2. 點擊菜單“GameObject -> Create Other -> Mesh Baker -> Mesh And Material Baker”,會自動在場景中添加一個名為“MeshBaker0”的對象,它包含兩個腳本組件:MB3_TextureBaker MB3_MeshBaker,如下圖所示:
技術分享圖片 3. 點擊“Open Tools For Adding Objects”,會彈出“MB3_MeshBaker
”窗口,點擊“List Shaders In Scene”,將會在控制臺列出場景中所使用到的著色器,並且指出哪些對象使用。這對於規劃哪些對象進行合並非常有用,如下圖所示:
技術分享圖片 拷貝到表格軟件中,會更直接,如下表所示:
OBJECT NAME LIGHTMAP INDEX STATIC OVERLAPPING SUBMESHES OUT-OF-BOUNDS UVs NUM MATS MATERIAL WARNINGS
Diffuse (UnityEngine.Shader) (72 verts):
Cube1 (24 verts) -1 FALSE FALSE FALSE 1 [TestDiffuse1 (UnityEngine.Material)]
Cube3 (24 verts) -1 FALSE FALSE FALSE 1 [TestDiffuse3 (UnityEngine.Material)]
Cube4 (24 verts) -1 FALSE FALSE FALSE 1 [TestDiffuse4 (UnityEngine.Material)]
Specular (UnityEngine.Shader) (24 verts):
Cube2 (24 verts) -1 FALSE FALSE FALSE 1 [TestDiffuse2 (UnityEngine.Material)]
合並的對象,首先考慮使用同一種材質,其次考慮使用同一種著色器。 4. 選中要合並的對象,在MB3_MeshBaker”窗口裏,設置需要過濾的類型,可以依據所使用的材質、著色器等進行過濾。接著,點擊“Add Selected Meshes”,就會將符合要求的對象添加到 MB3_TextureBaker MB3_MeshBaker 組件的合並數組裏,如下圖所示:

技術分享圖片

5. 點擊“Create Empty Assets For Combined Material”,將會創建一個合並材質記錄文件,這裏取名為AllMat,如下圖所示:
技術分享圖片
6. 設置好烘培選項,這些選項的意義可以參看幫助手冊。然後,點擊“Bake Materials into a Combined Material”,將會生成合並後的材質文件,如下圖所示:
技術分享圖片 7. 設置網格烘培選項,默認烘培完成的網格是生成到場景對象的,可以更改Output值為bakeIntoPrefab,使之保存到預制。最後,點擊“Bake”,將會生成一個包含合並後網格的新對象,如下圖所示:
技術分享圖片 新生成的對象,如下圖所示:
技術分享圖片
參考資料: 1. Mesh Baker的基本操作與功能演示 http://www.narkii.com/club/thread-301789-1.html

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net

Unity MeshBaker 合並網格和材質