1.进如游戏后,会不断的生成小人(模型+刚体)。在这个游戏场景里小人被打死之后会进入对象池。在同一个场景里从对象池拿出来小人使用没有啥问题。
2.点击返回按钮后,会立刻将当前屏幕上剩余的小人放回对象池。然后切换场景,回到开始界面
3.从开始界面再次进入游戏 场景之后。因为对象池里有很多小人,所以直接拿出 小人放到屏幕上,如视频所示出现了奇怪的现象。
4.cocos3D 1.0.1
5.为什么用对象池,因为现在的cannon.js有 Bug。不能创建超过5000个以上的刚体。

感觉还是复用逻辑的问题,需要一些详细代码才能判断
我这边尝试了一下。在A 场景创建一个粒子节点放到场景上播放。然后将粒子从屏幕移除。放入到对象池。切换场景到B。将粒子从对象池拿出来放到B场景上。会立刻在particleComponent的 update里报错的。
然后对于 模型来说,我开启了阴影放到 A场景,底上有影子。然后我丢进去回收池,再放到B场景上,就看不到影子了。然后再次放到回收池,再放到B场景上,影子又出现了。
抱歉,1.0.1 是有这个问题,旧版本在做场景切换的时候会清空所有的model,所以也会把放入对象池中的粒子节点所使用的model误删掉,复用节点的时候又没有触发重建所以报错。新的版本增加了model绑定场景的机制,已经修复了该问题。