Particle System Multiple Emitters

I’m working on a scene where I need multiple of the same particle emitted from different places each frame (e.g. missile exhaust or explosion particles)

My initial test was to just clone a particle system for each object and dispose of them as they are no longer needed but I can’t help but feel this won’t scale well. Is there a way to have a system batch a bunch of emitters together? I was thinking of trying to implement a SPS that handles all the particles of a similar type but since they are simple billboard quads anyways it seems a bit overkill.

Let’s see what @Deltakosh can tell about this.

You are actually doing what is required. The system will make sure to reuse shaders so you are all good

The materials will be reused but each ParticleSystem causes it’s own draw call. Is there a way to batch clones into one draw call without customization?

unfortunately no

Is there a way to force a ParticleSystem to emit a bunch of particles right away? I’ve tried manualEmitCount but that is handled later on during the update method.

I’m thinking I could just move the emitter to each active location in a frame and manually emit the particles. This would keep it all under one draw call.

in this case why not simply providing your own startPosition function?

You can then decide where to spawn the particle

https://doc.babylonjs.com/how_to/customise#custom-functions