Well, I am having fun with the particles, but I can’t figure out, how I could make them static, so they would be spawned with: emitAllParticles() and then never die. Ok I could put immensely big number in setLowLife and setHighLife, but instead I tried putting 0 instead and particles just seems to be frozen afterwards and cannot be killed anymore with killAllParticles().
Another thing, how would I spawn or kill only one particle? Found out in the code that this method is private, would it be good to make it public?
Or am I making strange things here and should I use quads with billboard controls for such stuff??
I find the jme particle system too restrictive, no setPosition( Particle);, or Particle.kill();, no way to store custom user data on each particle. You even have to handle all the particles with the same way instead applying a specific formula on each particle.
Its good for rapid prototyping, but you cant go low level to provide a better effect.
ParticleInfluencer might help you, method influenceParticle allows you to influence a particle (with the same way).
Yes the particle system isn’t very extensible at the moment. Its designed for simplicity and speed however it should be possible to add additional features. One way to freeze all particles is by using ParticleEmitter.setEnabled(false), you should then be able to use killAllParticles().
Ok I have additional question about that: I have run lots of explosions and can’t figure out what is the difference in having shader uniform PointSprite enabled or disabled. When should I use it?
according to the wiki:
PointSprite - Enables point-sprite mode, so meshes with "Mode.Points" will be rendered as textured sprites. Note that gl_PointCoord must be set in the shader. Point sprites are used for hardware accelerated particle effects.