UE5 Niagara 粒子系统零基础入门:从界面认识到第一个火焰特效
上周有位学员在群里求助:“我用 UE4 的 Cascade 做了三年特效,换 UE5 后打开 Niagara,完全找不到北,连发射器在哪都不知道。” 这不是个例。Niagara 的模块化架构让很多老手都感到陌生,但对于新手来说,反而更容易上手——因为它更像搭积木,而不是写死代码。
今天我们从零开始,先认识 Niagara 的核心界面,然后亲手做一簇火焰特效。全程使用 Unreal Engine 5.4.3,Niagara 版本为 v7.0。
一、Niagara 界面拆解:别被模块吓到
打开 UE5,在内容浏览器右键 → FX → Niagara System,命名为 `NS_Fire`。系统创建后,双击打开,你会看到三个主要区域:
1. 系统预览与时间轴
左侧是预览视口,默认显示一个白色粒子球。下方时间轴控制播放速度、循环次数。建议初学者先将 Loop Duration 设为 5 秒,Loops 设为 1,方便观察粒子生命周期。
2. 发射器堆栈(Emitter Stack)
这是 Niagara 的心脏。点击左侧的 `+` 号,选择 Empty Emitter,你会看到一堆模块插槽:
- Emitter State:控制发射器生命周期
每个模块都可以拖拽或右键替换。别怕,我们只操作其中 5-6 个模块就能做出火焰。
3. 参数面板
选中任意模块,下方会显示参数。例如 Spawn Rate 的 Spawn Rate 值、Particle State 的 Lifetime 值。所有参数支持 Float、Vector、Curve 等类型,双击数值可输入表达式。
二、第一个案例:静态火焰粒子
步骤 1:配置发射器基础参数
在 Emitter State 中:
在 Spawn Rate 中:
步骤 2:调整粒子形态
在 Initialize Particle 中:
– 时间 0.0:颜色 `(1.0, 0.8, 0.2, 1.0)`(亮黄色)
– 时间 0.6:颜色 `(1.0, 0.2, 0.0, 0.8)`(橙红色)
– 时间 1.0:颜色 `(0.2, 0.0, 0.0, 0.0)`(暗红且透明)
步骤 3:添加运动
在 Update Particle 中点击 `+` 号,搜索 Add Velocity 模块并添加:
现在播放预览,你会看到黄色粒子向上飘散,颜色逐渐变红变透明。但火焰太整齐了,缺少真实感。
三、进阶:动态火焰特效(带扰动和子发射器)
真实的火焰会闪烁、扭曲、产生火星。我们需要加入 噪声扰动 和 子发射器。
步骤 1:添加湍流扰动
在 Update Particle 中添加 Turbulence Force 模块:
步骤 2:创建子发射器(火星)
右键点击发射器名称 → Add Emitter → Empty Emitter,命名为 `Sparks`。
在 Sparks 发射器中:
– Lifetime:`0.5`(火星存活 0.5 秒)
– Sprite Size Mode:`Uniform`,Uniform Sprite Size:`(10, 10)`
– Color:`(1.0, 0.8, 0.0, 1.0)`(固定亮黄色)
– Add Velocity:`(0, 0, 300)`(火星飞得更高)
– Gravity:`(0, 0, -200)`(火星受重力下落)
步骤 3:关联子发射器
回到主发射器 `NS_Fire`,在 Update Particle 中添加 Spawn Burst Instantaneous 模块:
这样,主火焰粒子死亡时,有 30% 概率生成一个向上飞的小火星。
四、材质与渲染优化
粒子外观取决于材质。在内容浏览器中创建 Material,命名为 `M_Fire_Particle`:
1. 材质域设为 Surface,混合模式 Translucent,着色模型 Unlit
2. 添加 Particle Color 节点(连接基础颜色)
3. 添加 Particle SubUV 节点(如果使用序列图)
4. 添加 Opacity Mask 节点,值设为 `1.0`
回到 Niagara 系统,在 Render 模块中:
对于性能优化,在 Emitter State 中:
五、总结与进阶建议
至此,你已掌握 Niagara 的核心工作流:发射器 → 生成 → 初始化 → 更新 → 渲染。火焰特效只是起点,你可以:
1. 替换材质:使用 SubUV 序列图制作爆炸、烟雾
2. 添加碰撞:用 Collision 模块让粒子反弹
3. 使用 GPU 模拟:在发射器属性中勾选 Use GPU Compute,支持数万粒子
4. 结合 Data Interface:用 Static Mesh Data 让粒子附着在模型表面
学习路径建议:
记住,Niagara 的核心理念是 数据驱动——每个粒子都是一组数据,模块就是数据处理函数。当你理解这一点,任何特效都只是数据流的组合。
常见问题 FAQ
Q1:我的粒子不显示,预览全是黑的?
A:检查材质是否设为 Translucent/Unlit,并确认粒子颜色 Alpha 值不为 0。在材质节点中临时添加 Constant 节点输出 1.0 到 Opacity 测试。
Q2:粒子数量太多导致卡顿怎么办?
A:在 Emitter State 中降低 Max Particles,或开启 Use GPU Compute。CPU 粒子建议不超过 2000 个,GPU 粒子可以到 50000 个。
Q3:如何让粒子跟随角色移动?
A:在发射器属性中,将 Local Space 设为 `True`(默认是 World Space)。然后在角色蓝图中用 Spawn Niagara System 节点生成。
Q4:模块参数图标的曲线(Curve)怎么用?
A:双击参数右侧的曲线图标,在曲线编辑器中:水平轴是粒子归一化生命周期(0-1),垂直轴是参数值。右键可添加关键点,拖动调整曲线形状。
Q5:Niagara 和 Cascade 能共存吗?
A:可以,但不建议混用。Niagara 是 UE5 的未来,Cascade 在 UE5.5 后将被标记为弃用。建议所有新项目使用 Niagara。

评论(0)