Keeping outside/inside particle emitters rendering in there own areas

Keeping outside/inside particle emitters rendering in there own areas.
This is a tutorial on how to make a manager/controller that enables/disables particle emitters based on weather they are strictly for outside/inside.

The blueprint works like this:

    1. The triggers get a custom event bound to the on overlap event.
    1. The actor that overlaps one of the triggers will have its type compared to a list of types that will enable/disable the emitters.
    1. The outside emitters are disabled when the actor overlaps the inside trigger while the inside emitters are enabled, Or vice-versa.

Here is the function that enables/disables the emitters:

This ensures that only the actor types that you specify will enable/disable the emitters:

We bind a custom event to the triggers so that the emitters can be disabled/enabled when the player enters them:

The my blueprint window:
My Blueprint window.png
Variable types:

  • ⦁ The inside/outside emitters are an array of the “Emitter” type
  • ⦁ Inside/outside triggers are an array of the “Trigger volume” type
  • ⦁ Allowed actor types is an array of the actor class type(you will need to specify the exact type here or it will not work, Derived types are ignored if they are not explicitly listed)

Usage:
You need to place this in the level.
Then, You need to add the triggers, emitters, and class types to the arrays in the actors properties window.

Here is a link to the uasset.

I could do with some more practice writing documents like this :slight_smile:
Comments are welcome.

So I got it working but is there a way to have snow thats attached to my camera affect the triggers because right now I have lots of particle systems in my level and its slowing down my editor. I tried to attatch a particle system to my camera but when I went to search for it in the details panel of the emitter, nothing showed up

Can you post a screen shot of where it is supposed to show up?
If this is part of the blueprint: You should be able to create a reference to it in the level blueprint and use that to add it to the list.
You can get a reference to the camera via two ways:
(If it is already in the level) open the level blueprint->right click and there should be a entry at the top of the window with the name along the lines of “create reference to”->drag out the pin and find the emitter->Create a reference to the emitter controller->Drag the emitter controllers pin out and look for a node that will add the cameras child emitter to the outside emitters list.

(if it spawns) You will have to use the node called “Get all actors of class” to find your camera(you can use the “get” node with a index of “0” if there will only be one camera actor->Then it is almost the same as the other method.

HTH

Can you post a screenshot of how to do all of this, I got the reference to the camera but I dont know what to do next. Here is what I have so far

Does the “ArchVis-Controller” have a emitter component as a child?

I do not think so, and by child do you mean a particle system attached to the camera?

Yes, You can look at this for a reference.

How have you created the archviz camera?
If it is a blueprint you can then just use the output node( the small circle) from the reference you made in the level blueprint to access the emitter, Then it is just adding that emitter to the list in the emitter controller.

You can go though here if you are having trouble with blueprints, They will probably convey the basics better then I can (Or even just beginner blueprint tutorials).

HTH