The PopcornFX gem takes advantage of the O3DE bus system.
For a better understanding of how buses are working in O3DE, you can take a look at their documentation here.
This allow users to easily interact with the PopcornFX runtime through simple events either using C++ code or scripting interfaces.
We can distinguish different types of buses that pretty much have the same features:
- The “component” buses, where you can broadcast events or connect to events through an entity id, meaning that those buses need a PopcornFX emitter component attached to this entity
- The “standalone” buses, where the event broadcast takes an handle to a standalone emitter as a parametter. This avoids creating entities and components for each spawned emitter.
For each one of those 2 categories, you will have the buses that you will send events to (we call those the “Requests” buses) and the buses on which you can connect to receive events (the “Events” buses).
In this section, we will describe the different buses implemented by the gem and how to use those in the script canvas component.