unity插件——Draw Call Minimizer

提要
Draw Call Minimizer(下简称DCM)是一款来减少DrawCall的很好用的插件。总的来说:它可以通过合并父物体下的网格并且为纹理创建图集来降低DC调用。
可以到Asset Store 免费下载。传送门:https://www.assetstore.unity3d.com/cn/#!/content/2859

使用方法
只需两步
1.将所有要合并网格的物体添加要一个空的父物体下。
2.然后找到DrawCallMinimizer 脚本(DrawCallMinimizer > Script > NEW > RunTime),把它绑定到父物体上。

unity插件——Draw Call Minimizer_第1张图片
绑定后看检视面板

注意: 你可以将DCM绑定到拥有多个父物体的子物体上,这样你就能单独处理类似一个建筑里的某个房间的情况。

另外,我们有必要先弄明白DCM脚本中的参数作用:

  1. Destroy Original Object : 勾选后你将运行时删除父物体由合并的网格、材质替代,以节省内存(多数情况下勾选,除非你的父物体上绑定了脚本或者碰撞组件等等)。
unity插件——Draw Call Minimizer_第2张图片
运行效果
  1. Skip Atlasing Texture:跳过生成纹理集(如果你的物体上并没有纹理)。

  2. Atlas Properties 设置图集属性

Aniso Level:各向异性过滤等级(类似于纹理导入设置中的属性,指摄像机视野与场景对象角度很小时,是否增强模型的纹理精度等级,等级越高,精度越强。)
Readable Atlas : 使产生的图集为可读的,这有利于你在运行时操作图集
Filter Mode : 指过滤模型(Point, bilinear, trilinear)。这是Unity在导入纹理时为了节省内存,对原图进行压缩的模式。
No Transparency:告诉纹理打包器忽略透明,这样可以节省打包后图集大小。
Wrap Mode :重复或强制拉伸(当UV值小于0或大于1的时候)
Texture Size:生成图集的最大尺寸
Texture Padding: 图集中图片的间隔。这也对mipmap有特殊好处。(mipmap技术指根据相机的不同远近,纹理呈现不同质量)
Batched Shader Properties :这是自定义的shader属性,用来在生成图集时让DCM决定那些纹理要批处理。
注意:有法线贴图shader的要改成运行时法线贴图,不然会出现转换失败错误信息。方法 -> https://forum.unity3d.com/threads/create-runtime-normal-maps-using-rendertotexture.135841

使用Editor Batcher
DCM也是一款批处理工具,好处是你可以节约首次打包时间,也可以用合并的物体来创建预制体。
step 1.
打开Editor Batcher(Windows > DCM > Editor Batcher)后,可以看到这样一个界面

unity插件——Draw Call Minimizer_第3张图片
Editor Batcher

step 2.
为了能够结合成一个物体,点击+号并且把父对象拖入列表。


unity插件——Draw Call Minimizer_第4张图片
添加对象.png

step 3.
选择导出路径

unity插件——Draw Call Minimizer_第5张图片
选择导出路径.png

step 4.
一切配置好后们会有export按钮,点击导出。Editor Batcher 会将你要合并网格的对象合并成一个对象并且导入你设置的路径下。
!!!切记:千万不要删除导出的合并体,这会导致hierarchy面板中的父对象下shader组件全部丢失。DCM作用的对象希望是没有改过scale的不然在运行的时候会变回原来的尺寸。

来看一下 前后比较:


unity插件——Draw Call Minimizer_第6张图片
before.png

unity插件——Draw Call Minimizer_第7张图片
afterDCM.png

这里因为模型是网上下的,整体模型下的分类比较杂乱,我就没有按照材质归类,所以DCM后材质会混乱。不过效果展示到了,意思懂了就行

好了,这就是DCM的使用方法了。玩的愉快~

你可能感兴趣的:(unity插件——Draw Call Minimizer)