美文网首页插件推荐
Unity降低DrawCall的插件MeshBaker 合并网

Unity降低DrawCall的插件MeshBaker 合并网

作者: 萧非子 | 来源:发表于2017-05-30 00:58 被阅读64次
  1. 点击菜单“GameObject -> Create Other -> Mesh Baker -> Mesh And Material Baker”,会自动在场景中添加一个名为“MeshBaker0”的对象,它包含两个脚本组件:MB3_TextureBaker MB3_MeshBaker,如下图所示:

  2. 点击“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)]

合并的对象,首先考虑使用同一种材质,其次考虑使用同一种着色器。

  1. 选中要合并的对象,在“MB3_MeshBaker”窗口里,设置需要过滤的类型,可以依据所使用的材质、着色器等进行过滤。接着,点击“Add Selected Meshes”,就会将符合要求的对象添加到 **MB3_TextureBaker **和 **MB3_MeshBaker **组件的合并数组里,如下图所示:

  2. 点击“Create Empty Assets For Combined Material”,将会创建一个合并材质记录文件,这里取名为AllMat,如下图所示:

  3. 设置好烘培选项,这些选项的意义可以参看帮助手册。然后,点击“Bake Materials into a Combined Material”,将会生成合并后的材质文件,如下图所示:

  4. 设置网格烘培选项,默认烘培完成的网格是生成到场景对象的,可以更改Output值为bakeIntoPrefab,使之保存到预制。最后,点击“Bake”,将会生成一个包含合并后网格的新对象,如下图所示:

新生成的对象,如下图所示:

参考资料:

  1. Mesh Baker的基本操作与功能演示 http://www.narkii.com/club/thread-301789-1.html

相关文章

网友评论

    本文标题: Unity降低DrawCall的插件MeshBaker 合并网

    本文链接:https://www.haomeiwen.com/subject/miilfxtx.html