Dec 7, 2021.Knowledge
Article written by Austin C.
When using particle effects within the context of cinematics, it is often desirable to control their timing from a level sequence, especially when determinism is required. In the past with Cascade, particle systems only had a toggle track that would allow you to activate and deactivate a particle effect, but not control the playback timing from the sequence. Now with Niagara, simulations have more granular control of their timing, and we are able to advance the simulation’s age directly from the sequence.
We provide the Niagara System Life Cycle Track as a means of controlling this timing through the sequence. These can be added to a Niagara Component that is tracked in a level sequence.
By default it will activate the system during the length of the section, and set the system to inactive at the end, and its timing will use the tick delta time.
You can change these settings in the section’s properties, which can be accessed by right-clicking on the section.
Section Start Behavior cannot be changed but the rest can, and have the following options:
Section Evaluate Behavior
- Activate if Inactive: Within the range of the section, if the system is inactive it will be activated, which will ensure the system is activated throughout the time span of the section. Useful for scrubbing, if you jump past the beginning of the section.
- None: Frames evaluated past the first frame of the section will not activate the system.
Section End Behavior
- Set System Inactive: Stops the spawning of new particles, but lets existing ones continue simulating until they die naturally.
- Deactivate: Stops the system, and kills existing particles immediately.
- None: The system will continue as normal.
Age Update Mode
- Tick Delta Time: Uses the time provided to the tick function to determine the system’s age. The sequence will not control the timing with this option.
- Desired Age: Updates the age by seeking to the timing determined by the sequence. Scrubbing previews as expected.
- Desired Age No Seek: Similar to Desired Age, but large jumps, or simulating backwards will reset the system, so scrubbing in the timeline may not preview as expected.
For a more in depth look at the behavior of each, you can reference UNiagaraComponent::TickComponent.
As of 4.27, Desired Age and Desired Age No Seek support subframe advancements, which is useful for using the Movie Render Queue’s temporal subsampling feature. In the past Desired Age would lock advancement steps to the sequence’s frame rate, preventing the simulation from advancing during each frame’s subsamples. Locking the simulation to each frame of the sequence provided determinism, as its timing would be the same during each playback, but the Movie Render Queue already locks engine time to the sequence during a render, making this restriction no longer necessary.