1.关于unity静态批处理
unity静态批处理不是真正意义上的"静态批处理"把勾上的合并成一个mesh,
而是首先unity会先动态排序,判断渲染顺序以及静态批处理的可视。
比如有这种情况,我的场景中有4个cube和一个sphere,然后我的4个cube勾上了static静态,unity会默认帮我们静态批处理,
按照理想情况,我场景中的批次patches应该是2个,sphere和 四个cube合并后的Combined Mesh,但是,却会有这种情况。
什么,为什么会有3个batches,难道蓝色背景也是一个batches么?当然不是,unity的batches不会统计这个没有材质球的蓝色背景的。我们稍微转动一下角度,再来看一下。
怎么回事,又变成了2个batches?
就在我以为是不是unity的bug的时候,然后问了问我之前的一个大佬同事,以下是我的理解(不是原话):
我们之前写引擎的时候,我们把这种成为动态合批,
unity静态批处理不是真正意义上的"静态批处理"把勾上的合并成一个mesh,
而是首先unity会先按照顺序动态排序以及静态批处理的可视处理,因为你的球没有勾选static,然后插在了4个cube中间的渲染顺序(或者说挡住了某一个cube时,处于不可视的时候),这样unity就会先渲染2次合并后的Combined Mesh,第一次渲染球前面的Combined Mesh,第二次渲染球后面的combined mesh,因为这个球插足了破坏了合批,所以就是3个batches。
而我们更换角度后,球没有插足cube的渲染顺序,所以就不会破坏合批。
当然,这不是他