碰撞回调方法中实例化带有刚体的预制体会报错

在碰撞回调方法中实例化带有刚体的预制体会报错,有大佬知道为什么会这样吗
代码如下:


报错信息如下:
报错行114行

这种莫名bug,可以尝试一下下一帧再实例化

这样是可以解决,发帖就是想了解一下原理


说后面优化然后就没后文了

一般游戏类应用主线程都会跑一个叫“主循环”的东西,每帧循环一轮,在每个阶段分别处理游戏每个系统的逻辑,最后把所有数据组装好送往gpu进行渲染。
如果在A系统的回调中对B系统进行操作,就有可能把别的系统处理一半的数据状态给搞坏了,导致各种奇奇妙妙的报错。所以更好的办法就是在组件里做个标记,然后下次update时看到这个标记,再处理对应的逻辑。

3.8.6了还没改好 :sweat:

请问除了物理系统还有什么系统可能会存在这样的问题