Hi everyone, I’m trying to make a 3d person character to jump. I’m trying to use the collisionRay and the CollisionHandlerFloor, but it doesn’t seem to work, I’ve read the Panda3D Manual, here’s the piece of code of the collision (all of this code is inside a class, but in diferent functions):
self.actor1 = Actor(“panda”, {“walk”:“panda-walk”})
self.actor1.setScale(.5, .5, .5)
self.actor1.reparentTo(render)
self.actor1.setPos(0, 20, 0)
self.actor1.pose(“walk”, self.staticPose)
self.env = loader.loadModel(“environment”)
self.env.reparentTo(render)
self.env.setScale(0.25,0.25,0.25)
self.env.setPos(0, 20, 0)
raio = CollisionRay(0, 0, 0, 0, 0, -2)
self.raioNode1 = self.env.attachNewNode(CollisionNode(“collisionNode3”))
self.raioNode1.node().addSolid(raio)
self.raioNode1.show()
self.floor = CollisionHandlerFloor()
self.floor.addCollider(self.raioNode1, self.actor1)
self.floor.setMaxVelocity(1)
self.traverser = CollisionTraverser("trav")
base.cTrav = self.traverser
self.traverser.addCollider(self.raioNode1, self.floor)