我遇到了一个问题,当启用物理功能的球缓慢移动时,它无法正确地从物体上弹开。我制作了一个视频来说明问题
基本上,球应该撞到静止的球,而静止的球应该弹开。当速度足够快时,这种方法有效,但低于阈值时,它们都开始一起移动,这看起来很奇怪。
这是怎么回事,我怎样才能让它做出正确的 react ?
实验详细信息(两个对象相同):
刚体
- 质量:1
- 拖动:0
- 角阻力: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.
关于unity-game-engine - Unity 中的物理对象在低速时无法正确弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656220/