self.reset() self.setPos(0.000, 0.000, 0.000) self.setHpr(0.000, 0.000, 0.000) self.setScale(1.000, 1.000, 1.000) p0 = Particles.Particles('particles-1') # Particles parameters p0.setFactory("ZSpinParticleFactory") p0.setRenderer("SpriteParticleRenderer") p0.setEmitter("PointEmitter") p0.setPoolSize(1024) p0.setBirthRate(0.0750) p0.setLitterSize(7) p0.setLitterSpread(2) p0.setSystemLifespan(0.0000) p0.setLocalVelocityFlag(1) p0.setSystemGrowsOlderFlag(0) # Factory parameters p0.factory.setLifespanBase(0.1750) 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) # Z Spin factory parameters p0.factory.enableAngularVelocity(1) p0.factory.setInitialAngle(0.0000) p0.factory.setInitialAngleSpread(45.0000) p0.factory.setFinalAngle(0.0000) p0.factory.setFinalAngleSpread(0.0000) p0.factory.setAngularVelocity(0.0000) p0.factory.setAngularVelocitySpread(90.0000) # Renderer parameters p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAOUT) p0.renderer.setUserAlpha(0.50) # Sprite parameters p0.renderer.setColor(Vec4(1.00, 1.00, 1.00, 1.00)) p0.renderer.setXScaleFlag(1) p0.renderer.setYScaleFlag(1) p0.renderer.setAnimAngleFlag(1) p0.renderer.setInitialXScale(0.375) p0.renderer.setFinalXScale(0.750) p0.renderer.setInitialYScale(0.375) p0.renderer.setFinalYScale(0.750) p0.renderer.setNonanimatedTheta(0.0000) p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR) p0.renderer.setAlphaDisable(0) #p0.renderer.setColorBlendMode(ColorBlendAttrib.MAdd,ColorBlendAttrib.OIncomingAlpha,ColorBlendAttrib.OOneMinusIncomingAlpha) # Emitter parameters p0.emitter.setEmissionType(BaseParticleEmitter.ETEXPLICIT) p0.emitter.setAmplitude(1.0000) p0.emitter.setAmplitudeSpread(0.0000) p0.emitter.setOffsetForce(Vec3(0.0000, 0.0000, 0.0000)) p0.emitter.setExplicitLaunchVector(Vec3(0.0000, 0.0000, 0.0000)) p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, 0.0000)) # Sphere Volume parameters p0.emitter.setLocation(Point3(0.0000,0.0000,0.0000)) self.addParticles(p0) f0 = ForceGroup.ForceGroup('Smoke') # Force parameters force0 = LinearVectorForce(Vec3(1.0000, 0.0000, 0.0000), 0.0000, 0) force0.setActive(1) f0.addForce(force0) force1 = LinearVectorForce(Vec3(0.0000, -1.0000, 0.0000), 100.0000, 0) force1.setActive(1) f0.addForce(force1) force2 = LinearVectorForce(Vec3(0.0000, 0.0000, 1.0000), 50.0000, 0) force2.setActive(1) f0.addForce(force2) force4 = LinearJitterForce(100.0000, 0) force4.setActive(1) f0.addForce(force4) self.addForceGroup(f0)