1

I'm writing a game using Panda3D 1.10 using the Bullet Open Source Physics Library 1.5.8. How do I generate a collision shape from an egg file?

This is the code I have so far:

    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)
jwpfox
  • 5,124
  • 11
  • 45
  • 42
Jacob Barrow
  • 631
  • 1
  • 8
  • 25

1 Answers1

0

I think that I've got a soulution, however, I also have problems.

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

It looks like working, but I've got problems... Give it a try.

Uncle Dino
  • 812
  • 1
  • 7
  • 23