How to prevent particle in niagara system spawn in world location

I have a small, football field sized level, where i want to spawn Niagara fire system. But there are small areas where it would make much sense, like small puddles of water and so on. How would I prevent spawning particles in Niagara system in specific world locations. I was thinking about a simple texture with painted areas to use as a map of sorts, but cannot figure out how to actually block particles from spawning. Could anyone please help me? Be it my texture idea or any other method.
Thank you.

While there are some programmatical rejrction logics to achieve your goal, most real time particle effects generally don’t bother with it.

Instead they spawn the particle and relocate the particle in the given area (a rectangle in your case), either randomly or evenly. Then calculate the 2D particle position relative to its particle system origin, and normalize it, which effectively serves as the UV for sampling the mask/rejection texture. Finally “kill” the particle if the sampled pixel of the texture is either above or below certain threshold (e.g. 0.5) of the target channel.

One problem I can see with this approach is if you’re using GPU simulation for your particles, you will need to set a pretty big bounding box to avoid the effect goes off when the camera is too far away from the effect actor center. Niagara’s Data Channel could be a potential solution if you really don’t want to place all the fire effects manually in your level.

I too generally agree with what @ifurkend is mentioning, but could be overkill for such a small area and the degree of difficultly isn’t for beginners.

Here are a few videos that go over the concept of using things like Texture Masks or Render Targets that can help you in making a choice.

1: TharleVFX goes into details about spawning with texture conditions.

2: Chirs Zuko Shows how to write to render targets and how that can affect niagara systems.

Thank you! Both replies combined helped me to get the effect i was after. Again, thank you.