Exemplo n.º 1
0
 def loadParticleConfig(self, file):
     #Start of the code from steam.ptf
     self.p.cleanup()
     self.p = ParticleEffect()
     self.p.loadConfig(Filename(file))
     #Sets particles to birth relative to the teapot, but to render at toplevel
     self.p.start(self.t)
     self.p.setPos(3.000, 0.000, 2.250)
Exemplo n.º 2
0
    def __init__(self):
        #Standard title and instruction text
        self.title = OnscreenText(text="Panda3D: Tutorial - Particles",
                                  font=font,
                                  style=1,
                                  fg=(1, 1, 1, 1),
                                  pos=(0.8, -0.95),
                                  scale=.07)
        self.escapeEvent = OnscreenText(text=HELPTEXT,
                                        font=font,
                                        style=1,
                                        fg=(1, 1, 1, 1),
                                        pos=(-1.3, 0.95),
                                        align=TextNode.ALeft,
                                        scale=.05)

        #More standard initialization
        self.accept('escape', sys.exit)
        self.accept('1', self.loadParticleConfig , \
          [os.path.join(PANDA_FILE_PATH, \
          'models/samples/particles/steam.ptf')])
        self.accept('2', self.loadParticleConfig , \
          [os.path.join(PANDA_FILE_PATH, \
          'models/samples/particles/dust.ptf')])
        self.accept('3', self.loadParticleConfig , \
          [os.path.join(PANDA_FILE_PATH, \
          'models/samples/particles/fountain.ptf')])
        self.accept('4', self.loadParticleConfig , \
          [os.path.join(PANDA_FILE_PATH, \
          'models/samples/particles/smoke.ptf')])
        self.accept('5', self.loadParticleConfig , \
          [os.path.join(PANDA_FILE_PATH, \
          'models/samples/particles/smokering.ptf')])
        self.accept('6', self.loadParticleConfig , \
          [os.path.join(PANDA_FILE_PATH, \
          'models/samples/particles/fireish.ptf')])

        self.accept('escape', sys.exit)
        base.disableMouse()
        camera.setPos(0, -20, 2)
        base.setBackgroundColor(0, 0, 0)

        #This command is required for Panda to render particles
        base.enableParticles()
        self.t = loader.loadModel("models/teapot")
        self.t.setPos(0, 10, 0)
        self.t.reparentTo(render)
        self.setupLights()
        self.p = ParticleEffect()
        self.loadParticleConfig(
            os.path.join(PANDA_FILE_PATH,
                         'models/samples/particles/steam.ptf'))