1.
预备
这是这个教程要完成的效果。
注意:本教程主要内容来自虚幻引擎自带的内容示例
。
提示:使用 ⬆️ ⬇️ 可上下翻页。推荐用大屏浏览,以获得更好的阅读体验。
3.
介绍
在这个例子中,一个领先的粒子发射器正在将它的位置作为一个事件发送给系统中的其他两个发射器,这使得它们可以从这个位置产生粒子。
这个事件是在解决了粒子的位置和速度之后,在更新的最后发送的。
4.
介绍
目前,事件是 CPU 发射器专用!
在GPU发射器上,我们确实有一个利用粒子属性读取器(Particle Attribute Reader)的 "从其他发射器中产生粒子(Spawn Particles From Other Emitter)"和 "从其他发射器中采样粒子(Sample Particles From Other Emitter)"模块的引导/跟随模式。在 Niagara_Advanced 游廊里这些行为的例子。
5.
让我们开始重建
右键选择 FX
=> Niagara System
创建。
6.
创建 Niagara System
选择空(Empty)
模板,然后点击 +
按钮三次,点击 Finish
7.
创建 Niagara System
由此,我们得到一个 Niagara System
的资产,点击打开它。
8.
三个发射器
可以看到我们有三个发射器,分别把它们重命名为LocEventGen
,EventReceiveRibbon
,EventReceiveSprite
。
LocEventGen 产生事件,EventReceiveRibbon 根据事件生成丝带粒子,EventReceiveSprite 根据事件生成精灵粒子。
9.
三个发射器
首先,在 LocEventGen 发射器上操作。
10.
生成速率(Spawn Rate)
点击发射器更新(Emitter Update)
右边的 +
号,添加生成速率(Spawn Rate)
模块。
生成速率(Spawn Rate)
: 每秒生成的粒子数目。
11.
生成速率(Spawn Rate)
设置 生成速率(Spawn Rate)
值为 1.333
。
每秒生成 1.333 个粒子。
12.
初始化粒子
选择初始化粒子(Initialize Particles)
,然后设置:
1. 存活期模式(Lifetime Mode)
为 随机(Random)
,然后设置最小值为 3.0
,最大值为3.5
2. 颜色模式(Color Mode)
为 直接设置(Direct Set)
3. 精灵大小模式(Sprite Size Mode)
为 统一(Uniform)
,并设其值为 14.0
13.
球体位置(Sphere Location)
在 粒子生成(Particles Spawn)
部分的添加 球体位置(Sphere Location)
模块。
14.
球体位置(Sphere Radius)
设置球体半径(Sphere Radius)
为 8.0
15.
在锥体中添加速度
在 粒子生成(Particles Spawn)
部分添加 在锥体中添加速度(Add Velocity in Cone)
模块。
16.
在锥体中添加速度
点击第一个 Fix issue
按钮添加其依赖的 解算力和速度(SolveForcesAndVelocity)
模块。
17.
在锥体中添加速度
设置速度强度(Velocity Strength)
的值类型为随机范围浮点数(Random Range Float)
18.
在锥体中添加速度
1. 设置 速度强度(Velocity Strength)的最少值为 165.0
,最大值为 350.0
。
2. 设置 椎体角度(Cone Angle)为 36.0
。
3. 设置 椎体轴(Cone Axis)为 (0, 0, 1)
。
19.
重力
设置重力(Gravity)
的值为(0, 0, -300)
20.
重力
点击第一个 Fix issue
按钮修复 解算力和速度(SolveForcesAndVelocity)
模块的依赖顺序问题。
21.
重力
设置重力(Gravity)
的值为(0, 0, -300)
22.
生成位置事件
在 粒子更新(Particles Update)
部分添加 生成位置事件(Generate Location Event)
模块。
23.
持久性 ID
勾选 需要持久性ID(Requires Persistent IDs)
以获得持久性 ID,以便产生的事件可以别其他发射器接收。
24.
三个发射器
接着,在 EventReceiveRibbon 发射器上操作。
25.
初始化丝带(Initialize Ribbon)
在 粒子生成(Particles Spawn)
部分添加 初始化丝带(Initialize Ribbon)
模块。
26.
颜色(Color)
在粒子更新(Particle Update)
添加颜色(Color)
模块。
27.
颜色(Color)
设置颜色(Color)
的值类型为颜色曲线(Color from Curve)
28.
颜色(Color)
双击红圈的点,选择一个颜色
29.
颜色(Color)
在小红圈的位置,右键,选择Add key to all curve
30.
颜色(Color)
双击红圈的点,选择另一个颜色
32.
事件处理器
设置事件来源为 LocEventGen.LocationEvent
。
33.
事件处理器
1. 设置执行模式为 生成粒子(Spawned Particles)
2. 设置生成数量为 1
34.
接收位置事件
在 事件处理器(Event Handler)
部分添加 接收位置事件(Receive Location Event)
模块。
35.
接收位置事件
勾选 继承父级标准化年龄(Inherit Parent Normalized Age)
。
36.
移除精灵(Sprite)渲染器
选中精灵渲染器(Sprite Renderer)
,右键,选择删除(Delete)
37.
丝带渲染器(Ribbon Renderer)
在 渲染器(Render)
部分添加 丝带渲染器(Ribbon Renderer)
模块。
38.
丝带渲染器(Ribbon Renderer)
设置材质(Material)的值为 DefaultRibbonMaterial
39.
三个发射器
最后,在 EventReceiveSprite 发射器上操作。
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
41.
添加速度
在 粒子生成(Particles Spawn)
部分添加 添加速度(Add Velocity)
模块。
42.
添加速度
点击第一个 Fix issue
按钮添加其依赖的 解算力和速度(SolveForcesAndVelocity)
模块。
43.
添加速度
设置速度(Velocity)
的值类型为随机范围向量(Random Range Vector)
44.
添加速度
设置最小值为 (-32, -32, -32)
,最大值为 (32, 32, 32)
。
45.
重力
设置重力(Gravity)
的值为(0, 0, -300)
46.
重力
点击第一个 Fix issue
按钮修复 解算力和速度(SolveForcesAndVelocity)
模块的依赖顺序问题。
47.
重力
设置重力(Gravity)
的值为(0, 0, -250)
48.
颜色(Color)
在粒子更新(Particle Update)
添加颜色(Color)
模块。
49.
颜色(Color)
设置颜色(Color)
的值类型为颜色曲线(Color from Curve)
50.
颜色(Color)
双击红圈的点,选择一个颜色
51.
颜色(Color)
在小红圈的位置,右键,选择Add key to all curve
52.
颜色(Color)
双击红圈的点,选择另一个颜色