Exemplo n.º 1
0
 def __init__(self, fname, scale=1):
     """__init__
     parameters:
         self
         fname: path to the model file
         scale=1: optional scaling factor for the model
     returns:
         none
     Description:
         Loads a model from a file and makes it ready for instancing.
         Also applies node optimization and batches the static models.
     """
     if Model.combiner == 0:
         Model.combiner = NodePath(RigidBodyCombiner("rbc"))
         Model.combiner.reparentTo(render)
     self.modelRoot = collision.loadAndPositionModelFromFile(fname, scale, show=0)
     self.modelRoot.flattenStrong()
     self.modelRoot.reparentTo(Model.combiner)
Exemplo n.º 2
0
 def loadModels(self):
     """loadModels
     parameters:
         self
     returns:
         none
     Description:
         Loads the models and related collisions. Most game init goes here.
     """
     # create the environment
     self.env = collision.loadAndPositionModelFromFile("../assets/3d/mayaActors/arena_collisions_nogrid.egg")
     self.envBoxes = objects.genBulletBoxes(self.env,self.world)
     #load objects out of the environment
     #human
     self.mover = Human(self,self.world,self.worldNP)
     tmp = self.env.find("**/PlayerSpawn1")
     self.mover.bulletInit(self.world,tmp.getPos())
     tmp.detachNode()
     #AI players
     self.players = objects.loadPlayers(self.env,self.world,self.worldNP)
     for i in range(0,5):
         self.players[i].bulletInit(self.world,self.players[i].instance.getPos())
     
     #Spawners
     collisionHandler=0
     self.aTrapSpawn = objects.loadTrapAs(self.env, self.world, self.worldNP)
     self.bTrapSpawn = objects.loadTrapBs(self.env, self.world, self.worldNP)
     self.ammoSpawn = objects.loadAmmo(self.env, self.world, self.worldNP)
     
     #optimization
     self.env.flattenStrong()
     render.analyze()
     
     self.crowd = loader.loadModel("../assets/3d/Actors/crowd.egg")
     self.crowd.reparentTo(render)
     self.crowd.setScale(10)
     self.crowd.setPos(0,0,-1000)