如何模拟两个刚体之间的牢固连接



我不得不写我自己的物理代码(如果你好奇为什么,看看这里)。模拟单个刚体非常简单。但是我们有由多个刚体组成的组件(模拟太空殖民地),通过旋转轴承连接。

旋转轴承应使两个部件牢固地保持在一个恒定的相对位置和自转轴上,并且只允许它们围绕该轴旋转而变化。

每个部分的主要机制是角动量守恒。这有时会导致轴发生非常剧烈的变化(参见这里的一个示例)。但如果一端或另一端与另一个物体相连,那么这个物体要么会被拖拽,要么会抵消轴的变化(或者两者的结合——取决于它们的相对质量)。由于另一个物体可能也有需要保持的角动量,情况就更加复杂了。

我有游戏开发者的物理,但它不包括关节。我搜索了互联网,但我所能找到的都是关于在各种现成的物理引擎中使用关节的文章。谁能提供建议,如何模拟这样的轴承/关节我自己?

简化计算的一个标准技巧是将关节模拟为一个相当刚性的弹簧,其休息长度=关节长度。这允许时刻的异步传播,同时保持场景的构建和物理引擎的分离。

标准参考:http://www.gamedev.net/page/resources/_/technical/math-and-physics/a-verlet-based-approach-for-2d-game-physics-r2714

特别是讨论扩展对象碰撞的后半部分。这个想法也适用于不同于碰撞的力和不同于Verlet的集成方案。

相关内容

  • 没有找到相关文章

最新更新