如何在panda3d中“连接”两个OdeBodies?

时间:2015-07-28 19:35:21

标签: python python-3.x panda3d

我希望在panda3d中牢固地“附加”两个物体,这样它们的位置和旋转就不会相互变化,即使在一定距离内也是如此。我已经研究过关节,但似乎没有人能做到这一点。有没有办法做到这一点?此外,作为一个相关的问题,有没有办法“锚定”一个身体,使其根本不移动,同时仍然与其他物体进行物理交互?在我能够找到的小文档中,我发现了这个:

cm = CardMaker("ground")
cm.setFrame(-20, 20, -20, 20)
ground = render.attachNewNode(cm.generate())
ground.setPos(0, 0, 0)
groundGeom = OdePlaneGeom(world.space, Vec4(0, 0, 1, 0))

但是我不理解它,它似乎是在创建对象时必须要做的事情,而我正在寻找可以在任何时候完成和撤消的事情。有没有办法做到这一点?

这可能不是一个经过深思熟虑的问题;我对熊猫很新。如果您需要代码或更多信息,我可以发布。感谢

1 个答案:

答案 0 :(得分:1)

OdeFixedJoint类旨在使主体相对于另一个主体或相对于环境保持固定位置。但是,一般情况下,最好将两个附着体代表为单体。

我相信一个物体可以是静态的(如果你愿意,可以固定在环境中),不要给它分配任何物体。