2013-02-26 60 views
0

默認情況下,Bullet通用約束條件Panda3D沿着正X軸取向。方法可用於僅沿X,Y或Z軸設置。 BulletGenericConstraint如何連接兩個不與任何軸正交的物體?Panda3D:如何定位BulletGenericConstraint?

也就是說,我怎樣東方 BulletGenericConstraint在一個方向沿任意向量,這是不沿X,Y或Z軸?

回答

0

BulletGenericConstraint需要兩個「框架」參數,每個參數都是一個TransformState對象。我相信你可以使用它們來指定受約束影響的兩個物體之間的相對旋轉。

TransformState接口工作起來有點棘手,但一旦掌握了它就很容易使用。轉換狀態使用一種特殊的緩存,導致它們不可變。您在其上執行的每個setX操作都不會修改對象,而是會返回一個新的TransformState對象並應用所請求的操作。

使用getTransform(),getNetTransform()getTransform(otherNode)可能最容易使用已應用於節點上的TransformState對象。或者,您可以從翻譯和一組HPR角度構建TransformState對象:

ts = TransformState.makePosHpr(pos, hpr)