情况
我正在制作一个台球模拟器,并有一个静态 btBox 代表桌面,其中 btSphere 作为球。在演示中,地面(桌面)和 btSphere 的滚动摩擦力分别为正值 1.0 和 0.3。演示节目是球体自然滚动并最终停止。
当我在我的模拟中使用这些值时,球体永远无法保持角速度并且只会在桌子上“滑动”——无论我在表面/球体中设置什么值滚动摩擦。
如果我将表面的滚动摩擦力设置为零(不管哪个),那么它会产生逼真的滚动行为,直到球即将停止。然后它以某种方式获得了这种恒定、缓慢的速度,并像僵尸一样在桌子周围滚动。在任何接触之前,球有时也会开始滚动。
注意事项
我尝试了多种摩擦/阻尼组合,但无法重现演示的行为或解决我提到的问题。我能想到的设置中唯一重要的区别是我的要小得多。解释为什么它们这么小并不简单,但我的 BALL_RADIUS = 0.0103 和 BALL_MASS = 0.12393。
问题)
知道为什么当我在表面和球体上都有滚动摩擦时我的球没有旋转吗?
否则,当我只在球体上设置滚动摩擦时,有什么想法可以阻止球停止?
想法
docs/demo/code/web 在记录滚动摩擦方面做得不是很好。要么,要么我正在做一些非常奇怪的事情......请帮忙!