升级Unity5之后就各种问题不断,当然是一个接一个的被fix。
今日又遇到一个神bug, 值得记录。
重现方式:
1. 创建若干个Quad, 赋予一个使用VertexColor 的材质,例如:Particles/Additive。 全部的QUAD 不能是static batching。
2. 进入unity5, 编译这个scene。
编译选项:
Dynamic Batching = On
Graphics API = automatic
使用iPhone 5C, iPhone5s 和 iPhone6, iPad3 分别测试。
iPhone5c, iPad3 报出同样的错误, 错误thread 标记为 : SetVertexStateGLES
iPhone5s, iPhone6 无报错。
解决方案:关闭Dynamic Batching ,再编译则iPad3, iPhone5c 可正常运行。
分析: 只能猜测和Dynamic Batching 的机制有关。 unity5 在处理dynamic batching 的时候,是将所有符合条件的mesh 整合到一个大的mesh 之下,在这个过程中,可能是处理顶点color的算法出了问题。