Questions about particles

Hello,
I have some difficulties to understand how particles work.
I’d like to define the shape of an imported model with particles, that slightly move.
https://playground.babylonjs.com/#N775HF#15
The overall effect is actually not so bad but I have problems to improve it, because:

  1. I should have a lot more particles, to better define the shape, but can’t increase the total amount on particles.
    No matter the EmitRate number I set (actually is 50000 !), them look alway the same.
    I understand that new particles are created when the previous die, so I’ve played with minLifeTime and maxLifeTime, but it does not change.
    Is there a maximum limit?

  2. When the particles are created there’s a lag before new particles are created, and it’s not so nice to see.
    Why?

  3. I did some test with different models, and the behaviour of the particles change a lot from model to model.
    I think that the emitPower is someway related to the scale of the mesh.
    Is it? How?

Many thanks for your help!!

1 Like

Hey there, for 1. you can change the maximum amount of particles by changing the second parameter of the ParticleSystem constructor. Here I changed it from 2k to 10k.
https://playground.babylonjs.com/#N775HF#17

For 2. you can use the preWarmCycles property to specify how many times to update the particle system before rendering it, that way it starts out with lots of particles already created.
https://playground.babylonjs.com/#N775HF#18

IDK about 3. but maybe having a greater capacity will help here too. :slightly_smiling_face:

1 Like

Thanks a lot Blake,
I feel so stupid I didn’t look at the constructor parameters of the particleSystem…
But, now I’ve increased the capacity from 10k to 50k (just for testing purposes) and it does not seem to change.
Am I missing something else?

1 Like

After changing the capacity from 10k to 50k, I also changed the maxLifeTime from 0.2 to 1 and then the increased particle capacity can been seen. I think before the system wasn’t using all 10k particles available to it anyway so increasing the capacity further didn’t have any effect. :slightly_smiling_face:
https://playground.babylonjs.com/#N775HF#19

1 Like

Wow, a lot of particles!
But now with maxLifeTime = 1 the shape of the model is not recognizible anymore.
I have some troubles to understand the relationship between rate/lifeTime…
P.S. (lifeTime what does refer to? not seconds for sure)
Maybe, is there a way to have the particles create more “quickly”, so to have more particles in less time?

1 Like

The units of minLifeTime and maxLifeTime is updateSpeed (which gets scaled by the scene’s animation ratio before being added to each particle’s age). The particle’s actual lifetime (its max age) is set to a random value between minLifeTime and maxLifeTime. I got that from checking the source but the documentation for particle systems is helpful too if you haven’t found it yet. :slightly_smiling_face:

Maybe increasing the emitRate could help for the last question - that causes some distortion too but I think it’s a matter of fine tuning the settings through experimentation. :thinking:
https://playground.babylonjs.com/#N775HF#20

2 Likes