戈多特:如何实施二维固定关节?

时间:2019-05-01 03:03:45

标签: 2d game-physics rigid-bodies godot

所以,我从Godot开始,依靠物理引擎(基于R​​igidBody2D)进行2d自上而下的太空飞船游戏。这种想法的部分原因是航天器是模块化的-即可以以不同的方式组装零件以制造不同的飞船。它仍处于早期阶段,但是我目前正在研究的是如何最好地连接这些不同的部分。早些时候,我实现了旋转大炮,并使用Joint2D将其连接到船上,效果很好,但是对于非旋转零件,Godot没有这样的“固定”关节。到目前为止,我看到的唯一固定连接的方法是两个销钉连接,它们之间有一定距离。 (是的,要有工程背景)。

但是,我看到了一些与此有关的问题:(1)当我创建更多更大的飞船时,许多关节可能会增加额外的计算负荷(看到我想要做的只是像一个刚体一样) ,(2)实际组装零件需要更多的工作(最终我希望添加一个飞船编辑器,并以编程方式附加零件-我确实意识到这一点将很容易解决),(3)我要运行吗以后会遇到复杂构建的问题?(4)物理引擎将如何处理这些装配?

将不动的船舶部件添加为同一刚体而不是分开的部件会更好吗?但是,如果我这样做了,丢失模块,为每个零件分别设置命中点等事情会变得更加困难吗?

我不确定我是否要做最后一部分,但是半刚性(即柔性)关节呢?换句话说,一个灵活的航天器? (游戏概念的早期版本是从头开始使用真实的物理原理-包括诸如各种材料破坏模式之类的事物-但柔软的物体很困难,因此我不打算去那里……至少在可预见的未来不会如此。 !)

1 个答案:

答案 0 :(得分:0)

在Godot中无需固定关节。您可以在RigidBody2D下添加多个碰撞形状。

因此,在RigidBody2D节点下添加所有碰撞形状以及所有其他精灵,它们将一起充当一个实体对象。