默认情况下, Panda3D 中的 BulletGenericConstraint 沿正X轴定向。 setAngularLimit 方法可用于仅沿X,Y或Z轴设置。如何通过BulletGenericConstraint连接两个不与任何轴正交的实体?
也就是说,我如何沿着任意向量<沿着X,Y或Z轴定向一个BulletGenericConstraint?
答案 0 :(得分:0)
BulletGenericConstraint需要两个框架&#39;参数,每个都是TransformState对象。我相信你可以使用它们来指定受约束影响的两个物体之间的相对旋转。
TransformState界面使用起来有点棘手,但是一旦掌握了它,它就很容易使用。转换状态使用一种特殊的缓存,使它们不可变。您在其上执行的每个setX操作都不会修改对象,而是返回一个新的TransformState对象,并应用所请求的操作。
使用getTransform()
,getNetTransform()
或getTransform(otherNode)
使用已在节点上应用的TransformState对象可能最简单。或者,您可以从平移和一组HPR角度构造TransformState对象:
ts = TransformState.makePosHpr(pos, hpr)