1.
预备
这是这个教程要完成的效果。
注意:本教程主要内容来自虚幻引擎自带的内容示例
。
提示:使用 ⬆️ ⬇️ 可上下翻页。推荐用大屏浏览,以获得更好的阅读体验。
3.
介绍
瞬态(Transient)
变量只在指定模块的范围内有效(例如粒子更新(Particle Update)
),并且每一帧都会从头开始重新计算,它们的值不会从一帧到另一帧持久化。
这使得它们与保存在 粒子(Particle)
中的变量不一样. 粒子变量保存在粒子的载荷(payload)中,并且一帧到另一帧是持久的。后者是以内存和性能为代价的。
4.
目标
在这里,我们制作一个瞬态变量(transient variable),代表当前与发射器原点的距离,并用它来驱动颜色和比例曲线。
5.
让我们开始重建
右键选择 FX
=> Niagara System
创建。
6.
创建 Niagara System
选择空(Empty)
模板,然后点击 +
按钮,点击 Finish
7.
创建 Niagara System
由此,我们得到一个 Niagara System
的资产,点击打开它。
8.
空 Niagara 系统
可以看到我们有了一个空 Niagara 系统。
9.
生成速率(Spawn Rate)
点击发射器更新(Emitter Update)
右边的 +
号,添加生成速率(Spawn Rate)
模块。
生成速率(Spawn Rate)
: 每秒生成的粒子数目。
10.
生成速率(Spawn Rate)
设置 生成速率(Spawn Rate)
值为 8.0
。
每秒生成 8.0 个粒子。
11.
瞬间巨量生成(Spawn Burst Instantaneous)
点击发射器更新(Emitter Update)
右边的 +
号,添加瞬间巨量生成(Spawn Burst Instantaneous)
模块
12.
瞬间巨量生成(Spawn Burst Instantaneous)
设置生成数量(Spawn Count)
的值类型为随机范围整数(Random Range Int)
13.
瞬间巨量生成(Spawn Burst Instantaneous)
1. 设置最小值为 3
2. 设置最大值为 10
3. 设置运算类型为 每一帧(Every Frame)
14.
初始化粒子
选择初始化粒子(Initialize Particles)
,然后设置:
1. 存活期(Lifetime)
为 8.0
2. 颜色模式(Color Mode)
为 直接设置(Direct Set)
3. 精灵大小模式(Sprite Size Mode)
为 统一(Uniform)
,并设其值为 5.0
15.
在点添加速度(Add Velocity from Point)
在 粒子生成(Particles Spawn)
部分添加 在点添加速度(Add Velocity from Point)
模块。
16.
在点添加速度(Add Velocity from Point)
点击第一个 Fix issue
按钮添加其依赖的 解算力和速度(SolveForcesAndVelocity)
模块。
17.
在点添加速度(Add Velocity from Point)
设置速度强度(Velocity Strength)
的值类型为随机范围浮点数(Random Range Float)
18.
在点添加速度(Add Velocity from Point)
设置最少值为 10.0
,最大值为 85.0
。
19.
点吸引力(Point Attraction Force)
在粒子更新(Particle Update)
添加点吸引力(Point Attraction Force)
模块。
20.
在点添加速度(Add Velocity from Point)
1. 点击第一个 Fix issue
按钮修复 解算力和速度(SolveForcesAndVelocity)
模块的依赖顺序问题。
2. 设置吸引力强度(Attraction Strength)
的值为1.8
。
3. 设置吸引力半径(Attraction Radius)
的值为256.0
。
21.
NormalizedDistanceFromCenter
在 阶段瞬态值(Stage Transients)
模块添加一个 浮点数(Float)
变量
22.
NormalizedDistanceFromCenter
将这个新创建的变量命名为:NormalizedDistanceFromCenter
23.
NormalizedDistanceFromCenter
拖拽 NormalizedDistanceFromCenter
到 粒子更新(Particles Update)
。
24.
NormalizedDistanceFromCenter
设置NormalizedDistanceFromCenter
的值类型为标准化距离范围(Normalize Distance Range)
25.
NormalizedDistanceFromCenter
设置开始位置(Start Position)
为 粒子位置(Particles.Position)
26.
NormalizedDistanceFromCenter
设置结束位置(End Position)
为 模拟位置(Simulation Position)
27.
NormalizedDistanceFromCenter
设置 距离(Distance)
为 145.0
28.
颜色(Color)
在粒子更新(Particle Update)
添加颜色(Color)
模块。
29.
颜色(Color)
设置颜色(Color)
的值类型为线性插值颜色(Lerp Linear Color)
30.
颜色(Color)
1. 设置开始颜色为:(3, 0, 0, 1)
,结束颜色为:(0, 0, 2, 1)
2. 设置插值因子为 NormalizedDistanceFromCenter
31.
缩放精灵大小(Scale Sprite Size)
在 粒子更新(Particles Update)
部分的添加 缩放精灵大小(Scale Sprite Size)
模块。
32.
缩放精灵大小(Scale Sprite Size)
编辑 缩放因子(Scale Factor)
值为 Vector 2DFrom Float
。
33.
缩放精灵大小(Scale Sprite Size)
设置值(Value)
的值类型为浮点数插值(Lerp Float)
34.
缩放精灵大小(Scale Sprite Size)
1. 设置 A 为 0.5
, B 为 2.75
2. 设置 Alpha 为 NormalizedDistanceFromCenter