Panda3D Manual: Pusher Example
<<prev | top | next>> |
Here is a short example to show two small spheres using a Pusher.
import direct.directbase.DirectStart from pandac.PandaModules import * #initialize traverser base.cTrav = CollisionTraverser() #initialize pusher pusher = CollisionHandlerPusher() ######### #load a model. reparent it to the camera so we can move it. s = loader.loadModel('smiley') s.reparentTo(camera) s.setPos(0, 25,0) #create a collision solid for this model cNode = CollisionNode('s') cNode.addSolid(CollisionSphere(0,0,0,1.1)) sC = s.attachNewNode(cNode) sC.show() ######### #load a model t = loader.loadModel('smiley') t.reparentTo(render) t.setPos(5, 25,0) #create a collsion solid for this model cNode = CollisionNode('t') cNode.addSolid(CollisionSphere(0,0,0,1.1)) tC = t.attachNewNode(cNode) tC.show() ######### #add collision node to the traverser and the pusher base.cTrav.addCollider(tC.node(),pusher) pusher.addCollider(tC,t, base.drive.node()) ######### #have the one ball moving to help show what is happening p = t.posInterval(5,Point3(0,25,0),startPos=Point3(5,25,0)).loop() ######### #run the world. move around with the mouse to see how the moving ball changes course to avoid the one attached to the camera. run()
<<prev | top | next>> |