Problem ParticleEmitter

Hi,

I’m trying to do an explosion effect with a ParticleEmitter but i have some problems.

First when a attach the effect in the rootnode, the first time there is a lag, i’ve tried to preload it but i don’t see any difference.

Secondly while the effect running my screen flash, any idea?

This is the code i use to create the ParticleEmitter :

    Material mat_red = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md");
    mat_red.setBoolean("PointSprite", false);
    mat_red.setTexture("Texture", assetManager.loadTexture("Effects/Explosion/flame.png"));

    fireEffect = new ParticleEmitter("FireEmitter", ParticleMesh.Type.Triangle, 30);
    fireEffect.setSelectRandomImage(true);
    fireEffect.setStartColor(new ColorRGBA(1f, 1f, 0f, 1));
    fireEffect.setEndColor(new ColorRGBA(1f, 0f, 0f, 1));
    fireEffect.setStartSize(startSize);
    fireEffect.setEndSize(endSize);
    fireEffect.setParticlesPerSec(0);
    fireEffect.setGravity(0, 0, 0);
    fireEffect.setLowLife(1);
    fireEffect.setHighLife(1);
    fireEffect.getParticleInfluencer().setInitialVelocity(new Vector3f(0, 0, -1f));
    fireEffect.getParticleInfluencer().setVelocityVariation(0.3f);
    fireEffect.setImagesX(1);
    fireEffect.setImagesY(1);
    fireEffect.setLocalTranslation(positionEffect);
    fireEffect.emitAllParticles();
    fireEffect.setMaterial(mat_red);

Thanks

Do it works in the PC ?
You are emitting all particles at once, its right ?

It works perfectly on my pc and each particle are launched each in turn. This particle is used to make an explosion effect over a short period of time (like when i click on a bomb).

EDIT : I add

    ParticleEmitter fire = explosionEffect.createEffect(new Vector3f(0, 0 , 0), 0.5f, 1f);
    renderManager.preloadScene(fire);

in simpleInitApp and this is fix both problems

1 Like