Choose your operating system:
Windows
macOS
Linux
目标
Niagara快速入门旨在帮助用户了解如何使用Niagara在虚幻引擎中创建视觉效果(VFX)。
目的
-
如何利用Niagara使用网格体和材质设置项目。
-
如何使用Niagara发射器和系统创建基础效果。
-
如何将Niagara效果附加到角色,使该效果在动画中显示。
1 - 项目设置
在本指南中,使用的是已启用 初学者内容包(Starter Content) 的 蓝图第三人称模板(Blueprint Third Person Template) 项目。若你尚未在虚幻引擎中创建过项目,请参见 创建项目 了解如何创建项目。
在创建Niagara效果前,你需要在先项目中设置一些基础材质和资产,以便在接下来的指南中使用。在完成此部分学习后,你将拥有创建Niagara效果所需的一切。
创建网格体形状
首先,你需要为效果设置网格体形状。你将创建一阵尘土,作为角色奔跑时产生的效果。你可在3D建模应用程序中创建此形状并导出,然后导入UE4项目。
-
在内容浏览器(Content Browser)中,右键点击并选择 新建文件夹(New Folder) ,创建用于此快速入门指南的文件夹。将所有资源都放入此文件夹。将该文件夹命名为 Quickstart 。
创建材质
现在将制作用于尘云的基础材质。执行以下步骤。
-
在 内容浏览器(Content Browser) 中点击右键并选择 材质(Material) 。
-
将新材质命名为 M_DustPoof 。双击新材质,在材质编辑器(Material Editor)中打开它。
-
选中主要材质节点后,在 细节(Details) 面板中找到 材质(Material) 部分。将 混合模式(Blend Mode) 更改为 半透明(Translucent) 。选中 双面(Two Sided) 复选框。将其他设置保留为默认。
-
右键点击图表,然后在搜索栏中输入
particle
。选择 粒子颜色(Particle Color) ,添加Particle Color节点。将Particle Color节点的顶部输出插入到主材质节点上的 底色(Base Color) 输入。 -
创建 Texture Sample 节点。按住T并在节点图表内进行点击即可完成此操作。
-
选中Texture Sample节点后,在 细节(Details) 面板中找到 材质表达式纹理基础(Material Expression Texture Base) 部分。点击下拉列表,然后在搜索栏中输入 噪点(Noise) 。选择 T_Perlin_Noise_M 纹理。
-
右键点击图表,然后在搜索栏中输入
dynamic
。选择 Dynamic Parameter 以添加该节点。 -
选中Dynamic Parameter节点后,在 细节(Details) 面板中找到 材质表达式动态参数(Material Expression Dynamic Parameter) 分段。在 数组0 中,将名称更改为 Erode 。
-
右键点击图表,然后在搜索栏中输入
step
。选择 Value Step 以添加该节点。 -
从Texture Sample节点的 R 输出连出引线,并将其插入Value Step节点的 梯度(Gradient) 输入。
-
从Dynamic Parameter节点的 Erode 连出引线,并将其插入Value Step节点的 遮罩偏移值(Mask Offset Value) 输入。
-
从Value Step节点的 结果(Results) 输出连出引线,并将其插入主材质节点的 不透明度(Opacity) 输入。
-
点击 应用(Apply) 和 保存(Save) ,然后关闭材质编辑器(Material Editor)。
阶段成果
现在你已拥有网格体形状和基础材质。你现在已具备了创建Niagara效果所需的一切条件。
2 - 创建效果
创建系统和发射器
接下来将创建Niagara系统。与Cascade不同,Niagara中的发射器和系统相互独立。目前推荐的工作流程是从现有发射器或发射器模板创建系统。
-
首先,在 内容浏览器(Content Browser) 中右键点击,创建Niagara系统(Niagara System),并在显示的菜单中选择 FX > Niagara系统(FX > Niagara System) 。这样会显示Niagara发射器(Niagara Emitter)向导。
-
选择 来自选定发射器的新系统(New system from selected emitters) 。然后点击 下一步(Next) 。
-
在模板(Template)中,选择 简单Sprite喷发(Simple Sprite Burst) 。点击 加号 图标( + ),将发射器添加到要添加到系统的发射器列表中。然后点击 完成(Finish) 。
-
将系统命名为 FX_FootstepDustPoof 。双击并在Niagara编辑器(Niagara Editor)中打开它。
-
新系统中发射器实例的默认名称为 SimpleSpriteBurst 。新系统中发射器实例的默认名称为SimpleSpriteBurst。但它可以重命名。在系统总览中点击发射器实例的名称,其将变为可编辑。将发射器命名为 FX_DustPoof 。
-
除非在渲染器中设置网格体和材质,否则在预览中看不到任何内容。因此,在 系统总览(System Overview) 中,选择 渲染器(Render) ,在 选择(Selection) 面板中将其打开。
-
点击 垃圾桶 图标,删除Sprite渲染器(Sprite Renderer)。
-
点击 加号 ( + )图标,然后从列表中选择 网格体渲染器(Mesh Renderer) 。
-
点击 粒子网格体(Particle Mesh) 旁边的下拉列表,然后选择在 项目设置(Project Setup) 部分中创建的网格体。
-
点击启用 覆盖材质(Override Materials) 。默认值为 0数组元素 。点击 加号 ( + )图标添加 数组元素 。点击 显示材质(Explicit Material) 旁边的下拉列表,然后选择在 项目设置(Project Setup) 部分中创建的材质。
-
对于 面向模式(Facing Mode) ,请点击下拉列表,然后选择 速度(Velocity) 。
-
在 内容浏览器(Content Browser) 中,将Niagara系统拖入关卡。将其放置在玩家角色的脚部附近,检查角色相关效果的大小和形状。
制作粒子效果时,最好将系统拖入关卡。这样你就能了解每项更改的效果并在情境中编辑。
阶段成果
完成本部分后,你就拥有了Niagara系统和发射器实例,并且已将系统拖入关卡(Level),以便在玩家角色(Player Character)旁边预览。在下一部分中,你将在Niagara系统中编辑设置,创建尘云效果。
3 - 编辑模块设置
Niagara编辑器会以堆栈形式显示发射器中的内容;每个发射器都拥有若干组设置。你将逐个编辑各组设置中的模块。
在某些效果中,发射器生成(Emitter Spawn)组或系统(System)组可能会拥有一些模块。但在你创建的这个效果中,并没有这些内容,因此你将跳过这些组。
发射器更新设置
首先,在发射器更新(Emitter Update)组中编辑模块。这些是应用于发射器并且会每帧更新的行为。
-
在 系统总览(System Overview) 中,点击 发射器更新(Emitter Update) 组,在 选择(Selection) 面板中将其展开。
-
展开 发射器状态(Emitter State) 模块。默认情况下, 生命周期模式(Life Cycle Mode) 应设为 自身(Self) 。
-
将 发射器状态(Emitter State) 设置更改为以下值。这样就能让尘云只产生一次然后就消散。
参数 |
值 |
|
---|---|---|
生命周期模式(Life Cycle Mode) |
自身(Self) |
|
无效响应(Inactive Response) |
完成(Complete) |
|
循环行为(Loop Behavior) |
一次(Once) |
|
循环时长模式(Loop Duration Mode) |
固定(Fixed) |
|
循环时长(Loop Duration) |
1 |
|
-
展开 Spawn Burst Instantaneous 模块。将 生成数量(Spawn Count) 设置为 10 。生成数量为10将生成大小合适、足够可见的尘云。
粒子生成设置
然后,在粒子生成(Particle Spawn)组中编辑模块。此为首次生成粒子时应用于粒子的行为。
-
在 系统总览(System Overview) 中,点击 粒子生成(Particle Spawn) 组,在 选择(Selection) 面板中将其展开。
-
展开 初始化粒子(Initialize Particle) 模块。在 点属性(Point Attributes) 中,找到 生命周期模式(Lifetime Mode) 设置。使用下拉菜单并选择 随机(Random) 。此操作将 最小值(Minimum) 和 最大值(Maximum) 域添加到生命周期(Lifetime)值。这会让每个粒子的显示时间产生一些随机变化。将 最小值(Minimum) 和 最大值(Maximum) 域设置如下。
设置
数值
最小值(Minimum)
4
最大值(Maximum)
6
-
找到 颜色(Color) 设置。在范例中, 颜色(Color) 看起来类似于灰尘的浅棕色。将 R 、 G 和 B 值设置如下。
设置
数值
红色
1.0
绿色
.85
蓝色
.57
-
在 网格体属性(Mesh Attributes) 中,找到 网格体范围模式(Mesh Scale Mode) 设置。选择 随机统一(Random Uniform) 。点击Z值域旁边的小箭头,然后选择 动态输入(Dynamic Inputs)>随机范围浮点(Random Ranged Float) 。此操作将 最小值(Minimum) 和 最大值(Maximum) 向量添加到网格体范围(Mesh Scale)值。展开 Mesh Uniform Scale Min 和 Mesh Uniform Scale Max 并设置成如下值。
设置
最小值
最大值
Mesh Uniform Scale Min
1.0
1.0
Mesh Uniform Scale Max
2.0
2.0
-
点击 已生成粒子 的 加号 ( + ),然后选择 朝向(Orientation)>初始网格体朝向(Initial Mesh Orientation) 。其中包含粒子网格体的旋转设置。你需要给形状添加一些旋转效果,避免它们过于雷同。这样会使尘云看起来更自然。
-
因为不需要此效果,在 朝向(Orientation) 中点击禁用 朝向向量(Orientation Vector) 。在 旋转(Rotation) 中点击启用 旋转(Rotation) 。点击 旋转(Rotation) 旁边的向下箭头,然后选择 动态输入(Dynamic Inputs)>统一范围向量(Uniform Ranged Vector) 。这样能让你获得少许的随机旋转效果。将 最小值(Minimum) 和 最大值(Maximum) 值保留为默认值。
-
点击 已生成粒子 的 加号 ( + ),然后选择 位置(Location)>圆柱体位置(Cylinder Location) 。圆柱体位置将粒子生成限制为圆柱体形状。
-
要使尘云靠近地面,请将 圆柱体高度(Cylinder Height) 更改为 1 。若不希望尘云比脚大太多,请将 圆柱体半径(Cylinder Radius) 更改为 10 。
粒子更新设置
最后,在粒子更新(Particle Update)组中编辑设置。这些行为会应用到粒子上并且每帧更新。
-
点击 垃圾桶 图标,删除 缩放色阶(Scale Color) 模块。此效果不需要该模块。
-
点击粒子更新(Particle Update) 的 加号 ( + ),然后选择 材质(Materials)>动态材质参数(Dynamic Material Parameters)**。这是连接到材质中的Erode动态参数(Erode Dynamic Parameter)的方式。
可以通过拖动来重新排列系统概述中发射器节点内的模块。但无法在选择(Selection)面板中重新排列模块。
-
在 动态材质参数(Dynamic Material Parameters) 模块中,你应该会看到我们在材质中设置的 Erode 参数。点击Erode的向下箭头,然后选择 动态输入(Dynamic Inputs)>来自曲线的浮点(Float from Curve) 。
-
在曲线中,右键点击直线中间位置,然后选择 将键添加到曲线(Add Key to Curve) 。现在曲线上应该有三个关键帧。你可以设置关键帧,使尘云在生命周期初期为不透明,然后慢慢变稀薄然后散开。
可点击曲线(Curve)旁边的图标,将曲线复制到Niagara曲线(Niagara Curves)面板。下图中该图标以箭头突出显示。
-
将曲线中的三个关键帧设为以下值。结果应类似于下图。
关键帧编号
时间
值
1
0
1
2
.75
.75
3
1
0
-
点击 粒子更新(Particle Update) 的 加号 ( + )图标,然后选择 速度(Velocity)>从点添加速度(Add Velocity from Point) 修复问题(Fix Issue)
-
在从点添加速度(Add Velocity from Point)模块中,将 速度强度(Velocity Strength) 设为 2.5 。不要让粒子散布得太远,只要能够表现奔跑时脚步扬起的尘土即可。这就是为何你应该让速度强度的数值相对较小。
-
点击 粒子更新(Particle Update) 的 加号 ( + )图标,然后选择 力(Forces)>加速力(Acceleration Force) 修复问题(Fix Issue)
-
在加速力(Acceleration Force)模块中,将 加速(Acceleration) 设置为 X:0、Y:0 和 Z:200 。现在尘云会向外向上扩散,但是向上的动力稍微大了一些。因此要为尘云添加一些阻力。
-
点击 粒子更新(Particle Update) 的 加号 ( + )图标,然后选择 力(Forces)>阻力(Drag) 修复问题(Fix Issue)
-
在阻力(Drag)模块中,将 阻力(Drag) 设为 12 。 阻力(Drag) 设置会与加速力相互作用,防止尘云的向上运动看起来不够真实。
阶段成果
你已创建了尘土效果,现在你应该能在关卡中的玩家出生点模型旁边的位置看到此效果。若你觉得效果不合适,你可以调整各种模块设置,直到达到满意的效果。
4 - 将Niagara效果附加到角色
现在要将此效果添加到角色的奔跑动画中。在此示例中,你将把效果添加到第三人称模板中的通用型假人模型上。不过,你也可以用这些步骤将Niagara效果添加到虚幻引擎中的任意角色身上。
-
在内容浏览器(Content Browser)中,导航到 人体模型(Mannequin)>动画(Animations) 。双击 ThirdPersonRun 动画,将其在动画编辑器中打开。
-
在 动画时间轴(Animation timeline) 中点击 暂停Pause 可暂停循环动画。使用滑动指针找到角色右脚接触地面的瞬间。你需要在该位置添加尘土效果。
-
找到 通知(Notifies) 分段。借助通知,你可以在动画上的某个位置进行标记,以便播放粒子效果。会看到一条位于时间轴拖动条下方的直线。右键点击该直线,然后选择 添加通知(Add Notify)>播放Niagara粒子效果(Play Niagara Particle Effect) 。这样就能在动画中的该点位置上放置一个标记,并且带有默认标签PlayNiagaraEffect。
-
选中 PlayNiagaraEffect 通知后,在 细节(Details) 面板中找到 动画通知(Anim Notify) 部分。在此处选择要添加到动画中的Niagara系统。
-
点击 Niagara系统(Niagara System) 旁边的下拉菜单,然后选择在Niagara中创建的 FX_FootstepDustPoof 系统。通知上的标签更改为 FX_FootstepDustPoof 。
-
对左脚重复上述步骤。
阶段成果
你已成功将Niagara效果添加到角色的奔跑动画中。祝贺你!
5 - 最终效果
6 - 自行尝试!
在创建完基础效果并将其添加到角色身上后,你可以接着尝试一些其他的操作方法,为该角色执行更多操作。你还可以在Niagara中制作更多效果。