def createStreamerParticles(self, color1, color2, amp): self.f = ParticleEffect.ParticleEffect('streamer_particles') p0 = Particles.Particles('particles-1') p0.setFactory('PointParticleFactory') p0.setRenderer('SparkleParticleRenderer') p0.setEmitter('RingEmitter') p0.setPoolSize(80) p0.setBirthRate(0.05) p0.setLitterSize(100) p0.setLitterSpread(0) p0.factory.setLifespanBase(3.0) p0.factory.setLifespanSpread(0.5) p0.factory.setMassBase(1.0) p0.factory.setMassSpread(0.0) p0.factory.setTerminalVelocityBase(5.0) p0.factory.setTerminalVelocitySpread(1.0) p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) p0.renderer.setUserAlpha(1.0) p0.renderer.setCenterColor(color1) p0.renderer.setEdgeColor(color2) p0.renderer.setBirthRadius(0.3) p0.renderer.setDeathRadius(0.3) p0.renderer.setLifeScale(SparkleParticleRenderer.SPNOSCALE) p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) p0.emitter.setAmplitude(0) p0.emitter.setAmplitudeSpread(0) f0 = ForceGroup.ForceGroup('Gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, 10.0), 1.0, 0) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) p0.emitter.setRadius(5.0) self.f.addParticles(p0) self.f.setPos(0, 0, 0) self.f.setHpr(0, 0, 0) return self.f
def __init__(self): NodePath.__init__(self, "particleFloorTest") # Sort Order of Particles self.setDepthWrite(0) # Load Particle Effects self.f = ParticleEffect.ParticleEffect() self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') # Particles parameters self.p0.setFactory("PointParticleFactory") self.p0.setRenderer("PointParticleRenderer") self.p0.setEmitter("SphereVolumeEmitter") self.p0.setPoolSize(64) self.p0.setBirthRate(0.020) self.p0.setLitterSize(7) self.p0.setLitterSpread(2) self.p0.setSystemLifespan(0.0000) #self.p0.setLocalVelocityFlag(1) self.p0.setFloorZ(-1.0) self.p0.setSystemGrowsOlderFlag(0) # Factory parameters self.p0.factory.setLifespanBase(10.000) self.p0.factory.setLifespanSpread(0.50) self.p0.factory.setMassBase(1.80) self.p0.factory.setMassSpread(1.00) self.p0.factory.setTerminalVelocityBase(400.0000) self.p0.factory.setTerminalVelocitySpread(0.0000) self.f.addParticles(self.p0) if 1: f0 = ForceGroup.ForceGroup('frict') # Force parameters force0 = LinearVectorForce(Vec3(0., 0., -1.)) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleWhiteSmoke') self.speed = 20.0 self.radius = 8.0 if not UnholyFlare.particleDummy: UnholyFlare.particleDummy = render.attachNewNode( ModelNode('UnholyFlareParticleDummy')) UnholyFlare.particleDummy.setDepthWrite(0) UnholyFlare.particleDummy.setLightOff() UnholyFlare.particleDummy.setFogOff() UnholyFlare.particleDummy.setColorOff() UnholyFlare.particleDummy.setColorScaleOff() UnholyFlare.particleDummy.setBin('fixed', 120) self.f = ParticleEffect.ParticleEffect('UnholyFlare') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0)
def shootFireworkCircleGeneric(x, y, z, color1, color2, amp, poolSize): f = ParticleEffect.ParticleEffect() p0 = Particles.Particles('particles-1') p0.setFactory('PointParticleFactory') p0.setRenderer('SparkleParticleRenderer') p0.setEmitter('SphereVolumeEmitter') p0.setPoolSize(poolSize) p0.setBirthRate(0.01) p0.setLitterSize(poolSize) p0.factory.setLifespanBase(2.0) p0.factory.setLifespanSpread(0.5) p0.factory.setTerminalVelocityBase(400.0) p0.factory.setTerminalVelocitySpread(40.0) p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) p0.renderer.setUserAlpha(1.0) p0.renderer.setCenterColor(color1) p0.renderer.setEdgeColor(color1) p0.renderer.setBirthRadius(0.4) p0.renderer.setDeathRadius(0.6) p0.renderer.setLifeScale(SparkleParticleRenderer.SPSCALE) p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) p0.emitter.setAmplitudeSpread(0.1) p0.emitter.setAmplitude(amp) p0.emitter.setRadius(0.1) f.addParticles(p0) circleForceGroup = ForceGroup.ForceGroup('gravity') force1 = LinearSinkForce(Point3(x, y, z - 100), LinearDistanceForce.FTONEOVERRSQUARED, 2.0, 0.3 * amp * 0.1, 1) force1.setActive(1) circleForceGroup.addForce(force1) f.addForceGroup(circleForceGroup) f.setPos(x, y, z) sfxName = random.choice(('phase_4/audio/sfx/firework_explosion_01.ogg', 'phase_4/audio/sfx/firework_explosion_02.ogg', 'phase_4/audio/sfx/firework_explosion_03.ogg')) sfx = loader.loadSfx(sfxName) sfx.setVolume(0.7) t = Sequence(Func(f.start, render, render), Func(sfx.play), Wait(0.5), Func(p0.setBirthRate, 3), Wait(0.5), Func(p0.renderer.setCenterColor, color2), Func(p0.renderer.setEdgeColor, color2), Wait(1.5), Func(f.cleanup), name=getNextSequenceName('shootFireworkCircle')) t.start()
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleSpark') if not Sparks.particleDummy: Sparks.particleDummy = render.attachNewNode(ModelNode('SparksParticleDummy')) Sparks.particleDummy.setDepthWrite(0) Sparks.particleDummy.node().setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne)) Sparks.particleDummy.setFogOff() Sparks.particleDummy.setLightOff() Sparks.particleDummy.setBin('fixed', 120) self.f = ParticleEffect.ParticleEffect('Sparks') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('RingEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -6.5), 2.0, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/sigils') self.card = model.find('**/effectSkull') self.setDepthWrite(0) self.setLightOff() self.effectColor = Vec4(1, 1, 1, 1) self.f = ParticleEffect.ParticleEffect('WitherStar') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) self.p0.setPoolSize(64) self.p0.setBirthRate(0.02) self.p0.setLitterSize(6) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(0.40000000000000002) self.p0.factory.setLifespanSpread(0.10000000000000001) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(360.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.0001 * self.cardScale) self.p0.renderer.setFinalXScale(0.0025000000000000001 * self.cardScale) self.p0.renderer.setInitialYScale(0.00050000000000000001 * self.cardScale) self.p0.renderer.setFinalYScale(0.025000000000000001 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode( ColorBlendAttrib.MAdd, ColorBlendAttrib.OOneMinusFbufferAlpha, ColorBlendAttrib.OOneMinusIncomingAlpha) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0), Vec4(0.59999999999999998, 0.90000000000000002, 0.69999999999999996, 0.40000000000000002), 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.10000000000000001)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(0.01)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleVolcanoSmoke') self.setLightOff() self.setColorScaleOff() self.setDepthWrite(0) self.f = ParticleEffect.ParticleEffect('TeleportDust') self.f.reparentTo(self) self.p0 = Particles.Particles('dust') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('forceGroup-1') force0 = LinearCylinderVortexForce(10.0, 10.0, 0.5, 2.25, 0) force0.setVectorMasks(1, 1, 0) force0.setActive(1) f0.addForce(force0) force1 = LinearSinkForce(Point3(0.0, 0.0, 0.0), LinearDistanceForce.FTONEOVERRSQUARED, 1.0, 25.0, 0) force1.setVectorMasks(1, 1, 0) force1.setActive(1) f0.addForce(force1) force2 = LinearVectorForce(Vec3(0.0, 0.0, 3.0), 1.0, 0) force2.setVectorMasks(0, 0, 1) force2.setActive(1) f0.addForce(force2) self.f.addForceGroup(f0) self.p0.setPoolSize(32) self.p0.setBirthRate(0.1) self.p0.setLitterSize(2) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(2.75) self.p0.factory.setLifespanSpread(0.0) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(0.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(90.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(0.8) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(0.8, 0.8, 0.8, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.008 * self.cardScale) self.p0.renderer.setFinalXScale(0.015 * self.cardScale) self.p0.renderer.setInitialYScale(0.008 * self.cardScale) self.p0.renderer.setFinalYScale(0.015 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(2.0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/fireworkCards') self.card = model.find('**/pir_t_efx_msc_particleStars') self.cardScale = 64.0 self.setDepthWrite(0) self.setColorScaleOff() self.setLightOff() self.effectScale = 1.0 self.effectColor = Vec4(1, 1, 1, 1) self.f = ParticleEffect.ParticleEffect('StarBurst') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-0') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('Gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -25.0), 1.0, 0) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(128) self.p0.setBirthRate(0.040000000000000001) self.p0.setLitterSize(64) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(1.25) self.p0.factory.setLifespanSpread(0.5) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(360.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 0.10000000000000001, Vec4(0, 0, 0, 0), self.effectColor, 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.setEffectScale(self.effectScale) self.setEffectColor(self.effectColor)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/fireworkCards') self.card = model.find('**/pir_t_efx_msc_particleSpark_soft') self.cardScale = 16.0 self.setDepthWrite(0) self.setColorScaleOff() self.setLightOff() self.effectScale = 1.0 self.effectColor = Vec4(1, 1, 1, 1) self.f = ParticleEffect.ParticleEffect('NoiseSparkles') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-2') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('Gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -15.0), 1.0, 0) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) f1 = ForceGroup.ForceGroup('Noise') self.noiseForce = LinearNoiseForce(25.0, 0.0) self.noiseForce.setVectorMasks(1, 1, 1) self.noiseForce.setActive(0) f1.addForce(self.noiseForce) self.f.addForceGroup(f1) self.p0.setPoolSize(150) self.p0.setBirthRate(0.02) self.p0.setLitterSize(50) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(2.0) self.p0.factory.setLifespanSpread(0.5) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.setEffectScale(self.effectScale) self.setEffectColor(self.effectColor)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleSplash') if not CannonSplash.particleDummy: CannonSplash.particleDummy = render.attachNewNode( ModelNode('CannonSplashParticleDummy')) CannonSplash.particleDummy.setDepthWrite(0) if not self.splashSfx: for audio in self.splashSfxNames: self.splashSfx.append(loadSfx(audio)) self.f = ParticleEffect.ParticleEffect('CannonSplash') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -40.0), 1.0, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(32) self.p0.setLitterSize(5) self.p0.setLitterSpread(2) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(-8.0) self.p0.factory.setLifespanBase(3.0) self.p0.factory.setLifespanSpread(1.0) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.90000000000000002) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(0.20000000000000001) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.10000000000000001 * self.cardScale) self.p0.renderer.setFinalXScale(0.69999999999999996 * self.cardScale) self.p0.renderer.setInitialYScale(0.10000000000000001 * self.cardScale) self.p0.renderer.setFinalYScale(0.69999999999999996 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM) self.p0.emitter.setAmplitude(2.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 40.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0)) self.p0.emitter.setRadius(1.0) self.p0.emitter.setOuterAngle(90.0) self.p0.emitter.setInnerAngle(0.0) self.p0.emitter.setOuterMagnitude(20.0) self.p0.emitter.setInnerMagnitude(0.0) self.p0.emitter.setCubicLerping(0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleFlameSmoke') if not CeilingDust.particleDummy: CeilingDust.particleDummy = render.attachNewNode( ModelNode('CeilingDustParticleDummy')) CeilingDust.particleDummy.setDepthWrite(0) self.f = ParticleEffect.ParticleEffect('CeilingDust') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('Gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -1.0), 1.0, 1) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(64) self.p0.setBirthRate(0.02) self.p0.setLitterSize(8) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(-5.0) self.p0.factory.setLifespanBase(3.0) self.p0.factory.setLifespanSpread(2.5) self.p0.factory.setMassBase(2.0) self.p0.factory.setMassSpread(1.5) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(0.25) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(0) self.p0.renderer.setInitialXScale(0.080000000000000002 * self.cardScale) self.p0.renderer.setFinalXScale(0.080000000000000002 * self.cardScale) self.p0.renderer.setInitialYScale(0.040000000000000001 * self.cardScale) self.p0.renderer.setFinalYScale(0.040000000000000001 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -0.29999999999999999)) self.p0.emitter.setExplicitLaunchVector( Vec3(0.20000000000000001, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(100.0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) self.setDepthWrite(0) self.setLightOff() self.effectColor = Vec4(1, 1, 1, 1) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleWhiteSteam') self.card2 = model.find('**/particleDarkSmoke') self.f = ParticleEffect.ParticleEffect('VoodooExplosion') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.p1 = Particles.Particles('particles-2') self.p1.setFactory('ZSpinParticleFactory') self.p1.setRenderer('SpriteParticleRenderer') self.p1.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) self.f.addParticles(self.p1) f0 = ForceGroup.ForceGroup('gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -20.0), 1.0, 1) force0.setActive(1) f0.addForce(force0) f1 = ForceGroup.ForceGroup('Noise') force1 = LinearNoiseForce(2.0, 0) force1.setVectorMasks(0, 0, 1) force1.setActive(1) f1.addForce(force1) self.f.addForceGroup(f0) self.f.addForceGroup(f1) self.p0.setPoolSize(8) self.p0.setBirthRate(0.10000000000000001) self.p0.setLitterSize(8) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(3.5) self.p0.factory.setLifespanSpread(0.5) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.25) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(0.34999999999999998) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.01 * self.cardScale) self.p0.renderer.setFinalXScale(0.40000000000000002 * self.cardScale) self.p0.renderer.setInitialYScale(0.01 * self.cardScale) self.p0.renderer.setFinalYScale(0.40000000000000002 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(0.0, 0.0, 0.0, 1.0), Vec4(0.20000000000000001, 0.10000000000000001, 0.59999999999999998, 0.40000000000000002), 1) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 10.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0)) self.p0.emitter.setRadius(0.75) self.p0.emitter.setOuterAngle(90.0) self.p0.emitter.setInnerAngle(0.0) self.p0.emitter.setOuterMagnitude(8.0) self.p0.emitter.setInnerMagnitude(0.0) self.p0.emitter.setCubicLerping(0) self.p1.setPoolSize(128) self.p1.setBirthRate(0.01) self.p1.setLitterSize(128) self.p1.setLitterSpread(0) self.p1.setSystemLifespan(0.0) self.p1.setLocalVelocityFlag(1) self.p1.setSystemGrowsOlderFlag(0) self.p1.factory.setLifespanBase(1.5) self.p1.factory.setLifespanSpread(0.75) self.p1.factory.setMassBase(4.0) self.p1.factory.setMassSpread(0.0) self.p1.factory.setTerminalVelocityBase(400.0) self.p1.factory.setTerminalVelocitySpread(0.0) self.p1.factory.setInitialAngle(0.0) self.p1.factory.setInitialAngleSpread(90.0) self.p1.factory.enableAngularVelocity(1) self.p1.factory.setAngularVelocity(500.0) self.p1.factory.setAngularVelocitySpread(100.0) self.p1.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p1.renderer.setUserAlpha(0.20000000000000001) self.p1.renderer.setFromNode(self.card2) self.p1.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p1.renderer.setXScaleFlag(1) self.p1.renderer.setYScaleFlag(1) self.p1.renderer.setAnimAngleFlag(1) self.p1.renderer.setInitialXScale(0.0030000000000000001 * self.cardScale) self.p1.renderer.setFinalXScale(0.025000000000000001 * self.cardScale) self.p1.renderer.setInitialYScale(0.0030000000000000001 * self.cardScale) self.p1.renderer.setFinalYScale(0.040000000000000001 * self.cardScale) self.p1.renderer.setNonanimatedTheta(0.0) self.p1.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p1.renderer.setAlphaDisable(0) self.p1.renderer.setColorBlendMode( ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingColor, ColorBlendAttrib.OOneMinusIncomingAlpha) self.p1.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(1.0, 1.0, 1.0, 0.20000000000000001), Vec4(0.75, 0.59999999999999998, 1.0, 0), 1) self.p1.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p1.emitter.setAmplitude(1.0) self.p1.emitter.setAmplitudeSpread(0.0) self.p1.emitter.setOffsetForce(Vec3(0.0, 0.0, 5)) self.p1.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p1.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p1.emitter.setRadius(0.10000000000000001)
def __init__(self, parent=None): PooledEffect.__init__(self) EffectController.__init__(self) self.setDepthWrite(0) self.setLightOff() self.setBin('fixed', 50) self.effectScale = 1.0 self.f = ParticleEffect.ParticleEffect('ShipSinkSplashes') self.f.reparentTo(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleWhiteSteam') self.card2 = model.find('**/particleSplash') self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.p1 = Particles.Particles('particles-2') self.p1.setFactory('PointParticleFactory') self.p1.setRenderer('SpriteParticleRenderer') self.p1.setEmitter('DiscEmitter') self.f.addParticles(self.p1) self.p0.setPoolSize(128) self.p0.setBirthRate(0.14999999999999999) self.p0.setLitterSize(10) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(2.5) self.p0.factory.setLifespanSpread(0.5) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(0.5) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(0) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.getColorInterpolationManager().addLinear( 0.25, 1.0, Vec4(1.0, 1.0, 1.0, 1.0), Vec4(1.0, 1.0, 1.0, 0.0), 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, -2.0, 10.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p1.setPoolSize(128) self.p1.setBirthRate(0.01) self.p1.setLitterSize(3) self.p1.setLitterSpread(1) self.p1.setSystemLifespan(0.0) self.p1.setLocalVelocityFlag(1) self.p1.setSystemGrowsOlderFlag(0) self.p1.setFloorZ(-50) self.p1.factory.setLifespanBase(0.5) self.p1.factory.setLifespanSpread(0.14999999999999999) self.p1.factory.setMassBase(1.0) self.p1.factory.setMassSpread(0.0) self.p1.factory.setTerminalVelocityBase(400.0) self.p1.factory.setTerminalVelocitySpread(0.0) self.p1.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p1.renderer.setUserAlpha(0.25) self.p1.renderer.setFromNode(self.card2) self.p1.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p1.renderer.setXScaleFlag(1) self.p1.renderer.setYScaleFlag(1) self.p1.renderer.setAnimAngleFlag(0) self.p1.renderer.setNonanimatedTheta(0.0) self.p1.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p1.renderer.setAlphaDisable(0) self.p1.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p1.emitter.setAmplitude(0.0) self.p1.emitter.setAmplitudeSpread(0.5) self.p1.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p1.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
def __init__(self): # Initialize the superclass PooledEffect.__init__(self) EffectController.__init__(self) # Grab Texture off the Texture Card model = loader.loadModel( "phase_4/models/props/tt_m_efx_ext_particleCards") self.card = model.find("**/tt_t_efx_ext_particleWhiteGlow") self.cardScale = 64.0 self.effectColor = Vec4(1, 1, 1, 1) self.effectScale = 1.0 self.lifespan = .5 if not GlowTrail.particleDummy: GlowTrail.particleDummy = render.attachNewNode( ModelNode('GlowTrailParticleDummy')) GlowTrail.particleDummy.setDepthWrite(0) GlowTrail.particleDummy.setLightOff() GlowTrail.particleDummy.setFogOff() # Load Particle Effects self.f = ParticleEffect.ParticleEffect("GlowTrail") self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory("PointParticleFactory") self.p0.setRenderer("SpriteParticleRenderer") self.p0.setEmitter("PointEmitter") self.f.addParticles(self.p0) self.p0.setPoolSize(64) self.p0.setBirthRate(0.02) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0000) self.p0.setLocalVelocityFlag(0) self.p0.setSystemGrowsOlderFlag(0) # Factory parameters self.p0.factory.setLifespanBase(self.lifespan) self.p0.factory.setLifespanSpread(0.1) self.p0.factory.setMassBase(1.0000) self.p0.factory.setMassSpread(0.0000) self.p0.factory.setTerminalVelocityBase(400.0000) self.p0.factory.setTerminalVelocitySpread(0.0000) # Renderer parameters self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) # Sprite parameters self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.00, 1.00, 1.00, 1.00)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0000) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) # Emitter parameters self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0000, 0.000, -2.0000)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0000, 0.0000, 0.0000)) self.p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, 0.0000)) self.setEffectScale(self.effectScale)
def __init__(self, effectParent=None): PooledEffect.__init__(self) EffectController.__init__(self) if effectParent: self.reparentTo(effectParent) self.duration = 10.0 self.effectScale = 1.0 model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleFire2') self.setDepthWrite(0) self.setFogOff() self.setLightOff() self.setColorScaleOff() self.setBin('fixed', 60) self.f = ParticleEffect.ParticleEffect('SwordFlame') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('LineEmitter') self.f.addParticles(self.p0) self.p0.setPoolSize(64) self.p0.setBirthRate(0.01) self.p0.setLitterSize(3) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(-1.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(360.0) self.p0.factory.setLifespanBase(0.75) self.p0.factory.setLifespanSpread(0.25) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(350.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 0.9, 0.9, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(1.0, 0.6, 0.2, 1.0), Vec4(0.5, 0.2, 0.2, 0.5), 1) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(-0.2) self.p0.emitter.setAmplitudeSpread(0.25) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 1.25)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setEndpoint1(Point3(-1.25, 0.0, 0.0)) self.p0.emitter.setEndpoint2(Point3(1.25, 0.0, 0.0)) self.setEffectScale(1.0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel( 'phase_4/models/props/tt_m_efx_ext_particleCards') self.card = model.find('**/tt_t_efx_ext_particleStars') self.cardScale = 64.0 self.effectColor = Vec4(1, 1, 1, 1) self.effectScale = 1.0 self.lifespan = 2.0 if not SparksTrailLong.particleDummy: SparksTrailLong.particleDummy = render.attachNewNode( ModelNode('SparksTrailLongParticleDummy')) SparksTrailLong.particleDummy.setDepthWrite(0) self.f = ParticleEffect.ParticleEffect('SparksTrailLong') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('PointEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('Gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -2.0), 1.0, 0) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(128) self.p0.setBirthRate(0.02) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(0) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(self.lifespan) self.p0.factory.setLifespanSpread(0.1) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(90.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(25.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -2.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.setEffectScale(self.effectScale)
def __init__(self): NodePath.__init__(self, 'VolcanoSmoke') EffectController.__init__(self) self.particleDummy = self.attachNewNode( ModelNode('VolcanoSmokeParticleDummy')) self.particleDummy.setDepthWrite(0) self.particleDummy.setColorScaleOff() self.particleDummy.setLightOff() self.particleDummy.clearFog() self.particleDummy.setBin('fixed', 10) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleWhiteSmoke') self.f = ParticleEffect.ParticleEffect('VolcanoSmoke') self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereVolumeEmitter') self.duration = 10.0 self.f0 = ForceGroup.ForceGroup('volcano') self.force0 = LinearJitterForce(12.0, 0) self.force0.setVectorMasks(1, 1, 0) self.force0.setActive(1) self.f0.addForce(self.force0) self.f.addForceGroup(self.f0) self.p0.setPoolSize(32) self.p0.setBirthRate(3.0) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(60.0) self.p0.factory.setLifespanSpread(30.0) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(180.0) self.p0.factory.setFinalAngle(0.0) self.p0.factory.setFinalAngleSpread(360.0) self.p0.factory.enableAngularVelocity(0) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 0.05, Vec4(1, 0, 0, 0), Vec4(1, 0.6, 0.25, 1.0)) self.p0.renderer.getColorInterpolationManager().addLinear( 0.05, 0.1, Vec4(1, 0.6, 0.25, 1), Vec4(0.25, 0.25, 0.25, 1.0)) self.p0.renderer.getColorInterpolationManager().addConstant( 0.1, 0.8, Vec4(0.25, 0.25, 0.25, 1)) self.p0.renderer.getColorInterpolationManager().addLinear( 0.8, 1.0, Vec4(0.25, 0.25, 0.25, 1.0), Vec4(0.5, 0.5, 0.5, 0.0)) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETEXPLICIT) self.p0.emitter.setAmplitude(0.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(2.0) self.f.addParticles(self.p0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleFire') if not FlamingSkull.particleDummy: FlamingSkull.particleDummy = render.attachNewNode(ModelNode('FlamingSkullParticleDummy')) FlamingSkull.particleDummy.setDepthWrite(0) FlamingSkull.particleDummy.setFogOff() FlamingSkull.particleDummy.setLightOff() FlamingSkull.particleDummy.setColorScaleOff() FlamingSkull.particleDummy.setTwoSided(1) FlamingSkull.particleDummy.setBin('fixed', 60) FlamingSkull.particleDummy.hide(OTPRender.ShadowCameraBitmask) self.icon = loader.loadModel('models/effects/skull') self.icon.setBillboardAxis(0.0) self.icon.setDepthWrite(0) self.icon.setFogOff() self.icon.setLightOff() self.icon.setColorScaleOff() self.icon.reparentTo(self) self.icon.setPos(self, 0, 0, -0.3) self.icon.setBin('fixed', 65) self.icon.hide(OTPRender.ShadowCameraBitmask) self.f = ParticleEffect.ParticleEffect('FlamingSkull') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) self.p0.setPoolSize(128) self.p0.setBirthRate(0.2) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(1.2) self.p0.factory.setLifespanSpread(0.5) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.2) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(20.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.0018 * self.cardScale) self.p0.renderer.setInitialYScale(0.0018 * self.cardScale) self.p0.renderer.setFinalXScale(0.0001 * self.cardScale) self.p0.renderer.setFinalYScale(0.0001 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OOneMinusFbufferAlpha, ColorBlendAttrib.OOneMinusIncomingAlpha) self.p0.renderer.getColorInterpolationManager().addLinear(0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0), Vec4(0, 0, 0, 1.0), 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(-0.75) self.p0.emitter.setAmplitudeSpread(0.5) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 4.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(0.5)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/effectWindBlur') self.speed = 20.0 if not VoodooShieldBlast.particleDummy: VoodooShieldBlast.particleDummy = render.attachNewNode( ModelNode('VoodooShieldBlastParticleDummy')) VoodooShieldBlast.particleDummy.setDepthWrite(0) VoodooShieldBlast.particleDummy.setLightOff() self.f = ParticleEffect.ParticleEffect('VoodooShieldBlast') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) self.p0.setPoolSize(32) self.p0.setBirthRate(0.029999999999999999) self.p0.setLitterSize(2) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(1.5) self.p0.factory.setLifespanSpread(0) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor( Vec4(0.80000000000000004, 0.80000000000000004, 0.80000000000000004, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(0) self.p0.renderer.setInitialXScale(0.0080000000000000002 * self.cardScale) self.p0.renderer.setFinalXScale(0.01 * self.cardScale) self.p0.renderer.setInitialYScale(0.029999999999999999 * self.cardScale) self.p0.renderer.setFinalYScale(0.014999999999999999 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(0, 0.20000000000000001, 1, 0.80000000000000004), Vec4(0.80000000000000004, 0.90000000000000002, 1, 0), 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.5) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(1.0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleRockShower') self.speed = 20.0 if not ThrowDirt.particleDummy: ThrowDirt.particleDummy = render.attachNewNode( ModelNode('ThrowDirtParticleDummy')) ThrowDirt.particleDummy.setDepthWrite(0) ThrowDirt.particleDummy.setLightOff() ThrowDirt.particleDummy.setColorScaleOff() ThrowDirt.particleDummy.setFogOff() self.f = ParticleEffect.ParticleEffect('ThrowDirt') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) self.f0 = ForceGroup.ForceGroup('Grav') force0 = LinearVectorForce(Vec3(0.0, -1.0, -20.0), 1.0, 1) force0.setVectorMasks(1, 1, 1) force0.setActive(1) self.f0.addForce(force0) self.f.addForceGroup(self.f0) self.p0.setPoolSize(32) self.p0.setBirthRate(0.02) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(2.0) self.p0.factory.setLifespanSpread(1.0) self.p0.factory.setMassBase(0.4) self.p0.factory.setMassSpread(0.35) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(0.3, 0.2, 0, 1)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(0) self.p0.renderer.setInitialXScale(0.004 * self.cardScale) self.p0.renderer.setFinalXScale(0.008 * self.cardScale) self.p0.renderer.setInitialYScale(0.004 * self.cardScale) self.p0.renderer.setFinalYScale(0.008 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.5) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 10.0, 20.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(1.0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleEvilSmoke') self.effectScale = 1.0 if not self.particleDummy: self.particleDummy = render.attachNewNode( ModelNode('selfParticleDummy')) self.particleDummy.setDepthWrite(0) self.particleDummy.setColorScaleOff() self.particleDummy.setLightOff() self.particleDummy.setFogOff() self.particleDummy.hide(OTPRender.ShadowCameraBitmask) self.f = ParticleEffect.ParticleEffect('VoodooPestilence') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereVolumeEmitter') self.f.addParticles(self.p0) self.f.setP(90.0) self.p0.setPoolSize(256) self.p0.setBirthRate(0.01) self.p0.setLitterSize(3) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(0) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(1.2) self.p0.factory.setLifespanSpread(0.20000000000000001) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(360.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(300.0) self.p0.factory.setAngularVelocitySpread(25.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode( ColorBlendAttrib.MAdd, ColorBlendAttrib.OOneMinusFbufferAlpha, ColorBlendAttrib.OOneMinusIncomingAlpha) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0), Vec4(0.10000000000000001, 0.20000000000000001, 0.10000000000000001, 0.5), 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(0.29999999999999999) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -0.45000000000000001)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(0.01)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleRockShower') if not SmallRockShower.particleDummy: SmallRockShower.particleDummy = render.attachNewNode( ModelNode('SmallRockShowerParticleDummy')) SmallRockShower.particleDummy.setDepthWrite(0) self.f = ParticleEffect.ParticleEffect('RockShower') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -15.0), 1.0, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(8) self.p0.setBirthRate(0.5) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(-5.0) self.p0.factory.setLifespanBase(3.0) self.p0.factory.setLifespanSpread(0.0) self.p0.factory.setMassBase(0.45000000000000001) self.p0.factory.setMassSpread(0.10000000000000001) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor( Vec4(0.29999999999999999, 0.20000000000000001, 0, 1)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.02 * self.cardScale) self.p0.renderer.setFinalXScale(0.040000000000000001 * self.cardScale) self.p0.renderer.setInitialYScale(0.02 * self.cardScale) self.p0.renderer.setFinalYScale(0.040000000000000001 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 25.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0)) self.p0.emitter.setRadius(0.20000000000000001) self.p0.emitter.setOuterAngle(45.0) self.p0.emitter.setInnerAngle(0.0) self.p0.emitter.setOuterMagnitude(5.0) self.p0.emitter.setInnerMagnitude(0.0) self.p0.emitter.setCubicLerping(0)
def __init__(self, parent = None): PooledEffect.__init__(self) EffectController.__init__(self) self.effectScale = 1.0 if parent is not None: self.reparentTo(parent) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleBlackSmoke') if not FeastSmoke.particleDummy: FeastSmoke.particleDummy = base.effectsRoot.attachNewNode(ModelNode('FeastSmokeParticleDummy')) FeastSmoke.particleDummy.setDepthWrite(0) FeastSmoke.particleDummy.setColorScaleOff() FeastSmoke.particleDummy.setLightOff() self.f = ParticleEffect.ParticleEffect('HeavySmoke') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) self.p0.setPoolSize(96) self.p0.setBirthRate(1.5) self.p0.setLitterSize(2) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(0.0) self.p0.factory.setLifespanBase(25.0) self.p0.factory.setLifespanSpread(5.0) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.20000000000000001) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(30.0) self.p0.factory.enableAngularVelocity(0) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(0.80000000000000004) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(1.5 * self.cardScale) self.p0.renderer.setInitialYScale(1.5 * self.cardScale) self.p0.renderer.setFinalXScale(6.0 * self.cardScale) self.p0.renderer.setFinalYScale(6.0 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM) self.p0.emitter.setAmplitude(6.0) self.p0.emitter.setAmplitudeSpread(2.0) self.p0.emitter.setOffsetForce(Vec3(4.0, 4.0, 75.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0)) self.p0.emitter.setRadius(10.0)
def __init__(self, type=None): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleDarkSmoke') if not VoodooProjectile.particleDummy: VoodooProjectile.particleDummy = render.attachNewNode( ModelNode('VoodooProjectileParticleDummy')) VoodooProjectile.particleDummy.setDepthWrite(0) VoodooProjectile.particleDummy.setLightOff() VoodooProjectile.particleDummy.setColorScaleOff() VoodooProjectile.particleDummy.setFogOff() self.effectColor = Vec4(0.5, 0.2, 1, 1) self.f = ParticleEffect.ParticleEffect('VoodooProjectile') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) self.motion_color = [ Vec4(0.5, 0.2, 1.0, 1.0), Vec4(0.5, 0.2, 1.0, 1.0), Vec4(0.5, 0.2, 1.0, 1.0), Vec4(0.5, 0.2, 1.0, 1.0), Vec4(0.5, 0.2, 1.0, 1.0) ] r = 0.2 vertex_list = [ Vec4(r, 0.0, r, 1.0), Vec4(r, 0.0, -r, 1.0), Vec4(-r, 0.0, -r, 1.0), Vec4(-r, 0.0, r, 1.0), Vec4(r, 0.0, r, 1.0) ] self.motion_trail = PolyTrail.PolyTrail(None, vertex_list, self.motion_color) self.motion_trail.reparentTo(self) self.motion_trail.node().setAttrib( ColorBlendAttrib.make(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne)) self.p0.setPoolSize(256) self.p0.setBirthRate(0.01) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(0.5) self.p0.factory.setLifespanSpread(0.15) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(90.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setFinalAngle(1080.0) self.p0.factory.setFinalAngleSpread(0.0) self.p0.factory.setAngularVelocity(500.0) self.p0.factory.setAngularVelocitySpread(100.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.01 * self.cardScale) self.p0.renderer.setInitialYScale(0.01 * self.cardScale) self.p0.renderer.setFinalXScale(0.025 * self.cardScale) self.p0.renderer.setFinalYScale(0.025 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(1.0, 1.0, 1.0, 1.0), Vec4(0.5, 0.2, 1.0, 0.25), 1) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(-0.25) self.p0.emitter.setAmplitudeSpread(0.25) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -2.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(0.1) return
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleGlowBlue') self.faceCard = model.find('**/effectFury') self.faceCard.reparentTo(self) self.faceCard.setDepthWrite(0) self.faceCard.setLightOff() self.faceCard.setColorScale(0.0, 0.0, 0.0, 1.0) self.faceCard.setBillboardPointEye(3.0) self.faceCard.setScale(5.0) self.faceCard.setBin('fixed', 10) if not FuryTrail.particleDummy: FuryTrail.particleDummy = render.attachNewNode( ModelNode('FuryTrailParticleDummy')) FuryTrail.particleDummy.setDepthWrite(0) FuryTrail.particleDummy.setLightOff() FuryTrail.particleDummy.setBin('fixed', 0) self.f = ParticleEffect.ParticleEffect('FuryTrail') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('noise') force0 = LinearNoiseForce(1.5, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(32) self.p0.setBirthRate(0.01) self.p0.setLitterSize(1) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(0.29999999999999999) self.p0.factory.setLifespanSpread(0.0) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.20000000000000001) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(0) self.p0.renderer.setInitialXScale(0.13 * self.cardScale) self.p0.renderer.setInitialYScale(0.13 * self.cardScale) self.p0.renderer.setFinalXScale(0.050000000000000003 * self.cardScale) self.p0.renderer.setFinalYScale(0.050000000000000003 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(-2.0) self.p0.emitter.setAmplitudeSpread(0.5) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 10.0)) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(1.0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleSmoke') self.spriteScale = 1.0 if not SmokeExplosion.particleDummy: SmokeExplosion.particleDummy = render.attachNewNode( ModelNode('SmokeExplosionParticleDummy')) SmokeExplosion.particleDummy.setDepthWrite(0) SmokeExplosion.particleDummy.setColorScaleOff() self.f = ParticleEffect.ParticleEffect('SmokeExplosion') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereVolumeEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -20.0), 1.0, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(64) self.p0.setBirthRate(0.3) self.p0.setLitterSize(6) self.p0.setLitterSpread(2) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(-10.0) self.p0.factory.setLifespanBase(1.5) self.p0.factory.setLifespanSpread(0.5) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.5) self.p0.factory.setTerminalVelocityBase(1000.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(30.0) self.p0.factory.enableAngularVelocity(0) self.p0.factory.setAngularVelocity(5.0) self.p0.factory.setAngularVelocitySpread(1.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(0.25) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.075 * self.spriteScale * self.cardScale) self.p0.renderer.setFinalXScale(0.25 * self.spriteScale * self.cardScale) self.p0.renderer.setInitialYScale(0.075 * self.spriteScale * self.cardScale) self.p0.renderer.setFinalYScale(0.25 * self.spriteScale * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.5) self.p0.emitter.setAmplitudeSpread(0.5) self.p0.emitter.setOffsetForce(Vec3(1.0, 1.0, 30.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 1.0)) self.p0.emitter.setRadius(10.0)
def __init__(self, effectParent=None): PooledEffect.__init__(self) EffectController.__init__(self) if effectParent: self.reparentTo(effectParent) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleFire2') if not self.burningSfx: self.burningSfx = loadSfx(SoundGlobals.SFX_WEAPON_GRENADE_FIREBOMB) if not MysticFire.particleDummy: MysticFire.particleDummy = render.attachNewNode( ModelNode('FireParticleDummy')) MysticFire.particleDummy.setDepthWrite(0) MysticFire.particleDummy.setFogOff() MysticFire.particleDummy.setLightOff() MysticFire.particleDummy.setColorScaleOff() MysticFire.particleDummy.setBin('fixed', 60) self.duration = 4.0 self.effectScale = 1.0 self.f = ParticleEffect.ParticleEffect('MysticFire') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('ZSpinParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('DiscEmitter') self.f.addParticles(self.p0) self.p0.setPoolSize(64) self.p0.setBirthRate(0.01) self.p0.setLitterSize(3) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.setFloorZ(-1.0) self.p0.factory.setLifespanBase(0.75) self.p0.factory.setLifespanSpread(0.25) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.factory.setInitialAngle(0.0) self.p0.factory.setInitialAngleSpread(360.0) self.p0.factory.enableAngularVelocity(1) self.p0.factory.setAngularVelocity(0.0) self.p0.factory.setAngularVelocitySpread(350.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1.0, 1.0, 1.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(0.75, 0.84999999999999998, 0.29999999999999999, 1.0), Vec4(0.40000000000000002, 0.84999999999999998, 0.29999999999999999, 0.5), 1) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(-1) self.p0.emitter.setAmplitudeSpread(0.25) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 15.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(1.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
def loadValues(v, p): p0 = Particles.Particles('particles-1') #const. # Particles parameters p0.setFactory("PointParticleFactory") #const. p0.setRenderer("SpriteParticleRenderer") #const. p0.setEmitter(v["emiter"]) p0.setPoolSize(v["pool"]) p0.setBirthRate(v["birthRate"]) p0.setLitterSize(v["litter"]) p0.setLitterSpread(v["litterSpread"]) p0.setLocalVelocityFlag(1) #const. p0.setSystemGrowsOlderFlag(0) #const. # Factory parameters p0.factory.setLifespanBase(v["life"]) p0.factory.setLifespanSpread(v["lifeSpread"]) p0.factory.setMassBase(v["mass"]) p0.factory.setMassSpread(v["massSpread"]) p0.factory.setTerminalVelocityBase(100.0000) #has no effect? p0.factory.setTerminalVelocitySpread(0.0000) #has no effect? # Renderer parameters #p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAIN) #p0.renderer.setUserAlpha(1.00) # Sprite parameters p0.renderer.addTextureFromFile( '../partices/smoke1.png') #some default must be added or it bugs out p0.renderer.setColor(Vec4(1.00, 1.00, 1.00, 1.00)) p0.renderer.setXScaleFlag(0) p0.renderer.setYScaleFlag(0) p0.renderer.setAnimAngleFlag(0) p0.renderer.setNonanimatedTheta(180.0000) #? p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PRALPHANONE) p0.renderer.setAlphaDisable(0) p0.renderer.setColorBlendMode( ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOneMinusIncomingAlpha) #TODO! p0.renderer.getColorInterpolationManager().addLinear( 0.0, 1.0, Vec4(0.0, 0.0, 0.0, 1.0), Vec4(1.0, 1.0, 1.0, 1.0), True) # Emitter parameters p0.emitter.setEmissionType(v["mode"]) p0.emitter.setAmplitude(v["amplitude"]) p0.emitter.setAmplitudeSpread(v["amplitudeSpread"]) p0.emitter.setOffsetForce( Vec3(v["offsetForce"][0], v["offsetForce"][1], v["offsetForce"][2])) p0.emitter.setExplicitLaunchVector(Vec3(0.0000, 0.0000, 0.0000)) p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, 0.0000)) if v['emiter'] == 'BoxEmitter': p0.emitter.setMaxBound(Point3(v['max'][0], v['max'][1], v['max'][2])) p0.emitter.setMinBound(Point3(v['min'][0], v['min'][1], v['min'][2])) elif v['emiter'] == 'DiscEmitter': p0.emitter.setRadius(v["radius"]) p0.emitter.setInnerAngle(v["innerAngle"]) p0.emitter.setInnerMagnitude(v["innerMagnitude"]) p0.emitter.setOuterAngle(v["outerAngle"]) p0.emitter.setOuterMagnitude(v["outerMagnitude"]) elif v['emiter'] == 'LineEmitter': p0.emitter.setEndpoint1(Point3(v['max'][0], v['max'][1], v['max'][2])) p0.emitter.setEndpoint2(Point3(v['min'][0], v['min'][1], v['min'][2])) elif v['emiter'] == 'PointEmitter': pass #no options here elif v['emiter'] == 'RectangleEmitter': p0.emitter.setMaxBound(Point3(v['max'][0], v['max'][1], v['max'][2])) p0.emitter.setMinBound(Point3(v['min'][0], v['min'][1], v['min'][2])) elif v['emiter'] == 'RingEmitter': p0.emitter.setAngle(v["angle"]) p0.emitter.setRadius(v["radius"]) p0.emitter.setRadiusSpread(v["radiusSpread"]) elif v['emiter'] == 'SphereSurfaceEmitter': p0.emitter.setRadius(v["radius"]) elif v['emiter'] == 'SphereVolumeEmitter': p0.emitter.setRadius(v["radius"]) elif v['emiter'] == 'TangentRingEmitter': p0.emitter.setRadius(v["radius"]) p0.emitter.setRadiusSpread(v["radiusSpread"]) self.p.addParticles(p0) f0 = ForceGroup.ForceGroup('default') # Force parameters if v["forceVector"][3] > 0.0: force0 = LinearVectorForce( Vec3(v["forceVector"][0], v["forceVector"][1], v["forceVector"][2]), v["forceVector"][3], v["forceVector"][4]) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) if v["forceJitter"][1] > 0: force1 = LinearJitterForce(v["forceJitter"][0], v["forceJitter"][1]) force1.setVectorMasks(1, 1, 1) force1.setActive(1) f0.addForce(force1) if v["forceSink"][5] > 0: force2 = LinearSinkForce( Point3(v["forceSink"][0], v["forceSink"][1], v["forceSink"][2]), v["forceSink"][3], v["forceSink"][4], v["forceSink"][5], v["forceSink"][6]) force2.setVectorMasks(1, 1, 1) force2.setActive(1) f0.addForce(force2) if v["forceSource"][5] > 0: force3 = LinearSourceForce( Point3(v["forceSource"][0], v["forceSource"][1], v["forceSource"][2]), v["forceSource"][3], v["forceSource"][4], v["forceSource"][5], v["forceSource"][6]) force3.setVectorMasks(1, 1, 1) force3.setActive(1) f0.addForce(force3) if v["forceVertex"][3] > 0: force4 = LinearCylinderVortexForce(v["forceSource"][0], v["forceSource"][1], v["forceSource"][2], v["forceSource"][3], v["forceSource"][4]) force4.setVectorMasks(1, 1, 1) force4.setActive(1) f0.addForce(force4) p.addForceGroup(f0)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleGroundFog') if not FartEffect.particleDummy: FartEffect.particleDummy = render.attachNewNode(ModelNode('FartEffectParticleDummy')) FartEffect.particleDummy.setDepthWrite(0) FartEffect.particleDummy.setFogOff() FartEffect.particleDummy.setLightOff() FartEffect.particleDummy.setColorScaleOff() FartEffect.particleDummy.setTwoSided(1) self.icon = loader.loadModel('models/effects/skull') self.icon.setBillboardAxis(0.0) self.icon.setDepthWrite(0) self.icon.setFogOff() self.icon.setLightOff() self.icon.setColorScaleOff() self.icon.reparentTo(self) self.icon.setPos(self, 0, 0, -0.29999999999999999) self.icon.setBin('fixed', 65) self.icon.hide(OTPRender.ShadowCameraBitmask) self.f = ParticleEffect.ParticleEffect('FartEffect') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereSurfaceEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, 0.5), 1.0, 0) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) force1 = LinearJitterForce(1.0, 0) force1.setVectorMasks(1, 1, 1) force1.setActive(1) f0.addForce(force1) self.f.addForceGroup(f0) self.p0.setPoolSize(128) self.p0.setBirthRate(0.20000000000000001) self.p0.setLitterSize(5) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(0) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(5.0) self.p0.factory.setLifespanSpread(0.10000000000000001) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(0.20000000000000001) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(0.0, 1.0, 0.0, 1.0)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(1) self.p0.renderer.setInitialXScale(0.001 * self.cardScale) self.p0.renderer.setInitialYScale(0.001 * self.cardScale) self.p0.renderer.setFinalXScale(0.02 * self.cardScale) self.p0.renderer.setFinalYScale(0.02 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND) self.p0.renderer.setAlphaDisable(0) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(1.0) self.p0.emitter.setAmplitudeSpread(0.0) self.p0.emitter.setOffsetForce(Vec3(0.0, -1.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(0.25)
def __init__(self): PooledEffect.__init__(self) EffectController.__init__(self) model = loader.loadModel('models/effects/particleMaps') self.card = model.find('**/particleSpark') if not HealPotion.particleDummy: HealPotion.particleDummy = render.attachNewNode( ModelNode('HealPotionParticleDummy')) HealPotion.particleDummy.setDepthWrite(0) HealPotion.particleDummy.setLightOff() HealPotion.particleDummy.setFogOff() HealPotion.particleDummy.setColorScaleOff() self.effectColor = Vec4(1, 1, 1, 1) self.f = ParticleEffect.ParticleEffect('HealSparks') self.f.reparentTo(self) self.p0 = Particles.Particles('particles-1') self.p0.setFactory('PointParticleFactory') self.p0.setRenderer('SpriteParticleRenderer') self.p0.setEmitter('SphereVolumeEmitter') self.f.addParticles(self.p0) f0 = ForceGroup.ForceGroup('Gravity') force0 = LinearVectorForce(Vec3(0.0, 0.0, -10.0), 1.0, 0) force0.setVectorMasks(1, 1, 1) force0.setActive(1) f0.addForce(force0) self.f.addForceGroup(f0) self.p0.setPoolSize(32) self.p0.setBirthRate(0.01) self.p0.setLitterSize(2) self.p0.setLitterSpread(0) self.p0.setSystemLifespan(0.0) self.p0.setLocalVelocityFlag(1) self.p0.setSystemGrowsOlderFlag(0) self.p0.factory.setLifespanBase(0.80000000000000004) self.p0.factory.setLifespanSpread(0.10000000000000001) self.p0.factory.setMassBase(1.0) self.p0.factory.setMassSpread(0.0) self.p0.factory.setTerminalVelocityBase(400.0) self.p0.factory.setTerminalVelocitySpread(0.0) self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) self.p0.renderer.setUserAlpha(1.0) self.p0.renderer.setFromNode(self.card) self.p0.renderer.setColor(Vec4(1, 1, 1, 1)) self.p0.renderer.setXScaleFlag(1) self.p0.renderer.setYScaleFlag(1) self.p0.renderer.setAnimAngleFlag(0) self.p0.renderer.setInitialXScale(0.002 * self.cardScale) self.p0.renderer.setFinalXScale(0.0030000000000000001 * self.cardScale) self.p0.renderer.setInitialYScale(0.002 * self.cardScale) self.p0.renderer.setFinalYScale(0.0040000000000000001 * self.cardScale) self.p0.renderer.setNonanimatedTheta(0.0) self.p0.renderer.setAlphaBlendMethod( BaseParticleRenderer.PPBLENDLINEAR) self.p0.renderer.setAlphaDisable(0) self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne) self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE) self.p0.emitter.setAmplitude(0.0) self.p0.emitter.setAmplitudeSpread(0.5) self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setExplicitLaunchVector(Vec3(0.0, 0.0, 0.0)) self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0)) self.p0.emitter.setRadius(0.10000000000000001)