1

我正在使用Bullet Open Source Physics Library 1.5.8使用 Panda3D 1.10 编写游戏。如何从 egg 文件生成碰撞形状?

这是我到目前为止的代码:

    tree = BulletRigidBodyNode('Tree')
    tree.setMass(10.0)
    shape = getCollisionFromEgg('tree.egg') # This is the 'magic function' I'm after
    tree.addShape(shape)
    np = render.attachNewNode(tree)
    np.setPos(10, 0, 2)
    self.world.attachRigidBody(tree)
    model = loader.loadModel('tree.egg')
    model.reparentTo(np)
4

1 回答 1

0

我认为我有一个解决方案,但是,我也有问题。

def toShape(model):
    shape=BulletTriangleMesh()

    geomNodeCollection = model.findAllMatches('**/+GeomNode')
    for nodePath in geomNodeCollection:
        geomNode = nodePath.node()
        for i in range(geomNode.getNumGeoms()):
            geom = geomNode.getGeom(i)
            state = geomNode.getGeomState(i)
            shape.addGeom(geom)
    shape=BulletTriangleMeshShape(shape, True)
    return shape

它看起来像工作,但我有问题......试一试。

于 2016-07-27T23:23:48.787 回答