How to randomly spawn Niagara Systems on a surface

Hello everyone, i’ve been trying to reach an effect but I’m kinda stuck.

My question is, if there is a way to randomly spawn a niagara system (in this case it’s just a simple sparks’ burst) over a surface. I was trying to do it inside niagara but I didn’t get anything, since the spawn modules are evaluated per particle, and what I want to do is to spawn an entire Niagara System over a surface and not only singles particles.

I was thinking doing it inside a blueprint, using the line trace node and randomnly spawn those traces, so when the trace hits, the Niagara System spawns over the surface, which I have it already inside the blueprint as well, but I’m not sure if this is the best approach.

Thanks in advance :slight_smile:

Hey! Not sure if I fully understand. Do you mean spawning particles on a mesh surface like here? UE5 l Dash Trail Particle Effect With Niagara l VFX Tutorial l Unreal Engine 5 - YouTube

I think they mean an entire system with multiple emitters

1 Like

oh ok, that actually makes sense when I read again.
Then probably blueprint is the way

Sorry for the misunderstanding. Yes! I meant the entire system. Any ideas on how to approach using blueprints?

hmm I would probably approach it similiarly to you as I can’t find better solution right now, but maybe someone will know a trick for that.

What you can do is: read the static mesh in niagara and then spawn source partices (emitter 1) on it randomly.
Then add an event in niagara (which firers when spawning source particle), which triggers another emitter (emiter 2, your sparks). ‘Location Event’ is what you are looking for in this case.

You can also do it with blueprints and line traces, as you had suggested initially. You would need to evalute the performance cost of each of those methods. My gut feeling teels me line traces in BP might be sligtly more expensive. The costs will be on the CPU for both these methods, as only CPU emitters in niagara can have events. Collision traces in blueprint are also cost on the CPU.

1 Like

Yeah, that kinda worked as intended. Thanks for the help guys :slight_smile: