Listing 1
ParticleEmitter pe = new ParticleEmitter(
new PointGenerationShape(Math.PI/4),
400, // emission rate
50, // emission rate variance
8.5f, // velocity
2, // velocity variance
3, // lifetime
1, // lifetime variance
1500 // emitter lifetime);
pe.addInfluence(new FadePoint());
particleSystem = new PointParticleSystem(pe, new Color3f(0,1,0));
// Adding the particle system to the scene not shown here
// Add a behavior to manage the particle system animation
ParticleSystemManager manager = ParticleSystemManager.getCurrent();
manager.setSchedulingBounds(bounds);
objRoot.addChild(manager);
Listing 2
float rate = (float) Math.PI/2;
Vector3f particleRotationRate = new Vector3f(rate, rate, rate);
Vector3f particleRotationRateVariance =
new Vector3f(rate/2, rate/3, rate/4);
ParticleEmitter pe = new ParticleEmitter(
new DiskGenerationShape((float)Math.PI/8, 2.5f, 1.5f),
4.3f, // emission rate
1.2f, // emission rate variance
22f, // velocity
7f, // velocity variance
particleRotationRate,
particleRotationRateVariance,
7.5f, // lifetime
1.5f, // lifetime variance
100 // emitter lifetime in seconds
);
pe.addInfluence(new Gravity());
pe.addInfluence(new BounceShape());
IShape3DFactory factory = new ColorCubeFactory();
Shape3DParticleSystem particleSystem =
new Shape3DParticleSystem(pe, factory);