插件工作原理:工具会寻找当前场景中使用相同材质球的物体分类,然后把同一个Shader的物体给统一合并成尽量少的贴图和材质球和Mesh来提高运行效率。(最大贴图尺寸可自行控制)
主界面介绍:
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" action-data=\"http%3A%2F%2Fww1.sinaimg.cn%2Flarge%2F006rCaRagw1f69vocuztbj30wj0mn7by.jpg\" action-type=\"show-slide\" style=\"border: 0px; list-style: none; max-width: 100%;\">
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" style=\"border: 0px; list-style: none;\">
Baker\" action-data=\"http%3A%2F%2Ftc.sinaimg.cn%2Fmaxwidth.800%2Ftc.service.weibo.com%2Fgameweb_img_qq_com%2F7017e407b8d8ab38e2b61dd806841818.png\" action-type=\"show-slide\" style=\"border: 0px; list-style: none;\">
材质整合界面:
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" action-data=\"http%3A%2F%2Fww4.sinaimg.cn%2Flarge%2F006rCaRagw1f69vp42n2pj312n0r9n6t.jpg\" action-type=\"show-slide\" style=\"border: 0px; list-style: none; max-width: 100%;\">
优化技巧;
1、MB会扫描出当前场景中使用了相同材质球的Mesh分类显示
2、此时就可以和美术沟通,用了一个Shader的材质球是否可以考虑合并到其他材质球里面,在保证美术效果一样的前提,不行的话就不用合并这个Mesh了。
3、此合并工具最好建议手动合并,因为U3D 虽然会把标记为静态物体的Mesh进行自动合并,但是本身合并的过程就是一个计算量很大的过程,经过我们测试,让U3D自己合并的效率要低于用MB合并成一个MESH 的效率。此类手动合并适用于场景中的杂物,比较多的物体,比如废墟、砖块、杂草、非常多的细小的Mesh但是有非常多的那种。
4、工具的一些问题,
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" style=\"border: 0px; list-style: none;\">
如图所示,要了解MB的几个文件
1、我们创建了一个*.assets文件,此文件是存储合并信息和材质球和mesh以及贴图的引用关系等数据。
2、一个材质球,或者支持带序列号的多个材质球
3、对应贴图,贴图存在了这个你创建的文件夹下面,没有自己合成的贴图当然就引用老的,自己合成的就用后来自己生成的大贴图,当然可以控制贴图尺寸如图最大 4096(最好控制在2048)
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" style=\"border: 0px; list-style: none; max-width: 100%;\">
4、合并的MESH一定要存成一个Prefab,一定要存到Project目录下,千千万万不要存在场景中,这样会导致你的Unity地图文件很大很大,加载效率很低很低,具体怎么存看下图解释:
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" style=\"border: 0px; list-style: none; max-width: 100%;\">
现在场景中创建一个临时的Prefab,然后把这个Prefab拖拽到Project文件夹下面,之后在把创建好的预设放到 Combined MeshObject 中去,这样MB 合成的Mesh就会想传统的mesh文件一样存在于Project中了。最后把 Hierarchy面板中的 临时预设可以删除了。
5、关于怎样去烘培场景,一般情况下,我们只需要把 Lightmapping UVS 勾选成Generate_new_UV2_layout就可以了,前提是 把这个勾选之后在创建出来的MESH 才能正常烘培光照贴图!一定要先生成后烘培。这样就和传统模型一样进行烘培场景了。
Baker\" title=\"Unity工具推荐:可以极大提高场景运行帧率的插件Mesh Baker\" action-data=\"http%3A%2F%2Fww1.sinaimg.cn%2Flarge%2F006rCaRagw1f69vqkl9yaj30b801vq30.jpg\" action-type=\"show-slide\" style=\"border: 0px; list-style: none;\">
6、关于模型UV越界的问题,有的美术制作的模型,有的必须使用连续贴图,所以在 UV有时候会越界。导致烘培的时候和合并的时候MB识别为不同类型的MESH,所以,美术提供的贴图尽量 保证 Out Of Bounds UVS =False ,也就是保证UV没有越出边界。
总结一下:
反正这个工具的原理很简单,就是自动化的处理美术需要手动处理的活儿,提高工作效率,提升游戏帧率。合并MESH 合并贴图,序列化材质球,然后存储在*.assets文件。