版本:4.26, English
创建:2021-02-24,更新:2021-03-25
作者:Cyanhall
👉  Cyanhall@GitHub 如果有用请点赞。
1. 预备 这是这个教程要完成的效果。

注意:本教程主要内容来自虚幻引擎自带的内容示例

提示:使用 ⬆️ ⬇️ 可上下翻页。推荐用大屏浏览,以获得更好的阅读体验。
Preparation
3. 介绍 在这个例子中,一个领先的粒子发射器正在将它的位置作为一个事件发送给系统中的其他两个发射器,这使得它们可以从这个位置产生粒子。

这个事件是在解决了粒子的位置和速度之后,在更新的最后发送的。
Introduction
4. 介绍 目前,事件是 CPU 发射器专用!

在GPU发射器上,我们确实有一个利用粒子属性读取器(Particle Attribute Reader)的 "从其他发射器中产生粒子(Spawn Particles From Other Emitter)"和 "从其他发射器中采样粒子(Sample Particles From Other Emitter)"模块的引导/跟随模式。在 Niagara_Advanced 游廊里这些行为的例子。
Introduction
5. 让我们开始重建 右键选择 FX => Niagara System 创建。
Let's start the reconstruction
6. 创建 Niagara System 选择空(Empty)模板,然后点击 + 按钮三次,点击 Finish
Create Niagara System
7. 创建 Niagara System 由此,我们得到一个 Niagara System 的资产,点击打开它。
Create Niagara System
8. 三个发射器 可以看到我们有三个发射器,分别把它们重命名为LocEventGenEventReceiveRibbonEventReceiveSprite

LocEventGen 产生事件,EventReceiveRibbon 根据事件生成丝带粒子,EventReceiveSprite 根据事件生成精灵粒子。
Three Emitters
9. 三个发射器 首先,在 LocEventGen 发射器上操作。
Three Emitters Three Emitters
10. 生成速率(Spawn Rate) 点击发射器更新(Emitter Update)右边的 + 号,添加生成速率(Spawn Rate)模块。

生成速率(Spawn Rate): 每秒生成的粒子数目。
Spawn Rate
11. 生成速率(Spawn Rate) 设置 生成速率(Spawn Rate) 值为 1.333

每秒生成 1.333 个粒子。
Spawn Rate
12. 初始化粒子 选择初始化粒子(Initialize Particles),然后设置:

1. 存活期模式(Lifetime Mode)随机(Random),然后设置最小值为 3.0,最大值为3.5
2. 颜色模式(Color Mode)直接设置(Direct Set)
3. 精灵大小模式(Sprite Size Mode)统一(Uniform),并设其值为 14.0
Initialize Particles
13. 球体位置(Sphere Location) 粒子生成(Particles Spawn) 部分的添加 球体位置(Sphere Location)模块。
Sphere Location
14. 球体位置(Sphere Radius) 设置球体半径(Sphere Radius)8.0
Sphere Radius
15. 在锥体中添加速度 粒子生成(Particles Spawn) 部分添加 在锥体中添加速度(Add Velocity in Cone)模块。
Add Velocity in Cone
16. 在锥体中添加速度 点击第一个 Fix issue 按钮添加其依赖的 解算力和速度(SolveForcesAndVelocity) 模块。
Add Velocity in Cone
17. 在锥体中添加速度 设置速度强度(Velocity Strength)的值类型为随机范围浮点数(Random Range Float)
Add Velocity in Cone
18. 在锥体中添加速度 1. 设置 速度强度(Velocity Strength)的最少值为 165.0,最大值为 350.0
2. 设置 椎体角度(Cone Angle)为 36.0
3. 设置 椎体轴(Cone Axis)为 (0, 0, 1)
Add Velocity in Cone
19. 重力 设置重力(Gravity)的值为(0, 0, -300)
Gravity Force
20. 重力 点击第一个 Fix issue 按钮修复 解算力和速度(SolveForcesAndVelocity) 模块的依赖顺序问题。
Gravity Force
21. 重力 设置重力(Gravity)的值为(0, 0, -300)
Gravity Force
22. 生成位置事件 粒子更新(Particles Update) 部分添加 生成位置事件(Generate Location Event)模块。
Generate Location Event
23. 持久性 ID 勾选 需要持久性ID(Requires Persistent IDs) 以获得持久性 ID,以便产生的事件可以别其他发射器接收。
Persistent IDs
24. 三个发射器 接着,在 EventReceiveRibbon 发射器上操作。
Three Emitters Three Emitters
25. 初始化丝带(Initialize Ribbon) 粒子生成(Particles Spawn) 部分添加 初始化丝带(Initialize Ribbon)模块。
Initialize Ribbon
26. 颜色(Color) 粒子更新(Particle Update)添加颜色(Color) 模块。
Color
27. 颜色(Color) 设置颜色(Color)的值类型为颜色曲线(Color from Curve)
Color
28. 颜色(Color) 双击红圈的点,选择一个颜色
Color
29. 颜色(Color) 在小红圈的位置,右键,选择Add key to all curve
Color
30. 颜色(Color) 双击红圈的点,选择另一个颜色
Color
31. 事件处理器 点击 + 号添加事件处理器。
Event Handler
32. 事件处理器 设置事件来源为 LocEventGen.LocationEvent
Event Handler
33. 事件处理器 1. 设置执行模式为 生成粒子(Spawned Particles)
2. 设置生成数量为 1
Event Handler
34. 接收位置事件 事件处理器(Event Handler) 部分添加 接收位置事件(Receive Location Event)模块。
Receive Location Event
35. 接收位置事件 勾选 继承父级标准化年龄(Inherit Parent Normalized Age)
Receive Location Event
36. 移除精灵(Sprite)渲染器 选中精灵渲染器(Sprite Renderer),右键,选择删除(Delete)
Remove Sprite Renderer
37. 丝带渲染器(Ribbon Renderer) 渲染器(Render) 部分添加 丝带渲染器(Ribbon Renderer)模块。
Ribbon Renderer
38. 丝带渲染器(Ribbon Renderer) 设置材质(Material)的值为 DefaultRibbonMaterial
Ribbon Renderer
39. 三个发射器 最后,在 EventReceiveSprite 发射器上操作。
Three Emitters Three Emitters
40. 初始化粒子 选择初始化粒子(Initialize Particles),然后设置:

1. 存活期模式(Lifetime Mode)随机(Random),然后设置最小值为 0.875,最大值为1.25
2. 颜色模式(Color Mode)直接设置(Direct Set)
3. 精灵大小模式(Sprite Size Mode)统一随机(Random Uniform),并设其最小值为 2.5, 最大值为 6.0
Initialize Particles
41. 添加速度 粒子生成(Particles Spawn) 部分添加 添加速度(Add Velocity)模块。
Add Velocity
42. 添加速度 点击第一个 Fix issue 按钮添加其依赖的 解算力和速度(SolveForcesAndVelocity) 模块。
Add Velocity
43. 添加速度 设置速度(Velocity)的值类型为随机范围向量(Random Range Vector)
Add Velocity
44. 添加速度 设置最小值为 (-32, -32, -32),最大值为 (32, 32, 32)
Add Velocity
45. 重力 设置重力(Gravity)的值为(0, 0, -300)
Gravity Force
46. 重力 点击第一个 Fix issue 按钮修复 解算力和速度(SolveForcesAndVelocity) 模块的依赖顺序问题。
Gravity Force
47. 重力 设置重力(Gravity)的值为(0, 0, -250)
Gravity Force
48. 颜色(Color) 粒子更新(Particle Update)添加颜色(Color) 模块。
Color
49. 颜色(Color) 设置颜色(Color)的值类型为颜色曲线(Color from Curve)
Color
50. 颜色(Color) 双击红圈的点,选择一个颜色
Color
51. 颜色(Color) 在小红圈的位置,右键,选择Add key to all curve
Color
52. 颜色(Color) 双击红圈的点,选择另一个颜色
Color
53. 🎉 完成了! 🎉 👉  Cyanhall@GitHub  如果有用请点赞。

支持我: Patreon
关注我: TwitterReddit知乎Bilibili
🎉 Finish! 🎉
Comments
Preparation