Unity工具推荐:能场景优化的插件Mesh Baker
不论是手机游戏还是VR游戏,我们在开发游戏过程中总会遇到一个场景有很多资源的问题,效率和效果这两个天枰控制的越好,游戏的总体水平也就得到了保证,效率高了没有效果美术非常不喜欢看到的事情,明明可以靠连吃饭,技术却优化不好。接下来我们就详细介绍一款插件,重点推荐使用,对于大大小小的场景优化都很很大的帮助。
一、插件基本信息介绍
插件名称:Mesh Baker
下载地址:链接:http://pan.baidu.com/s/1gfa3lXx 密码:gl5v
插件工作原理:工具会寻找当前场景中使用相同材质球的物体分类,然后把同一个Shader的物体给统一合并成尽量少的贴图和材质球和Mesh来提高运行效率。(最大贴图尺寸可自行控制)
主界面介绍:
材质整合界面:
优化技巧;
1、MB会扫描出当前场景中使用了相同材质球的Mesh分类显示
2、此时就可以和美术沟通,用了一个Shader的材质球是否可以考虑合并到其他材质球里面,在保证美术效果一样的前提,不行的话就不用合并这个Mesh了。
3、此合并工具最好建议手动合并,因为U3D 虽然会把标记为静态物体的Mesh进行自动合并,但是本身合并的过程就是一个计算量很大的过程,经过我们测试,让U3D自己合并的效率要低于用MB合并成一个MESH 的效率。此类手动合并适用于场景中的杂物,比较多的物体,比如废墟、砖块、杂草、非常多的细小的Mesh但是有非常多的那种。
4、工具的一些问题,
如图所示,要了解MB的几个文件
1、我们创建了一个*.assets文件,此文件是存储合并信息和材质球和mesh以及贴图的引用关系等数据。
2、一个材质球,或者支持带序列号的多个材质球
3、对应贴图,贴图存在了这个你创建的文件夹下面,没有自己合成的贴图当然就引用老的,自己合成的就用后来自己生成的大贴图,当然可以控制贴图尺寸如图最大 4096(最好控制在2048)
4、合并的MESH一定要存成一个Prefab,一定要存到Project目录下,千千万万不要存在场景中,这样会导致你的Unity地图文件很大很大,加载效率很低很低,具体怎么存看下图解释:
现在场景中创建一个临时的Prefab,然后把这个Prefab拖拽到Project文件夹下面,之后在把创建好的预设放到 Combined MeshObject 中去,这样MB 合成的Mesh就会想传统的mesh文件一样存在于Project中了。最后把 Hierarchy面板中的 临时预设可以删除了。
5、关于怎样去烘培场景,一般情况下,我们只需要把 Lightmapping UVS 勾选成Generate_new_UV2_layout就可以了,前提是 把这个勾选之后在创建出来的MESH 才能正常烘培光照贴图!一定要先生成后烘培。这样就和传统模型一样进行烘培场景了。
6、关于模型UV越界的问题,有的美术制作的模型,有的必须使用连续贴图,所以在 UV有时候会越界。导致烘培的时候和合并的时候MB识别为不同类型的MESH,所以,美术提供的贴图尽量 保证 Out Of Bounds UVS =False ,也就是保证UV没有越出边界。
总结一下:
反正这个工具的原理很简单,就是自动化的处理美术需要手动处理的活儿,提高工作效率,提升游戏帧率。合并MESH 合并贴图,序列化材质球,然后存储在*.assets文件。