在身体之间保持固定距离的约束是什么?

时间:2013-02-21 08:31:26

标签: game-physics physics-engine bulletphysics

我有两个,它们应始终位于恒定距离之间。只要它们的距离保持不变,它们就可以以所有自由度移动。想象一下,他们通过一根看不见的杆神奇地连接起来。在物理模拟过程中,各种力被施加在这些球体上以移动它们。

我正在为球体使用两个子弹 SphereShapes 。我可以在这两个球体之间使用什么样的约束(关节)来模拟它们的恒定距离和连接?

在我看来,我需要引入一个虚拟形状(圆柱体?胶囊?)来连接这两个球体,并在其两端各自引入球形约束(球窝关节)以连接到球体

有没有更好的方法来实现此设置?我使用什么样的约束?

1 个答案:

答案 0 :(得分:1)

我会从Point2PointConstraint(球和套接字)创建自己的约束。

98行是需要改变的。实质上,您应该创建一种新的约束,以了解两个对象之间的距离 depth 变量不是试图将 pivotAInW pivotBInW 匹配在世界空间( depth == 0 )中当连接 pivotAInW pivotBInW 的向量长度等于距离时,该值应为零。当两个枢轴位于空间中的同一点时,您可能希望保护您的代码免受特殊情况的影响,并强制施加脉冲的方向,例如关于x轴。