Heured 版本3.1.5, 在开启enableInstancing并且不写入深度的情况下,将显示靠后的节点active置false再置true,该节点便显示得更靠前了,如下面3张图;而没开启enableInstancing并且不写入深度情况下则不会;不清楚这是不是bug附件:TestInstancing.zip TestInstancing.zip0B
小孟 小孟 原因是渲染顺序变了。 默认渲染顺序:sp1,pass1 --> sp1,pass2 --> sp2,pass1 --> sp2,pass2。 开启instance后:sp1 & sp2,pass1 --> sp1 & sp2,pass2。
Heured 小孟 @小孟:所以开启Instancing之后就不再遵守 Forward 距离相机从近到远渲染的规则了吗? sp2的active置false再置true以后顺序就变成 sp2 & sp1, pass1 --> sp2 & sp1, pass2,这点很迷
Heured 小孟 @小孟:还是说enableInstancing置true就会把小网格合并成一个大网格, sp2的active置false再置true导致sp2的网格顶点数据加到了大网格顶点数据的最后面?
小孟 小孟 开启instance是使用同一个网格渲染多次。instance 渲染了sp1 和 sp2,如果将sp1的active 设置为false再打开,就变成了sp2,sp1。 一般instance合并要求渲染是顺序无关的,因为不能保证被合并的对象在instance 中的渲染顺序。