The Niagara Particle System
This is based on
Unreal Academy 2019
the VFX and Particle Systems - Niagara section.
Niagara was still in "early access" when the video was produced.
Why the change from Cascade to Niagara
Cascade is somewhat inflexible.
Programming knowledge required.
The engine has moved to industries beyond games so they wanted more flexibility
Good performance
Good debugging tools
Better data visualization
Arbitrary data sources.
Also introduces Data Sharing
Every phase of the system in exposed.
Organized by namespace
A namespace contains everything.
An organizational unit.
Is hierarchical
Emitter, Particle, ...
A parameter map provides interaction with the Namespace
This carries all of the attributes around the system.
A collection of data
Data is arbitrary
Anything can be shipped.
Modules -> emitters -> systems.
Engineers develop code in Modules (graph logic)
Modules are built
Change data values
Think functions.
Graph
Emitters are containers for modules
Combining these creates the behavior you want.
Are combined into a system.
He calls this a stack.
Systems are stacks with a sequencer timeline
In a module
Get a field from the input map modify the field add this field to a new map and output it.
These can be written in blueprint.
Or even in shader language.
Emitters
Modules can be emitter wide
On particles as they spawn
Or on particles as they "move"
Or render modules.