MeshBaker是一个Unity插件,用于对模型场景进行离线合批,降低Batches和SetPass calls,提高游戏性能
MeshBaker的原理是将多个模型所用的图片打成图集,并生成一个材质
MeshBaker可以直接在Unity的AssetStore搜索下载
本文中使用的MeshBaker版本是3.25.0
①首先随便搭建一个场景,打开State,记录下合批前的Batches和SetPass calls用于合批后进行性能对比,如下图可以看到,Batches为7,SetPass calls为5
②创建一个空节点"Env",并将之前拖入Scene中的模型都放到"Env"下
③点击Unity窗口上方的GameObject一>Create Other一>Mesh Baker一>TextureBaker and MeshBaker,可以看到Hierarchy面板创建出了一个"TextureBaker (0)",选中它,点击如下图框选的"Open Tools For Adding Objects"
④在弹出的弹窗中,如下图依次操作:先点击"Search For Meshes To Add",然后选中"Env",最后点击"Add Selected Meshes To Target".操作完成后关闭该弹窗
⑤点击选中Hierarchy面板下的"TextureBaker (0)",依次点击"Create Empty Assets For Combined Material","Bake Materials Into Combined Material","Bake All Child MeshBakers"
⑥最后结果如下图,Batches为3,SetPass calls为3