Version: 4.26, 中文
Created: 2021-02-24, Updated: 2021-03-25
Author: Cyanhall
👉  Cyanhall@GitHub Star me if it’s helpful.
1. Preparation This is the effect we are going to make in this tutorial.

Note: The main content of this tutorial comes from the Content Examples that come with Unreal Engine

Tip: Use ⬆️ ⬇️ to turn the page up and down. We recommend browsing with a large screen for a better reading experience.
Preparation
3. Introduction In this example, a lead particle emitter is sending its location as an event to the other two emitters in the system, which allows them to spawn from that location.

This event is sent at the very end of the update after the particle's position and velocity are solved.
Introduction
4. Introduction Currently, Events are CPU Emitter Only!

On GPU Emitters, we do have a Lead/Follower paradigm using the "Spawn Particles From Other Emitter" and "Sample Particles From Other Emitter" modules which utilize the Particle Attribute Reader. There is an example of these behaviors in action in the Niagara_Advanced hallway.
Introduction
5. Let's start the reconstruction Right click and select FX => Niagara System to create.
Let's start the reconstruction
6. Create Niagara System Select Empty template, click + three times and click Finish
Create Niagara System
7. Create Niagara System As a result, we get a Niagara System asset, click to open it.
Create Niagara System
8. Three Emitters You can see that we have three emitters, renaming them LocEventGen, EventReceiveRibbon, and EventReceiveSprite, respectively.

LocEventGen generates events, EventReceiveRibbon generates ribbon particles based on events, and EventReceiveSprite generates sprite particles based on events.
Three Emitters
9. Three Emitters First, work on the LocEventGen stack.
Three Emitters Three Emitters
10. Spawn Rate Click on the + sign to the right of the Emitter Update to add the Spawn Rate module.

Spawn Rate: Number of particles per second to spawn.
Spawn Rate
11. Spawn Rate Set the Spawn Rate value to 1.333.

Spawn 1.333 particle per second.
Spawn Rate
12. Initialize Particles Select Initialize Particles and set:

1. Lifetime Mode is Random, then set the minimum value to 3.0 and the maximum value to 3.5
2. Color Mode is Direct Set
3. Sprite Size Mode is Uniform and has a value of 14.0
Initialize Particles
13. Sphere Location Add the Sphere Location module in the Particles Spawn section.
Sphere Location
14. Sphere Radius Set Sphere Radius to 8.0
Sphere Radius
15. Add Velocity in Cone Add Add Velocity in Cone module to the Particle Spawn section.
Add Velocity in Cone
16. Add Velocity in Cone Click the first Fix issue button to add its dependency on the SolveForcesAndVelocity module.
Add Velocity in Cone
17. Add Velocity in Cone Set the value type of Velocity Strength to Random Range Float
Add Velocity in Cone
18. Add Velocity in Cone 1. Set Velocity Strength to a minimum value of 165.0 and a maximum value of 350.0.
2. Set the Cone Angle to 36.0.
3. Set the Cone Axis to (0, 0, 1).
Add Velocity in Cone
19. Gravity Force Set the value of Gravity to (0, 0, -300).
Gravity Force
20. Gravity Force Click the first Fix issue button to fix the SolveForcesAndVelocity module's dependency order issue.
Gravity Force
21. Gravity Force Set the value of Gravity to (0, 0, -300).
Gravity Force
22. Generate Location Event Add Generate Location Event module to the Particle Update section.
Generate Location Event
23. Persistent IDs Check Requires Persistent IDs to obtain persistent IDs so that the generated events can be received by other emitters.
Persistent IDs
24. Three Emitters Next, work on the EventReceiveRibbon stack.
Three Emitters Three Emitters
25. Initialize Ribbon Add Initialize Ribbon module to the Particle Spawn section.
Initialize Ribbon
26. Color Add Color module to the Particle Update section.
Color
27. Color Set the value type of Color to Color from Curve
Color
28. Color Double-click the red circled dot and select a color
Color
29. Color At the location of the small red circle, right click and select Add key to all curve
Color
30. Color Double-click on the dot in the red circle and select another color
Color
31. Event Handler Click the + sign to add an event handler.
Event Handler
32. Event Handler Set the event source to LocEventGen.LocationEvent.
Event Handler
33. Event Handler 1. Set Execution Mode to Spawned Particles
2. Set Spawn Number to 1.
Event Handler
34. Receive Location Event Add Receive Location Event module to the Event Handler section.
Receive Location Event
35. Receive Location Event Check Inherit Parent Normalized Age.
Receive Location Event
36. Remove Sprite Renderer Select Sprite Renderer, right-click, and select Delete.
Remove Sprite Renderer
37. Ribbon Renderer Add Ribbon Renderer module to the Render section.
Ribbon Renderer
38. Ribbon Renderer Set the value of Material to DefaultRibbonMaterial
Ribbon Renderer
39. Three Emitters Last, work on the EventReceiveSprite stack.
Three Emitters Three Emitters
40. Initialize Particles Select Initialize Particles and set:

1. Lifetime Mode to Random, then set the minimum value to 0.875 and the maximum value to 1.25
2. Color Mode as Direct Set3. Sprite Size Mode is Random Uniform and has a minimum value of 2.5 and a maximum value of 6.0.
Initialize Particles
41. Add Velocity Add Add Velocity module to the Particle Spawn section.
Add Velocity
42. Add Velocity Click the first Fix issue button to add its dependency on the SolveForcesAndVelocity module.
Add Velocity
43. Add Velocity Set the value type of Velocity to Random Range Vector
Add Velocity
44. Add Velocity Set the minimum value to (-32, -32, -32) and the maximum value to (32, 32, 32).
Add Velocity
45. Gravity Force Set the value of Gravity to (0, 0, -300).
Gravity Force
46. Gravity Force Click the first Fix issue button to fix the SolveForcesAndVelocity module's dependency order issue.
Gravity Force
47. Gravity Force Set the value of Gravity to (0, 0, -250).
Gravity Force
48. Color Add Color module to the Particle Update section.
Color
49. Color Set the value type of Color to Color from Curve
Color
50. Color Double-click the red circled dot and select a color
Color
51. Color At the location of the small red circle, right click and select Add key to all curve
Color
52. Color Double-click on the dot in the red circle and select another color
Color
53. 🎉 Finish! 🎉 👉  Cyanhall@GitHub  Star me if it’s helpful.

Support Me: Patreon
Follow Me: Twitter, Reddit, Zhihu, Bilibili
🎉 Finish! 🎉
Comments
Preparation