particles.setMaximumAngle(45 * MathUtils.DEG_TO_RAD);
particles.getParticleController().setControlFlow(false);
particles.setParticlesInWorldCoords(true);
// Start color is RED, opaque
particles.setStartColor(new ColorRGBA(1, 0, 0, 1));
particles.setStartSize(2.5);
// At 25% life, let's have the color be WHITE, opaque
final RampEntry entry25 = new RampEntry(.25);
entry25.setColor(new ColorRGBA(1, 1, 1, 1));
particles.getRamp().addEntry(entry25);
// At 50% life, (25% higher than previous) let's have the color be RED, opaque and twice as big.
// Note that at 25% life the size will be about 3.75 since we did not set a size on that.
final RampEntry entry50 = new RampEntry(.25);
entry50.setColor(new ColorRGBA(1, 0, 0, 1));
entry50.setSize(5);
particles.getRamp().addEntry(entry50);
// At 75% life, (25% higher than previous) let's have the color be WHITE, opaque
final RampEntry entry75 = new RampEntry(.25);
entry75.setColor(new ColorRGBA(1, 1, 1, 1));
particles.getRamp().addEntry(entry75);
// End color is BLUE, opaque (size is back to 2.5 now.
particles.setEndColor(new ColorRGBA(0, 0, 1, 1));
particles.setEndSize(2.5);
particles.warmUp(60);
final BlendState blend = new BlendState();