1.
预备
这是这个教程要完成的效果。
注意:本教程主要内容来自虚幻引擎自带的内容示例
。
提示:使用 ⬆️ ⬇️ 可上下翻页。推荐用大屏浏览,以获得更好的阅读体验。
3.
介绍
静态光束是使用静态的起始点和终点产生的,而不是每帧动态更新。
每个光束段都是一个模拟粒子,可以进一步受到力或其他效果的影响。
4.
让我们开始重建
右键选择 FX
=> Niagara System
创建。
5.
创建 Niagara System
选择空(Empty)
模板,然后点击 +
按钮,点击 Finish
6.
创建 Niagara System
由此,我们得到一个 Niagara System
的资产,点击打开它。
7.
空 Niagara 系统
可以看到我们有了一个空 Niagara 系统。
8.
生命周期模式(Life Cycle Mode)
设置生命周期模式为 自身(Self)
。
这决定发射器的生命周期(管理循环、年龄和死亡)是由拥有它的系统计算,还是由发射器本身计算。
在大多数情况下,允许所属系统计算生命周期,并将这些值传递给子发射器,是一个显著的优化。
9.
光束发射器设置(Beam Emitter Setup)
在 发射器更新(Emitter Update)
部分添加 光束发射器设置(Beam Emitter Setup)
模块。
10.
光束发射器设置(Beam Emitter Setup)
设置光束末端(Beam End)
的值类型为随机向量(Random Vector)
11.
光束发射器设置(Beam Emitter Setup)
设置向量缩放(Vector Scale)
的值类型为随机范围浮点数(Random Range Float)
12.
光束发射器设置(Beam Emitter Setup)
1. 设置最小值为:220.0
,最大值为:340.0
2. 设置运算类型(Elevation Type)为:每一帧(Every Frame)
13.
瞬间巨量生成(Spawn Burst Instantaneous)
点击发射器更新(Emitter Update)
右边的 +
号,添加瞬间巨量生成(Spawn Burst Instantaneous)
模块
14.
瞬间巨量生成(Spawn Burst Instantaneous)
设置生成数量(Spawn Count)
为 100.0
15.
初始化粒子
选择初始化粒子(Initialize Particles)
,然后设置:
1. 存活期(Lifetime)
为 3.0
2. 精灵大小模式(Sprite Size Mode)
为 随机(Uniform)
16.
初始化粒子
设置统一精灵大小(Uniform Sprite Size)
的值类型为浮点数曲线(Float from Curve)
17.
初始化粒子
点击第一个点,设置其值为:1.25
注意:有时候,新设置的点会超出现有图表的界限,可以点击红圈的按钮调整图表的边界。
18.
初始化粒子
鼠标移到小红圈,右键,选择添加一个点到曲线(Add key to Curve)
19.
初始化粒子
设置新添加的点的时间(Time)
为 0.24
,值(Value)
为 2.27
。
20.
初始化粒子
用同样的方法,添加三个点:(时间 为 0.51
,值 为 2.87
)、(时间 为 0.78
,值 为 2.29
)、(时间 为 1
,值 为 1.36
)。
21.
生成光束(Spawn Beam)
在 粒子生成(Particles Spawn)
部分添加 生成光束(Spawn Beam)
模块。
22.
光束宽度(Beam Width)
在 粒子生成(Particles Spawn)
部分添加 光束宽度(Beam Width)
模块。
23.
光束宽度(Beam Width)
设置光束宽度(Beam Width)
的值类型为浮点数曲线(Float from Curve)
24.
光束宽度(Beam Width)
选中第一个点,编辑其值为:(时间(Time) 为 0.0
,值(Value)为 0.0
)
25.
光束宽度(Beam Width)
鼠标移到小红圈,右键,选择添加一个点到曲线(Add key to Curve)
26.
光束宽度(Beam Width)
设置新添加的点的时间(Time)
为 0.25
,值(Value)
为 2.3
。
27.
光束宽度(Beam Width)
以同样的方式,添加一个点:时间(Time)
为 0.5
,值(Value)
为 3.4
。
28.
光束宽度(Beam Width)
设置这个点的点插值(Key Interpolation)
类型为 线性(Linear)
29.
光束宽度(Beam Width)
设置 曲线下标(CurveIndex)
的值为 RibbonLinkOrder
30.
颜色(Color)
在粒子更新(Particle Update)
添加颜色(Color)
模块。
31.
颜色(Color)
设置颜色(Color)
的值类型为线性插值颜色(Lerp Linear Color)
32.
颜色(Color)
1. 设置开始颜色为:(1, 0.3, 0, 1)
,结束颜色为:(0, 0.2, 1, 1)
2. 设置插值因子为 RibbonLinkOrder
33.
颜色(Color)
Particles.RibbonLinkOrder
是一个变量,它决定了具体 RibbonID 的粒子如何相互链接。
当新粒子爆发地产生时,生成光束(Spawn Beam)
模块会根据新粒子建立顺序,并为每一组新粒子分配一个新的唯一 RibbonID,这样它们就会作为独立的光束,而不是发射器中所有粒子之间的一个大的相互连接的丝带。
从那里开始,正常的粒子模拟就会被接管,而且由于 RibbonID 和链接顺序不会从一帧到另一帧发生变化,所以光束会保持稳定。
34.
卷曲噪声力(Curl Noise Force)
在 粒子更新(Particles Update)
部分添加 卷曲噪声力(Curl Noise Force)
模块。
35.
卷曲噪声力(Curl Noise Force)
点击第一个 Fix issue
按钮添加其依赖的 解算力和速度(SolveForcesAndVelocity)
模块。
36.
卷曲噪声力(Curl Noise Force)
1. 设置噪声强度(Noise Strength)
的值为 16.0
2. 设置噪声频率(Noise Frequency)
的值为 4.0
3. 选择噪声质量/消耗(Noise Quality/Cost)
的值为 烘培(高)(Baked(High))
4. 设置 平移噪声场(Pan Noise Field)
的值为(X
: 0
, Y
: 0
, Z
: 1
)
37.
牵引力(Drag)
在 粒子更新(Particles Update)
部分添加 牵引力(Drag)
模块。
38.
牵引力(Drag)
点击第一个 Fix issue
按钮修复 解算力和速度(SolveForcesAndVelocity)
模块的依赖顺序问题。
39.
丝带渲染器(Ribbon Renderer)
在 渲染器(Render)
部分添加 丝带渲染器(Ribbon Renderer)
模块。
40.
丝带渲染器(Ribbon Renderer)
设置材质(Material)的值为 DefaultRibbonMaterial