物理对象在 Unity 中低速时不能正确反弹

Physics object doesn't bounce correctly at low speed in Unity

我 运行 遇到了一个问题,当启用物理的球运行缓慢时,它不会正确地反弹到物体上。我做了一个视频来说明问题

https://youtu.be/9T1hkir7sCo

基本上,球应该 运行 进入静止球,静止球应该反弹。这在速度足够快但低于阈值时它们才开始一起移动,这看起来很奇怪。

这是怎么回事,我怎样才能让它做出正确的反应?

实验细节(两个对象相同):

刚体

物理学material:

Unity 的默认值 Bounce Threshold 用于识别反弹的是速度 > 2

Set a velocity value. If two colliding objects have a relative velocity below this value, they do not bounce off each other. This value also reduces jitter, so it is not recommended to set it to a very low value.


您可以在 PhysicsManager编辑->项目设置->物理学):

或在运行时通过脚本(参见 Physics.bounceThreshold

Physics.bounceThreshold = 1;

根据需要尽可能小...但请注意

This value also reduces jitter, so it is not recommended to set it to a very low value.