原生平台调用 mesh.setIndices()出错?

总算定位到问题在哪里:用CocosCreator的PC模拟器可以复现。

调用this.mesh.setIndeices后,结果还是Null。
不知道是什么原因?

看了一下,应该是在原生平台中,手动生成的Mesh的IndexBuffer为空,而且因为
!(true, true)的关系,也不生成新的IndexBuffer
@jjyinkailejj求大佬看看呀

又调了一下,发现问题不是在这里,报错的原因是:如果当前的Mesh已经有Renderer绑定的话,改动Mesh的内容就会报错。现在我改了一下,在调整Mesh之前,先解绑定;调整完后,再重新绑定。

ERROR: Uncaught TypeError: Cannot read property ‘updateMeshData’ of null, 我的报错日志是这样的

ERROR: Uncaught TypeError: Cannot read property ‘updateMeshData’ of null

我也遇到这个问题,并且解决了。
做法是不要在创建 MeshRenderer 的那一帧内设置它的 .mesh 属性。而是延迟到下一帧。cocos 这些年,遇到的莫名 bug 大家都可以试试这招:延迟到下一帧。意外的可以解决很多问题。

2赞