物理对象在 Unity 中低速时不能正确反弹
Physics object doesn't bounce correctly at low speed in Unity
我 运行 遇到了一个问题,当启用物理的球运行缓慢时,它不会正确地反弹到物体上。我做了一个视频来说明问题
基本上,球应该 运行 进入静止球,静止球应该反弹。这在速度足够快但低于阈值时它们才开始一起移动,这看起来很奇怪。
这是怎么回事,我怎样才能让它做出正确的反应?
实验细节(两个对象相同):
刚体
- 质量:1
- 拖动:0
- Angular拖动:0
- 使用重力:false
物理学material:
- 动态摩擦力:0
- 静摩擦力:0
- 弹性:1
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.
我 运行 遇到了一个问题,当启用物理的球运行缓慢时,它不会正确地反弹到物体上。我做了一个视频来说明问题
基本上,球应该 运行 进入静止球,静止球应该反弹。这在速度足够快但低于阈值时它们才开始一起移动,这看起来很奇怪。
这是怎么回事,我怎样才能让它做出正确的反应?
实验细节(两个对象相同):
刚体
- 质量:1
- 拖动:0
- Angular拖动:0
- 使用重力:false
物理学material:
- 动态摩擦力:0
- 静摩擦力:0
- 弹性:1
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.