Example #1
0
def shootFireworkRing(x, y, z, color1, color2, amp):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    # Particles parameters
    p0.setFactory("PointParticleFactory")
    p0.setRenderer("SparkleParticleRenderer")
    p0.setEmitter("RingEmitter")
    p0.setPoolSize(100)
    p0.setBirthRate(0.01)
    p0.setLitterSize(100)
    p0.setLitterSpread(0)
    # Factory parameters
    p0.factory.setLifespanBase(1.5000)
    p0.factory.setLifespanSpread(0.5000)
    p0.factory.setMassBase(1.0000)
    p0.factory.setMassSpread(0.0000)
    p0.factory.setTerminalVelocityBase(20.0000)
    p0.factory.setTerminalVelocitySpread(2.0000)
    # Point factory parameters
    # Renderer parameters
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
    p0.renderer.setUserAlpha(1.00)
    p0.renderer.setCenterColor(color1)
    p0.renderer.setEdgeColor(color2)
    p0.renderer.setBirthRadius(0.300)
    p0.renderer.setDeathRadius(0.300)
    p0.renderer.setLifeScale(SparkleParticleRenderer.SPNOSCALE)
    # Emitter parameters
    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitude(0)
    p0.emitter.setAmplitudeSpread(0)
    f0 = ForceGroup.ForceGroup('gravity')
    force0 = LinearSourceForce(Point3(x,y,z),
                               LinearDistanceForce.FTONEOVERR,
                               0.1, 1.1 * amp, 1)
    force0.setActive(1)
    f0.addForce(force0)
    force1 = LinearSinkForce(Point3(x, y, z),
                             LinearDistanceForce.FTONEOVERR,
                             0.5, 2.0 * amp, 1)
    force1.setActive(1)
    f0.addForce(force1)
    f.addForceGroup(f0)
    # Ring parameters
    p0.emitter.setRadius(4.0000)
    f.addParticles(p0)
    f.setPos(x, y, z)
    # f.setHpr(0, 45, 45)
    f.setHpr(0,random.random()*180,random.random()*180)
    sfx = loader.loadSfx("phase_4/audio/sfx/firework_distance_03.mp3")
    t = Sequence(
        Func(f.start, render, render),
        Func(sfx.play),
        Wait(0.5),
        Func(p0.setBirthRate, 3),
        Wait(1.5),
        Func(f.cleanup),
        name = getNextSequenceName("shootFireworkRing"),
        )
    t.start()
Example #2
0
def shootFireworkCircleGeneric(x, y, z, color1, color2, amp, poolSize):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    # Particles parameters
    p0.setFactory("PointParticleFactory")
    p0.setRenderer("SparkleParticleRenderer")
    p0.setEmitter("SphereVolumeEmitter")
    p0.setPoolSize(poolSize)
    p0.setBirthRate(0.01)
    p0.setLitterSize(poolSize)
    # Factory parameters
    p0.factory.setLifespanBase(2.0000)
    p0.factory.setLifespanSpread(0.5000)
    p0.factory.setTerminalVelocityBase(400.0000)
    p0.factory.setTerminalVelocitySpread(40.0000)
    # Point factory parameters
    # Renderer parameters
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
    p0.renderer.setUserAlpha(1.00)
    # Sparkle parameters
    p0.renderer.setCenterColor(color1)
    p0.renderer.setEdgeColor(color1)
    p0.renderer.setBirthRadius(0.4)
    p0.renderer.setDeathRadius(0.6)
    p0.renderer.setLifeScale(SparkleParticleRenderer.SPSCALE)
    # Emitter parameters
    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitudeSpread(0.1000)
    p0.emitter.setAmplitude(amp)
    p0.emitter.setRadius(0.1000)
    f.addParticles(p0)
    circleForceGroup = ForceGroup.ForceGroup('gravity')
    force1 = LinearSinkForce(Point3(x, y, z - 100),
                             LinearDistanceForce.FTONEOVERRSQUARED,
                             2.000, 0.300 * 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.mp3",
                             "phase_4/audio/sfx/firework_explosion_02.mp3",
                             "phase_4/audio/sfx/firework_explosion_03.mp3",
                             ))
    sfx = loader.loadSfx(sfxName)
    # fadeColor = Vec4(color1[0] * 0.5, color1[1] * 0.5, color1[2] * 0.5, 1)
    t = Sequence(
        Func(f.start, render, render),
        Func(sfx.play),
        #Sequence(LerpColorScaleInterval(base.cr.playGame.hood.loader.geom, 2, Vec4(0.2,0.2,0.2,1), fadeColor),
        #        duration=0),
        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()
Example #3
0
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleFlameSmoke')
        self.speed = 20.0
        if not ExplosionCloud.particleDummy:
            ExplosionCloud.particleDummy = render.attachNewNode(
                ModelNode('ExplosionCloudParticleDummy'))
            ExplosionCloud.particleDummy.setDepthWrite(0)
            ExplosionCloud.particleDummy.setLightOff()
            ExplosionCloud.particleDummy.setColorScaleOff()
            ExplosionCloud.particleDummy.setFogOff()

        self.f = ParticleEffect.ParticleEffect('ExplosionCloud')
        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('Noise')
        force0 = LinearNoiseForce(0.5, 0)
        force0.setVectorMasks(1, 1, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
def gearExplosionSmall(self):
    self.reset()
    self.setPos(0.000, 0.000, 4.600)
    self.setHpr(0.000, 0.000, 0.000)
    self.setScale(1.000, 1.000, 1.000)
    p0 = Particles.Particles('particles-1')

    p0.setFactory("PointParticleFactory")
    p0.setRenderer("SpriteParticleRenderer")
    p0.setEmitter("SphereVolumeEmitter")
    p0.setPoolSize(6)
    p0.setBirthRate(0.4000)
    p0.setLitterSize(2)
    p0.setLitterSpread(1)
    p0.setSystemLifespan(0.0000)
    p0.setLocalVelocityFlag(1)
    p0.setSystemGrowsOlderFlag(0)

    p0.factory.setLifespanBase(1.5000)
    p0.factory.setLifespanSpread(0.0000)
    p0.factory.setMassBase(1.0000)
    p0.factory.setMassSpread(0.0000)
    p0.factory.setTerminalVelocityBase(400.0000)
    p0.factory.setTerminalVelocitySpread(0.0000)

    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
    p0.renderer.setUserAlpha(1.00)

    p0.renderer.setIgnoreScale(1)
    p0.renderer.setTextureFromNode("phase_3.5/models/props/suit-particles",
                                   "**/gear")
    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.setInitialXScale(0.112)
    p0.renderer.setFinalXScale(0.112)
    p0.renderer.setInitialYScale(0.112)
    p0.renderer.setFinalYScale(0.112)
    p0.renderer.setNonanimatedTheta(0.0000)
    p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR)
    p0.renderer.setAlphaDisable(0)

    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitude(9.0000)
    p0.emitter.setAmplitudeSpread(0.0000)
    p0.emitter.setOffsetForce(Vec3(0.0000, 0.0000, 9.0000))
    p0.emitter.setExplicitLaunchVector(Vec3(1.0000, 0.0000, 0.0000))
    p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, -2.0000))

    p0.emitter.setRadius(3.2282)
    self.addParticles(p0)
    f0 = ForceGroup.ForceGroup('forces')

    force0 = LinearSinkForce(Point3(0.0000, 0.0000, -79.0000),
                             LinearDistanceForce.FTONEOVERRSQUARED, 15.9701,
                             95.0100, 1)
    force0.setActive(1)
    f0.addForce(force0)
    self.addForceGroup(f0)
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleGreenBlood')
        if not self.splashSfx:
            for audio in self.SfxNames:
                self.splashSfx.append(loadSfx(audio))

        if not GreenBlood.particleDummy:
            GreenBlood.particleDummy = render.attachNewNode(
                ModelNode('GreenBloodParticleDummy'))
            GreenBlood.particleDummy.setDepthWrite(0)
        self.f = ParticleEffect.ParticleEffect('GreenBlood')
        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, -20.0), 1.0, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
Example #6
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.04)
     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.1, 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)
Example #7
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)
Example #8
0
    def __init__(self):
        NodePath.__init__(self, 'Fireflies')
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleGlow')
        if not Fireflies.particleDummy:
            Fireflies.particleDummy = render.attachNewNode(
                ModelNode('FirefliesParticleDummy'))
            Fireflies.particleDummy.setDepthWrite(0)
            Fireflies.particleDummy.setFogOff()
            Fireflies.particleDummy.setColorScale(1.0, 1.0, 1.0, 1)
            Fireflies.particleDummy.setLightOff()
            Fireflies.particleDummy.setBin('fixed', 120)

        self.f = ParticleEffect.ParticleEffect('Fireflies')
        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('Noise')
        force0 = LinearNoiseForce(0.10000000000000001, 0)
        force0.setVectorMasks(1, 1, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
Example #9
0
 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)
Example #10
0
 def __init__(self, effectParent=None):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     self.effectScale = 1.0
     model = loader.loadModel('models/effects/particleCards')
     self.card = model.find('**/particleSparkle')
     if not FireSparks.particleDummy:
         FireSparks.particleDummy = base.effectsRoot.attachNewNode(ModelNode('FireSparksParticleDummy'))
         FireSparks.particleDummy.setColorScaleOff()
         FireSparks.particleDummy.setDepthWrite(0)
         FireSparks.particleDummy.setLightOff()
         FireSparks.particleDummy.setBin('fixed', 70)
     self.f = ParticleEffect.ParticleEffect('FireSparks')
     self.f.reparentTo(self)
     self.p0 = Particles.Particles('particles-sparks')
     self.p0.setFactory('PointParticleFactory')
     self.p0.setRenderer('SpriteParticleRenderer')
     self.p0.setEmitter('DiscEmitter')
     self.f.addParticles(self.p0)
     f0 = ForceGroup.ForceGroup('Noise')
     self.noiseForce = LinearNoiseForce(10.0, 10.0)
     self.noiseForce.setVectorMasks(1, 1, 1)
     self.noiseForce.setActive(0)
     f0.addForce(self.noiseForce)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(64)
     self.p0.setBirthRate(0.2)
     self.p0.setLitterSize(12)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(1.0)
     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.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(1.0, 0.6, 0.2, 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.setInitialYScale(0.008 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.016 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.016 * self.cardScale)
     self.p0.renderer.setNonanimatedTheta(0.0)
     self.p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPNOBLEND)
     self.p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne)
     self.p0.renderer.setAlphaDisable(0)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETCUSTOM)
     self.p0.emitter.setAmplitude(3.0)
     self.p0.emitter.setAmplitudeSpread(3.0)
     self.p0.emitter.setOffsetForce(Vec3(2.0, 2.0, 20.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(5.0)
Example #11
0
def shootFireworkRocket(x, y, z, color1, color2, amp):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    # Particles parameters
    p0.setFactory("PointParticleFactory")
    p0.setRenderer("SparkleParticleRenderer")
    p0.setEmitter("SphereVolumeEmitter")
    p0.setPoolSize(110)
    p0.setBirthRate(0.01)
    p0.setLitterSize(2)
    p0.setLitterSpread(0)
    # Factory parameters
    p0.factory.setLifespanBase(0.4000)
    p0.factory.setLifespanSpread(0.1000)
    p0.factory.setMassBase(1.0000)
    p0.factory.setMassSpread(0.0000)
    p0.factory.setTerminalVelocityBase(400.0000)
    p0.factory.setTerminalVelocitySpread(0.0000)
    # Point factory parameters
    # Renderer parameters
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
    p0.renderer.setUserAlpha(1.00)
    # Sparkle parameters
    p0.renderer.setCenterColor(color1)
    p0.renderer.setEdgeColor(color2)
    p0.renderer.setBirthRadius(0.600)
    p0.renderer.setDeathRadius(0.600)
    p0.renderer.setLifeScale(SparkleParticleRenderer.SPNOSCALE)
    # Emitter parameters
    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitude(amp)
    p0.emitter.setAmplitudeSpread(0.0000)
    # Sphere Volume parameters
    p0.emitter.setRadius(0.3)
    f.addParticles(p0)
    gravityForceGroup = ForceGroup.ForceGroup('gravity')
    # Force parameters
    force0 = LinearVectorForce(Vec3(0.0000, 0.0000, -10.0000), 1.0000, 0)
    force0.setActive(1)
    gravityForceGroup.addForce(force0)
    f.addForceGroup(gravityForceGroup)
    f.setPos(x, y, z)
    sfxName = random.choice((
        "phase_4/audio/sfx/firework_whistle_01.mp3",
        "phase_4/audio/sfx/firework_whistle_02.mp3",
    ))
    sfx = loader.loadSfx(sfxName)
    t = Sequence(
        Func(f.start, render, render),
        Func(sfx.play),
        LerpPosInterval(f,
                        2.0,
                        Vec3(x, y, z + (20 * amp)),
                        blendType="easeInOut"),
        Func(p0.setBirthRate, 3),
        Wait(0.5),
        Func(f.cleanup),
        name=getNextSequenceName("shootFirework"),
    )
    t.start()
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleRockShower')
        if not self.splashSfx:
            for audio in self.SfxNames:
                self.splashSfx.append(loadSfx(audio))

        if not ShipSplintersA.particleDummy:
            ShipSplintersA.particleDummy = render.attachNewNode(
                ModelNode('ShipSplintersAParticleDummy'))
            ShipSplintersA.particleDummy.setDepthWrite(0)
        self.f = ParticleEffect.ParticleEffect('ShipSplintersA')
        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, -30.0), 1.0, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(16)
        self.p0.setBirthRate(0.4)
        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(2.0)
        self.p0.factory.setLifespanSpread(0.5)
        self.p0.factory.setMassBase(0.45)
        self.p0.factory.setMassSpread(0.2)
        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.3, 0.2, 0, 1))
        self.p0.renderer.setXScaleFlag(1)
        self.p0.renderer.setYScaleFlag(1)
        self.p0.renderer.setAnimAngleFlag(1)
        self.p0.renderer.setInitialXScale(0.035 * self.cardScale)
        self.p0.renderer.setFinalXScale(0.06 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.035 * self.cardScale)
        self.p0.renderer.setFinalYScale(0.06 * 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(8.0)
        self.p0.emitter.setAmplitudeSpread(4.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(8.0)
Example #13
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     self.setColorScaleOff()
     self.startCol = Vec4(0.5, 0.5, 0.5, 1)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleDot')
     if not PistolFlame.particleDummy:
         PistolFlame.particleDummy = render.attachNewNode(ModelNode('FireParticleDummy'))
         PistolFlame.particleDummy.setDepthWrite(0)
         PistolFlame.particleDummy.node().setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne))
         PistolFlame.particleDummy.setFogOff()
     self.flash = loader.loadModel('models/effects/lanternGlow')
     self.flash.node().setAttrib(ColorBlendAttrib.make(ColorBlendAttrib.MAdd, ColorBlendAttrib.OIncomingAlpha, ColorBlendAttrib.OOne))
     self.flash.setDepthWrite(0)
     self.flash.setFogOff()
     self.flash.setColorScale(self.startCol)
     self.flash.setBillboardPointEye(0.2)
     self.flash.setBin('fixed', 120)
     self.flash.setScale(25)
     self.flash.reparentTo(self)
     self.flash.hide()
     self.f = ParticleEffect.ParticleEffect('PistolFlame')
     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('frict')
     force0 = LinearFrictionForce(1.0, 10.0, 1.0)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
Example #14
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleSmoke')
     self.speed = 20.0
     self.radius = 7.0
     self.spriteScale = 1.0
     if not SmokePillar.particleDummy:
         SmokePillar.particleDummy = render.attachNewNode(
             ModelNode('SmokePillarParticleDummy'))
         SmokePillar.particleDummy.setDepthWrite(0)
         SmokePillar.particleDummy.setLightOff()
     self.f = ParticleEffect.ParticleEffect('SmokePillar')
     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, -40.0), 1.0, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
Example #15
0
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.mp3', 'phase_4/audio/sfx/firework_explosion_02.mp3', 'phase_4/audio/sfx/firework_explosion_03.mp3'))
    sfx = loader.loadSfx(sfxName)
    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 jargonSpray(self):
    self.reset()
    self.setPos(0.000, 3.000, 4.000)
    self.setHpr(0.000, 0.000, 0.000)
    self.setScale(1.000, 1.000, 1.000)
    p0 = Particles.Particles('particles-1')

    p0.setFactory("PointParticleFactory")
    p0.setRenderer("SpriteParticleRenderer")
    p0.setEmitter("LineEmitter")
    p0.setPoolSize(4)
    p0.setBirthRate(0.200)
    p0.setLitterSize(1)
    p0.setLitterSpread(0)
    p0.setSystemLifespan(0.0000)
    p0.setLocalVelocityFlag(1)
    p0.setSystemGrowsOlderFlag(0)

    p0.factory.setLifespanBase(1.0000)
    p0.factory.setLifespanSpread(0.2000)
    p0.factory.setMassBase(1.0000)
    p0.factory.setMassSpread(0.0000)
    p0.factory.setTerminalVelocityBase(400.0000)
    p0.factory.setTerminalVelocitySpread(0.0000)

    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
    p0.renderer.setUserAlpha(1.00)

    p0.renderer.setIgnoreScale(1)
    p0.renderer.setTextureFromNode("phase_3.5/models/props/suit-particles",
                                   "**/jargon-brow")
    p0.renderer.setColor(Vec4(1.00, 1.00, 1.00, 1.00))
    p0.renderer.setXScaleFlag(1)
    p0.renderer.setYScaleFlag(1)
    p0.renderer.setAnimAngleFlag(0)
    p0.renderer.setInitialXScale(0.40)
    p0.renderer.setFinalXScale(1.60)
    p0.renderer.setInitialYScale(0.10)
    p0.renderer.setFinalYScale(0.40)
    p0.renderer.setNonanimatedTheta(0.0000)
    p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR)
    p0.renderer.setAlphaDisable(0)

    p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
    p0.emitter.setAmplitude(5.0000)
    p0.emitter.setAmplitudeSpread(0.0000)
    p0.emitter.setOffsetForce(Vec3(0.0000, 4.0000, 0.0000))
    p0.emitter.setExplicitLaunchVector(Vec3(1.0000, 0.0000, 0.0000))
    p0.emitter.setRadiateOrigin(Point3(0.0000, -9.0000, 0.0000))

    p0.emitter.setEndpoint1(Point3(0.0000, 0.0000, 0.0000))
    p0.emitter.setEndpoint2(Point3(0.0000, 0.0000, 0.0000))
    self.addParticles(p0)
    f0 = ForceGroup.ForceGroup('forces')

    force0 = LinearJitterForce(2.1279, 0)
    force0.setActive(1)
    f0.addForce(force0)
    self.addForceGroup(f0)
    def __init__(self):
        PooledEffect.__init__(self)
        EffectController.__init__(self)
        model = loader.loadModel('models/effects/particleMaps')
        self.card = model.find('**/particleSmoke')
        if not DustRing.particleDummy:
            DustRing.particleDummy = render.attachNewNode(
                ModelNode('DustRingParticleDummy'))
            DustRing.particleDummy.setDepthWrite(0)
            DustRing.particleDummy.setLightOff()

        self.f = ParticleEffect.ParticleEffect('DustRing')
        self.f.reparentTo(self)
        self.p0 = Particles.Particles('particles-1')
        self.p0.setFactory('PointParticleFactory')
        self.p0.setRenderer('SpriteParticleRenderer')
        self.p0.setEmitter('RingEmitter')
        self.f.addParticles(self.p0)
        f0 = ForceGroup.ForceGroup('gravity')
        force0 = LinearVectorForce(Vec3(0.0, 0.0, -5.0), 1.0, 1)
        force0.setActive(1)
        f0.addForce(force0)
        self.f.addForceGroup(f0)
        self.p0.setPoolSize(64)
        self.p0.setLitterSize(4)
        self.p0.setLitterSpread(1)
        self.p0.setSystemLifespan(0.0)
        self.p0.setLocalVelocityFlag(1)
        self.p0.setSystemGrowsOlderFlag(0)
        self.p0.factory.setLifespanBase(1.8)
        self.p0.factory.setLifespanSpread(0.5)
        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(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.050000000000000003 *
                                          self.cardScale)
        self.p0.renderer.setFinalXScale(0.20000000000000001 * self.cardScale)
        self.p0.renderer.setInitialYScale(0.050000000000000003 *
                                          self.cardScale)
        self.p0.renderer.setFinalYScale(0.20000000000000001 * 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(20.0)
        self.p0.emitter.setAmplitudeSpread(0.0)
        self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, 2.0))
        self.p0.emitter.setExplicitLaunchVector(Vec3(5.0, 0.0, 0.0))
        self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 10.0))
        self.p0.emitter.setRadius(2.0)
Example #18
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.08 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.08 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.04 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.04 * 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.3))
     self.p0.emitter.setExplicitLaunchVector(Vec3(0.2, 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)
     if not DarkAura.particleDummy:
         DarkAura.particleDummy = render.attachNewNode(ModelNode('DarkAuraParticleDummy'))
         DarkAura.particleDummy.setDepthWrite(0)
         DarkAura.particleDummy.setFogOff()
         DarkAura.particleDummy.setBin('fixed', 120)
     
     model = loader.loadModel('models/effects/darkglow')
     self.card = model.find('**/effectDarkGlow2')
     self.f = ParticleEffect.ParticleEffect('DarkAura')
     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('Noise')
     force0 = LinearNoiseForce(0.10000000000000001, 0)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(32)
     self.p0.setBirthRate(0.20000000000000001)
     self.p0.setLitterSize(3)
     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.0)
     self.p0.factory.setMassBase(1.0)
     self.p0.factory.setMassSpread(0.80000000000000004)
     self.p0.factory.setTerminalVelocityBase(400.0)
     self.p0.factory.setTerminalVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
     self.p0.renderer.setUserAlpha(0.29999999999999999)
     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.01 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.001 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.01 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.001 * 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.OIncomingColor, ColorBlendAttrib.OOneMinusIncomingAlpha)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitude(0.20000000000000001)
     self.p0.emitter.setAmplitudeSpread(0.10000000000000001)
     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.80000000000000004)
Example #20
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleSpark')
     self.speed = 20.0
     self.setDepthWrite(0)
     self.setLightOff()
     self.f = ParticleEffect.ParticleEffect('HealBlast')
     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('vortexForce')
     force0 = LinearCylinderVortexForce(10.0, 10.0, 0.5, 2.25, 0)
     force0.setVectorMasks(1, 1, 0)
     force0.setActive(1)
     f0.addForce(force0)
     self.p0.setPoolSize(64)
     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(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.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT)
     self.p0.renderer.setUserAlpha(1.0)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setColor(Vec4(0.29999999999999999, 1, 1, 0.5))
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(0)
     self.p0.renderer.setInitialXScale(0.01 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.0050000000000000001 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.01 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.0050000000000000001 * 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(8.5)
     self.p0.emitter.setAmplitudeSpread(0)
     self.p0.emitter.setOffsetForce(Vec3(0.0, 0.0, -6.5))
     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(2.0)
Example #21
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     self.card = loader.loadModel('phase_4/models/props/icecream')
     self.cardScale = 18.0
     self.setDepthWrite(0)
     self.setColorScaleOff()
     self.setLightOff()
     self.effectScale = 1.0
     self.effectColor = Vec4(1, 1, 1, 1)
     self.f = ParticleEffect.ParticleEffect('IceCream')
     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, -0.25), 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.04)
     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(3.25)
     self.p0.factory.setLifespanSpread(1.0)
     self.p0.factory.setMassBase(0.5)
     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(100.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(2)
     self.p0.renderer.setYScaleFlag(2)
     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.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)
Example #22
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleGlow')
     self.blueCard = model.find('**/particleGlowBlue')
     self.darkCard = model.find('**/effectDarkGlow')
     self.particleDummy = render.attachNewNode(
         ModelNode('SparkBurstParticleDummy'))
     self.particleDummy.setDepthWrite(0)
     self.particleDummy.setLightOff()
     self.particleDummy.setFogOff()
     self.particleDummy.setColorScaleOff()
     self.effectColor = Vec4(1, 1, 1, 1)
     self.f = ParticleEffect.ParticleEffect('SparkBurst')
     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('Noise')
     self.f.addForceGroup(f0)
     self.p0.setPoolSize(32)
     self.p0.setBirthRate(0.02)
     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(0.3)
     self.p0.factory.setLifespanSpread(0.2)
     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.8)
     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(1)
     self.p0.renderer.setColorBlendMode(
         ColorBlendAttrib.MAdd, ColorBlendAttrib.OOne,
         ColorBlendAttrib.OOneMinusIncomingAlpha)
     self.p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     self.p0.emitter.setAmplitudeSpread(4.0)
     self.p0.emitter.setOffsetForce(Vec3(1.0, 1.0, -0.1))
     self.p0.emitter.setExplicitLaunchVector(Vec3(0.1, 0.0, 100.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(0.5)
Example #23
0
 def __init__(self, name='particles-1'):
     self.node = ParticleEffect()
     self.p0 = Particles.Particles(name)
     self.p0.setFactory('PointParticleFactory')
     self.p0.setRenderer('PointParticleRenderer')
     self.p0.setLocalVelocityFlag(1)
     self.p0.setSystemGrowsOlderFlag(0)
     self.f0 = ForceGroup.ForceGroup('default')
     self.birth_set = False
     self.emitter_set = False
     self.force = {}
Example #24
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleRockShower')
     self.effectScale = 1.0
     self.setDepthWrite(0)
     self.setLightOff()
     self.setColorScaleOff()
     self.f = ParticleEffect.ParticleEffect('GroundDirt')
     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.f0 = ForceGroup.ForceGroup('Grav')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -10.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(3)
     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.5)
     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(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(0)
     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, 0.0, 10.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.5)
Example #25
0
 def __init__(self, parent, renderParent):
     # Initialize the superclass
     NodePath.__init__(self)
     self.renderParent = renderParent.attachNewNode("bubbleRenderParent")
     self.renderParent.setBin("fixed", 0)
     # Create a container node to hold ripple sequences
     self.assign(parent.attachNewNode('bubbles'))
     self.effect = ParticleEffect.ParticleEffect()
     p0 = Particles.Particles('particles-1')
     # Particles parameters
     p0.setFactory("PointParticleFactory")
     p0.setRenderer("SpriteParticleRenderer")
     p0.setEmitter("DiscEmitter")
     p0.setPoolSize(8)
     p0.setBirthRate(0.75)
     p0.setLitterSize(2)
     p0.setLitterSpread(1)
     # Factory parameters
     p0.factory.setLifespanBase(2.0)
     p0.factory.setLifespanSpread(0.5)
     p0.factory.setTerminalVelocityBase(400.0000)
     p0.factory.setTerminalVelocitySpread(40.0000)
     # Point factory parameters
     # Renderer parameters
     p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
     p0.renderer.setUserAlpha(1.00)
     # Sparkle parameters
     p0.renderer.setTextureFromNode('phase_4/models/char/bubble', '**/*')
     p0.renderer.setXScaleFlag(1)
     p0.renderer.setYScaleFlag(1)
     p0.renderer.setInitialXScale(0.07)
     p0.renderer.setFinalXScale(0.20)
     p0.renderer.setInitialYScale(0.07)
     p0.renderer.setFinalYScale(0.20)
     # p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR)
     # p0.renderer.setAlphaDisable(0)
     # Emitter parameters
     p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
     p0.emitter.setAmplitudeSpread(0.025)
     p0.emitter.setAmplitude(0.1)
     p0.emitter.setRadius(0.5000)
     gravityForceGroup = ForceGroup.ForceGroup('air')
     # Force parameters
     force0 = LinearVectorForce(Vec3(0.0, 0.0, 1.0), 1.0, 0)
     force0.setActive(1)
     force1 = LinearJitterForce(2.5, 0)
     force1.setActive(1)
     gravityForceGroup.addForce(force0)
     gravityForceGroup.addForce(force1)
     self.effect.addForceGroup(gravityForceGroup)
     self.effect.addParticles(p0)
     self.effect.setPos(0, 0, 0)
Example #26
0
 def setParticleOptions(self):
     if self.f0 != None:
         self.f.removeForceGroup(self.f0)
     self.f0 = ForceGroup.ForceGroup('gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, -50.0), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     self.f0.addForce(force0)
     force1 = LinearJitterForce(15.0, 0)
     force1.setVectorMasks(1, 1, 1)
     force1.setActive(1)
     self.f0.addForce(force1)
     self.f.addForceGroup(self.f0)
     self.p0.setPoolSize(150)
     self.p0.setBirthRate(0.05)
     self.p0.setLitterSize(8)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(0.0)
     self.p0.setLocalVelocityFlag(0)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(0.4)
     self.p0.factory.setLifespanSpread(0.05)
     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(20.0)
     self.p0.factory.enableAngularVelocity(1)
     self.p0.factory.setAngularVelocity(0.0)
     self.p0.factory.setAngularVelocitySpread(0.0)
     self.p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
     self.p0.renderer.setUserAlpha(0.25)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     self.p0.renderer.setInitialXScale(0.00035 * self.cardScale)
     self.p0.renderer.setInitialYScale(0.00035 * self.cardScale)
     self.p0.renderer.setFinalXScale(0.004 * self.cardScale)
     self.p0.renderer.setFinalYScale(0.004 * 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, 0.0, -6.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.125)
     return
Example #27
0
def shootFireworkCircleSprite(x, y, z, color, texture, amp):
    f = ParticleEffect.ParticleEffect()
    p0 = Particles.Particles('particles-1')
    p0.setFactory('PointParticleFactory')
    p0.setRenderer('SpriteParticleRenderer')
    p0.setEmitter('SphereVolumeEmitter')
    p0.setPoolSize(100)
    p0.setBirthRate(0.01)
    p0.setLitterSize(100)
    p0.factory.setLifespanBase(2.0)
    p0.factory.setLifespanSpread(0.5)
    p0.factory.setTerminalVelocityBase(400.0)
    p0.factory.setTerminalVelocitySpread(40.0)
    p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAUSER)
    p0.renderer.setUserAlpha(1.0)
    p0.renderer.setFromNode(texture)
    p0.renderer.setColor(color)
    p0.renderer.setXScaleFlag(1)
    p0.renderer.setYScaleFlag(1)
    p0.renderer.setInitialXScale(0.12)
    p0.renderer.setFinalXScale(0.48)
    p0.renderer.setInitialYScale(0.12)
    p0.renderer.setFinalYScale(0.48)
    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(2.0),
                 Func(f.cleanup),
                 name=getNextSequenceName('shootFireworkSprite'))
    t.start()
 def setParticleOptions(self):
     self.p0.setEmitter('SphereSurfaceEmitter')
     if self.f0 != None:
         self.f.removeForceGroup(self.f0)
     self.f0 = ForceGroup.ForceGroup('gravity')
     force0 = LinearVectorForce(Vec3(0.0, 0.0, 1.5), 1.0, 0)
     force0.setVectorMasks(1, 1, 1)
     force0.setActive(1)
     self.f0.addForce(force0)
     force1 = LinearJitterForce(0.5, 0)
     force1.setVectorMasks(0, 0, 1)
     force1.setActive(1)
     self.f0.addForce(force1)
     self.f.addForceGroup(self.f0)
     self.p0.setPoolSize(128)
     self.p0.setBirthRate(5.0)
     self.p0.setLitterSize(12)
     self.p0.setLitterSpread(0)
     self.p0.setSystemLifespan(5.0)
     self.p0.setLocalVelocityFlag(0)
     self.p0.setSystemGrowsOlderFlag(0)
     self.p0.factory.setLifespanBase(7.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(0.25)
     self.p0.renderer.setFromNode(self.card)
     self.p0.renderer.setXScaleFlag(1)
     self.p0.renderer.setYScaleFlag(1)
     self.p0.renderer.setAnimAngleFlag(1)
     bubbleSize = 0.001
     self.p0.renderer.setInitialXScale(bubbleSize * self.cardScale)
     self.p0.renderer.setInitialYScale(bubbleSize * self.cardScale)
     self.p0.renderer.setFinalXScale(bubbleSize * self.cardScale)
     self.p0.renderer.setFinalYScale(bubbleSize * 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(1.0, 0.0, -4.0))
     self.p0.emitter.setRadiateOrigin(Point3(0.0, 0.0, 0.0))
     self.p0.emitter.setRadius(0.25)
     return
Example #29
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleGunSmoke')
     self.setDepthWrite(0)
     self.f = ParticleEffect.ParticleEffect('MusketSmoke')
     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('frict')
     force0 = LinearFrictionForce(1.0, 25.0, 1)
     force0.setActive(1)
     f0.addForce(force0)
     self.f.addForceGroup(f0)
Example #30
0
 def __init__(self):
     PooledEffect.__init__(self)
     EffectController.__init__(self)
     model = loader.loadModel('models/effects/particleMaps')
     self.card = model.find('**/particleEvilSmoke')
     if not VoodooFire.particleDummy:
         VoodooFire.particleDummy = render.attachNewNode(ModelNode('VoodooFireParticleDummy'))
         VoodooFire.particleDummy.setDepthWrite(0)
         VoodooFire.particleDummy.setLightOff()
         VoodooFire.particleDummy.setColorScaleOff()
         VoodooFire.particleDummy.setFogOff()
     self.f = ParticleEffect.ParticleEffect('VoodooFire')
     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('Noise')
     self.f.addForceGroup(f0)