|
@@ -58,7 +58,7 @@ class Particles(ParticleSystem.ParticleSystem):
|
|
|
self.node = PhysicalNode.PhysicalNode()
|
|
self.node = PhysicalNode.PhysicalNode()
|
|
|
self.node.addPhysical(self)
|
|
self.node.addPhysical(self)
|
|
|
self.nodePath = hidden.attachNewNode(self.node)
|
|
self.nodePath = hidden.attachNewNode(self.node)
|
|
|
- #self.forceNode = ForceNode.ForceNode()
|
|
|
|
|
|
|
+ self.forceNode = ForceNode.ForceNode()
|
|
|
|
|
|
|
|
self.integrator = LinearEulerIntegrator.LinearEulerIntegrator()
|
|
self.integrator = LinearEulerIntegrator.LinearEulerIntegrator()
|
|
|
|
|
|
|
@@ -68,6 +68,11 @@ class Particles(ParticleSystem.ParticleSystem):
|
|
|
particleMgr.setFrameStepping(1)
|
|
particleMgr.setFrameStepping(1)
|
|
|
particleMgr.attachParticlesystem(self)
|
|
particleMgr.attachParticlesystem(self)
|
|
|
|
|
|
|
|
|
|
+ def cleanup(self):
|
|
|
|
|
+ """cleanup(self)"""
|
|
|
|
|
+ physicsMgr.removePhysical(self)
|
|
|
|
|
+ particleMgr.removeParticlesystem(self)
|
|
|
|
|
+
|
|
|
def setFactory(self, type):
|
|
def setFactory(self, type):
|
|
|
"""setFactory(self, type)"""
|
|
"""setFactory(self, type)"""
|
|
|
if (self.factoryType == type):
|
|
if (self.factoryType == type):
|
|
@@ -99,20 +104,21 @@ class Particles(ParticleSystem.ParticleSystem):
|
|
|
self.renderer.setPointSize(1.0)
|
|
self.renderer.setPointSize(1.0)
|
|
|
elif (type == "LineParticleRenderer"):
|
|
elif (type == "LineParticleRenderer"):
|
|
|
self.renderer = LineParticleRenderer.LineParticleRenderer()
|
|
self.renderer = LineParticleRenderer.LineParticleRenderer()
|
|
|
- self.renderer.setHeadColor(Vec4(1.0, 1.0, 1.0, 1.0))
|
|
|
|
|
- self.renderer.setTailColor(Vec4(1.0, 1.0, 1.0, 1.0))
|
|
|
|
|
|
|
+ self.renderer.setPointSize(1.0)
|
|
|
elif (type == "GeomParticleRenderer"):
|
|
elif (type == "GeomParticleRenderer"):
|
|
|
self.renderer = GeomParticleRenderer.GeomParticleRenderer()
|
|
self.renderer = GeomParticleRenderer.GeomParticleRenderer()
|
|
|
elif (type == "SparkleParticleRenderer"):
|
|
elif (type == "SparkleParticleRenderer"):
|
|
|
self.renderer = SparkleParticleRenderer.SparkleParticleRenderer()
|
|
self.renderer = SparkleParticleRenderer.SparkleParticleRenderer()
|
|
|
elif (type == "SpriteParticleRenderer"):
|
|
elif (type == "SpriteParticleRenderer"):
|
|
|
self.renderer = SpriteParticleRenderer.SpriteParticleRenderer()
|
|
self.renderer = SpriteParticleRenderer.SpriteParticleRenderer()
|
|
|
|
|
+ t = loader.loadTexture("I:/beta/toons/install/maps/evil_eye.rgb")
|
|
|
|
|
+ if (t == None):
|
|
|
|
|
+ print "Couldn't find default texture: evil_eye.rgb!"
|
|
|
|
|
+ return None
|
|
|
|
|
+ self.renderer.setTexture(t)
|
|
|
else:
|
|
else:
|
|
|
print "unknown renderer type: %s" % type
|
|
print "unknown renderer type: %s" % type
|
|
|
return None
|
|
return None
|
|
|
- #self.renderer.setAlphaMode(
|
|
|
|
|
- #BaseParticleRenderer.BaseParticleRenderer.PRALPHAUSER)
|
|
|
|
|
- #self.renderer.setUserAlpha(1.0)
|
|
|
|
|
ParticleSystem.ParticleSystem.setRenderer(self, self.renderer)
|
|
ParticleSystem.ParticleSystem.setRenderer(self, self.renderer)
|
|
|
|
|
|
|
|
def setEmitter(self, type):
|
|
def setEmitter(self, type):
|
|
@@ -144,15 +150,11 @@ class Particles(ParticleSystem.ParticleSystem):
|
|
|
else:
|
|
else:
|
|
|
print "unknown emitter type: %s" % type
|
|
print "unknown emitter type: %s" % type
|
|
|
return None
|
|
return None
|
|
|
- #self.emitter.setEmissionType(
|
|
|
|
|
- #BaseParticleEmitter.BaseParticleEmitter.ETEXPLICIT)
|
|
|
|
|
- #self.emitter.setExplicitLaunchVector(Vec3(-1.0, -1.0, 1.0))
|
|
|
|
|
- #self.emitter.setAmplitude(1.0)
|
|
|
|
|
ParticleSystem.ParticleSystem.setEmitter(self, self.emitter)
|
|
ParticleSystem.ParticleSystem.setEmitter(self, self.emitter)
|
|
|
|
|
|
|
|
def __update(self, state):
|
|
def __update(self, state):
|
|
|
"""update(self, state)"""
|
|
"""update(self, state)"""
|
|
|
- dt = globalClock.getDt()
|
|
|
|
|
|
|
+ dt = min(globalClock.getDt(), 0.1)
|
|
|
physicsMgr.doPhysics(dt)
|
|
physicsMgr.doPhysics(dt)
|
|
|
particleMgr.doParticles(dt)
|
|
particleMgr.doParticles(dt)
|
|
|
return Task.cont
|
|
return Task.cont
|
|
@@ -163,6 +165,7 @@ class Particles(ParticleSystem.ParticleSystem):
|
|
|
|
|
|
|
|
def start(self):
|
|
def start(self):
|
|
|
"""start(self)"""
|
|
"""start(self)"""
|
|
|
|
|
+ self.stop()
|
|
|
taskMgr.spawnTaskNamed(Task.Task(self.__update), 'update-particles')
|
|
taskMgr.spawnTaskNamed(Task.Task(self.__update), 'update-particles')
|
|
|
|
|
|
|
|
def stop(self):
|
|
def stop(self):
|