所以,我从Godot开始,依靠物理引擎(基于RigidBody2D)进行2d自上而下的太空飞船游戏。部分想法是航天器是模块化的 - 即部件可以以不同的方式组装以产生不同的工艺。它还处于早期阶段,但我现在看的是如何最好地连接这些不同的部分。之前我使用Joint2D实现了旋转加农炮并将其连接到船上,效果很好,但对于非旋转部件,戈多没有这样的“固定”关节。到目前为止,我看到做固定关节的唯一方法是两针接头,它们之间有一定距离。 (耶和华的工程背景)。
但是,我看到了一些问题:(1)当我创造更多更大的工艺时,许多关节可能会增加额外的计算负荷(看到我希望它做的就像一个单一的刚体),(2) )实际组装零件的工作量更大(最终我希望添加一个船编辑器,并以编程方式附加零件 - 我确实意识到这一点很容易解决),(3)我是否会遇到问题复杂的构建稍后?,以及(4)物理引擎如何处理这些类型的程序集?
我是否会更好地将不移动的船舶部件作为同一刚体的一部分添加,而不是单独的部件?但是,如果我这样做,那么丢失一个模块,每个部分都有单独的生命值等等会变得更难吗?
我不确定我是不是想做这个最后一部分,但是半刚性(即柔性)关节呢?换句话说,灵活的航天器? (游戏概念的早期版本是从头开始使用真实物理 - 包括各种材料失效模式之类的东西 - 但软体很难,所以我不会去那里......至少在可预见的未来!)
不需要戈多的固定关节。您可以在RigidBody2D下添加多个碰撞形状。
因此,在RigidBody2D节点下添加所有碰撞形状 - 以及任何其他精灵 - 它们将一起作为一个实体对象。