动态更改CCMeshRender组件里的mesh值报错

如果在程序运行中更改,在jsb环境下报错,浏览器上ok,跟踪后发现这里的this._assembler是null,很奇怪,只能自己在这个地方做了个容错if(this._assembler){this._assembler.updateMeshData(this);},然后就可以正常运行了:pensive:

1赞

请问出现异常的 CocosCreator 引擎版本是多少?

2.2.1呢

大佬,请问这个问题解决了吗?我在2.2.2也碰到了,查了好一阵子~

我这边测试了 2.2.2 版本的模拟器和android 真机的情况,都没有出现你所说的问题。请问你能够提供下你的测试 demo 给我么?

2.3.3也有这个问题,感觉_assembler似乎是在setParent,并且active的情况下才会设置。这样如果还没有parent或者没有active的话,_assembler这里就是空的。我在setMaterial时也遇到了这种情况

你好,反馈 bug 最好提供一下测试 demo。非常感谢。

我用2.4.3版本,在安卓的包上面,也是遇到了这个问题。请问楼上的各位,最后是怎么解决的呢?

情况确实如此,我的情况是在meshRenderer.mesh = mesh这行赋值语句之前,如果meshRenderer所在的node的parent没有被设置过,就会出现_assembler为空的情况。

解决方案就是,在设置mesh之前,给node一个有效的parent

感谢提供解决方案。
2.4.5依然有这个问题。