新建第一个系统:从模板到上线
讲太多原理不如跑一遍。这一节从零建一个"受击火光"系统,过一遍完整流程,也确认开发环境。
第一步:确认插件已启用
Niagara 在 UE5 中默认启用。如果是老项目升级来的,检查 编辑 → 插件 → Niagara 是否勾选。重启编辑器后,内容浏览器右键才能看到 Niagara 分类。
小贴士:如果你的项目里还有大量旧 Cascade 资产,UE 提供了官方的 Cascade → Niagara 转换插件,可批量迁移,详见后续章节的迁移小节。
第二步:从模板建 Emitter
不要从空白 Emitter 开始——模板是官方调好的起点。内容浏览器右键 → Niagara → Emitter,选 Simple Sprite Burst(简单精灵爆发)。打开后确认:
- 视口里按
SPACE可以在播放 / 暂停间切换; - 左下角时间轴可拖动预览;
Spawn Rate模块改个数值,视口实时变化(这就是所见即所得)。
第三步:调整成想要的样子
依次改三个地方,这个 Emitter 就从"通用爆发"变成"火光":
- 颜色:找到
Color相关联的初始化或更新模块,改成暖橙色(火焰)或亮黄(电火花)。 - 生命周期:
Initialize Particles里的 Lifetime 从默认 3 秒降到 0.4 秒(火光是一瞬间的事)。 - 大小曲线:Sprite Size 一开始大、快速变小,模拟能量衰减。
保存为 NE_ImpactFire。命名规范建议:Emitter 用 NE_ 前缀(Niagara Emitter),System 用 NS_ 前缀,和网游资产前缀习惯一致。
第四步:建 System 并编排
右键 → Niagara → System → 从 Emitter 创建(选刚才的 NE)。进入 System 编辑器:
- 时间轴显示这个 Emitter 的播放区间;
- 此时可以再加一个烟雾 Emitter(
Simple Sprite Burst改成灰色、慢速、上升),拖到时间轴上让它晚 0.1 秒进入。
保存为 NS_ImpactFire。
第五步:在场景里验证
把 NS 拖进场景,它默认自动循环播放。验证三件事:
- 摄像机拉远看 LOD 衰减是否可接受(Niagara 有 Emitter 的 LOD 功能);
- 用
stat Niagara看一眼这个 System 的开销(详见性能章); - 关掉"仅循环编辑器播放"类设置,确认打包后也会播放。
第六步:蓝图里按需播放
受击特效不该常驻,应该"被打到才播"。蓝图里:
- 用
Spawn System at Location(或at Actor)节点,传入 NS 资产; - 设置
AutoDestroy为真,播完自动销毁,不用手动管理。
过一遍检查清单
| 检查项 | 达标标准 |
|---|---|
| 命名 | NE_/NS_ 前缀 + 可读名字 |
| 目录 | 按类别归类(战斗 / 环境 / UI),不堆在一个文件夹 |
| 循环 | 该循环的循环、该单次的单次,不在蓝图里靠 Timer 补 |
| 预览 | 编辑器里暂停 / 拖时间轴都能正确表现 |
| 开销 | stat Niagara 有数,知道这个特效吃多少 |
跑完这个流程,你就掌握了 Niagara 工作流的主干。后续章节往深里讲每个环节的工程化做法。
