0

有一种情况:对象“A”落在静态对象“B”上,但是当“A”落在“B”上时,“A”和“B”之间存在跨度。如何解决问题?

4

2 回答 2

1

Box2d 正在使用迭代求解器,模拟的质量取决于您在模拟中使用的数值。例如,在 box2d 手册中,建议将动态主体的尺寸保持在 [0.1, 10] 范围内。精度 0.002(来自您的评论)是一个非常好的精度。

所以有两种方法可以解决你的问题。更改您使用的测量系统或增加位置和/或速度迭代。第一种方法要好得多,因为它不会增加计算时间。

于 2011-07-09T21:01:13.693 回答
0

Box2d 具有b2_linearSlop参数(在 PhysX 中也称为“皮肤”)

它是对几何尺寸的一点补充,以提高物理模拟的稳定性。也许它会导致您描述的人工制品。

尝试在box2d的源代码中查找以下字符串(我是从原始box2d的闪存端口中获取的,但对于其他平台应该是相同的):

/**
* A small length used as a collision and constraint tolerance. Usually it is
* chosen to be numerically significant, but visually insignificant.
*/
static public const b2_linearSlop:Number = 0.005;   // 0.5 cm
于 2011-07-19T09:22:41.677 回答