想做这样一个优化
因为 cmd drawcall 太多 materials 太多导致 实际上只是贴图不一样
想用 texture2DArray 把他们合起来
texArray 这步功能倒是很快就好了
但是从 framedebugger 看一直没有合起来 报的 error 是 objects belong to different static batches
unity 有一个枚举会把不能合批的原因列出来 这是其中之一
我就跟进去看.... 看的我就很 lost
代码里的意思是 smallMeshIndex 不一样不能合并 这个东西其实就是 meshID
但我从编辑器里能看到他俩已经是一个 Mesh 了 顶点数都是合过的
后来意识到 是我做的另一件事情导致他们不能合批的 一测确实如此
unity 静态合批 功能是好的 前提是 mesh 必须静态的 不能运行时对 mesh 有更改
我为了做 texArray 的测试 在运行时 拿了 mesh 改了 uv 加了对 texArray 的索引 导致不能合批 去掉就变成一个 drawcall 了
而修正 uv 这步 正确的工作流也应该是 编辑时 而不是运行时 所以目测这条路可行 开心
来源: http://www.bubuko.com/infodetail-2985733.html