Dec 3, 2020.Knowledge
What are some best use case practices to ensure Niagara is running optimally?
- Ideally you keep the number of emitters small. In many cases you can use significantly fewer emitters than Cascade using multiple renderers and spawn groups. In most cases Niagara can span TickGroups automatically, so blocking the game thread is minimal. You should endeavor to let Niagara components kick off as early as possible in the frame and not end up in the last TickGroup.
Is there a way to generate or trigger audio from Niagara?
- This is supported as of 4.26. We have included an example system in the Niagara map in the content examples project, which uses the Play Audio module. The underlying Niagara node is Play Audio at Location which uses an Audio Player data interface. For Generic blueprint events triggered from Niagara see the Niagara Export Particle Data knowledge base article.
Can you ignore parent rotations for an emitter?
- If you are in world space for your emitter, you have complete control over what happens to your system. You can use the provided Engine Owner Position parameter to get the parent component’s position, without rotation. If a module doesn’t quite meet your needs, you can always create an alternate version that does. Local space emitters will by definition inherit their parent component’s transforms.
I want to use multiple collections, maybe for different regions, or different kinds of states. Is there a way to do this?
- You can have parameters from multiple collections in a single system, so yes. You can use Array dynamic inputs to define a set of values to pull from. We allow specifying the index with the Direct Array Sampling Mode, so you could use an integer like Spawn Group to have different values for different regions. This approach can be adapted for similar cases like states.