Niagara large scale dust emitter


I want to make a large scale particle effect, a close analogue would be dust motes or other particulate matter in an open world game, evenly(ish) distributed and ubiquitous. My game is top-down, twin-stickish, so the problem only really needs to be solved in 2D. I’ve considered a few options:

  1. The simple (and bad) solution would be to make a gigantic particle system, but that would require millions (billions?) of particles to be active at any one point.

  2. Lock a much smaller particle system to the camera that extends past its frustum. This is much better, especially when spawning the particles into world space, problem is that at higher speeds you can see the particles spawning into an empty field, unless you make the system really big, but then we are just entering the millions of particles scenario again.

  3. Multiple particle systems that relocate and pre-warm as they leave the frustum, this is more reasonable, but seems there is no simple way to tell the if the bounds of an actor are no longer in the camera’s frustum in Blueprint (please correct me if I’m wrong!), and besides this feels like an overly complex solution.

  4. S-GRADE SOLUTION - the locked to camera solution but - it’s smaller, and particles outside the frustum are aged randomly so we don’t always have fresh particles in the system as the camera is moving, this way we can keep our particle count reasonable (<10k) and our system won’t seem to be always empty. BONUS POINTS: only spawn a particle once it has died or it has left the frustum.

If there is another better solution than 3, 4 that would be great, 1, 2 seem untenable (unless I’m missing something).