1

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

旋转轴承应使两个零件牢固地保持在恒定的相对位置和旋转轴上,并允许它们仅通过绕该轴旋转而变化。

每个部分的主要机制是角动量守恒。这有时会导致轴发生相当大的变化(再次参见此处的示例)。但是,如果一端或另一端连接到另一个对象,则该对象将被拖拽或抵消轴的变化(或两者的某种组合 - 取决于它们的相对质量)。由于另一个物体也可能有角动量需要守恒,这一切都变得更加复杂。

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

4

1 回答 1

0

简化计算的一个标准技巧是将关节模拟为一个相当硬的弹簧,其静止长度 = 关节长度。这允许瞬间的异步传播,同时保持场景的构造和物理引擎分开。

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

尤其是后半部分,讨论了扩展对象的碰撞。这个想法也适用于不同于 Verlet 的碰撞和积分方案的力。

于 2014-08-15T16:15:45.413 回答