C# 统一性:碰撞后改变刚体2d的速度会导致游戏崩溃,而不管平台是什么,包括编辑器中的平台

C# 统一性:碰撞后改变刚体2d的速度会导致游戏崩溃,而不管平台是什么,包括编辑器中的平台,c#,unity3d,C#,Unity3d,这一行代码单独导致我的游戏有时崩溃。它基本上冻结了编辑,我不得不强制退出Unity,在手机上也是如此 _rb.velocity = new Vector2(_rb.velocity.x, -20f); 我尝试在碰撞中设置一个标志,并在下一次固定更新中更新速度。我尝试过在Enterclision2D方法中直接更新速度 值得注意的是,当施加力而不是改变速度时,我无法再现碰撞,但施加力并不能产生预期的效果 编辑器日志中也没有任何内容,所以我很困惑。任何帮助都将不胜感激 我很确定碰撞不是这里的问题。确

这一行代码单独导致我的游戏有时崩溃。它基本上冻结了编辑,我不得不强制退出Unity,在手机上也是如此

_rb.velocity = new Vector2(_rb.velocity.x, -20f);
我尝试在碰撞中设置一个标志,并在下一次固定更新中更新速度。我尝试过在Enterclision2D方法中直接更新速度

值得注意的是,当施加力而不是改变速度时,我无法再现碰撞,但施加力并不能产生预期的效果


编辑器日志中也没有任何内容,所以我很困惑。任何帮助都将不胜感激

我很确定碰撞不是这里的问题。确保代码中没有任何无限循环(在方法内部调用相同的方法,或在协同例程外部使用while循环)。另外,如果您使用的是unity 2018,它会很快崩溃。

您好,欢迎使用stack overflow。有关调试的问题需要足够的信息来重现问题。对于统一问题,这包括创建最少必要的场景、层次和组件的步骤,以及最少必要的代码。有关更多指导,请参阅和。我正在使用2019。它实际上会崩溃时,增加力量太后一点。到目前为止,似乎可以通过向每个对象添加自定义物理材质来修复。我的代码中没有while循环,也没有无限循环。