예제 #1
0
 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)
예제 #3
0
    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)
예제 #4
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.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()
예제 #5
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)
예제 #6
0
 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)
예제 #7
0
 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)
예제 #8
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)
예제 #10
0
    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)
예제 #11
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)
예제 #12
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))
예제 #14
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)
예제 #15
0
 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)
예제 #16
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)
예제 #17
0
 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)
예제 #18
0
 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)
예제 #19
0
    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)
예제 #20
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)
예제 #21
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
예제 #25
0
    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)
예제 #26
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)
예제 #27
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))
예제 #28
0
파일: vfx_loader.py 프로젝트: wezu/koparka
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)
예제 #29
0
 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)
예제 #30
0
    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)