Choose your operating system:
Windows
macOS
Linux
目标
Niagara快速入门旨在帮助用户了解如何使用Niagara在虚幻引擎中创建视觉效果(VFX)。You will create a puff of smoke effect and attach it to your character's footsteps.
目的
-
在项目中导入Niagara所需的网格体和材质。
-
使用Niagara发射器和系统创建一个基础效果。
-
将Niagara效果附加到角色身上,使该效果在动画中显示。
1 - 项目设置
在本指南中,使用的是已启用 初学者内容包(Starter Content) 的 蓝图第三人称模板(Blueprint Third Person Template) 项目。若你尚未在虚幻引擎中创建过项目,请参见 创建项目 了解如何创建项目。
在创建Niagara效果前,你需要在先项目中设置一些基础材质和资产,以便在接下来的指南中使用。在完成此部分学习后,你将拥有创建Niagara效果所需的一切。
创建网格体形状
首先,你需要为效果设置网格体形状。你将创建一阵尘土,作为角色奔跑时产生的效果。你可在3D建模应用程序中创建此形状并导出,然后导入UE4项目。
-
在内容浏览器(Content Browser)中,右键点击并选择 新建文件夹(New Folder) ,创建用于此快速入门指南的文件夹。将所有资源都放入此文件夹。将该文件夹命名为 Quickstart 。
-
在3D建模应用程序中创建一个小型云朵形状,如下图所示。
-
Drag and drop your 3D model into the Content Browser to import it into your project.
如果你无法使用高级3D建模应用程序(例如3DS Max或Maya),也可选择开源3D建模应用程序,例如 Blender 。
For more information on how to import your model into Unreal Engine, see Importing Content .
创建材质
现在将制作用于尘云的基础材质。执行以下步骤。
-
在 内容浏览器(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)
0.4
最大值(Maximum)
0.6
-
找到 颜色(Color) 设置。在范例中, 颜色(Color) 看起来类似于灰尘的浅棕色。将 R 、 G 和 B 值设置如下。
设置
数值
红色
1.0
绿色
0.85
蓝色
0.57
-
在 网格体属性(Mesh Attributes) ,找到 网格体缩放模式(Mesh Scale Mode) 下拉菜单。选择 随机均匀(Random Uniform) 。 将 Mesh Uniform Scale Min 和 Mesh Uniform Scale Max 设置为以下值。
设置
值
Mesh Uniform Scale Min
1.0
Mesh Uniform Scale Max
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 Spawn 的 加号 ( + ) ,选择 速度(Velocity) > Add Velocity from Point 。"Velocity from Point"方法会让粒子从指定位置以指定速度移动。你可以用它让烟尘特效从脚步位置开始移动。
在你添加速度或力模块后,会显示一个错误,因为添加的模块总是位于组的堆栈的底部。这样会导致它们放在Solve Forces和Velocity模块的后面。点击 修复问题(Fix Issue) 来解决该错误。
-
在 "Add Velocity from Point" 模块中,将 速度强度(Velocity Strength) 设置为 2.5 。不要把粒子散布得太远,能够模拟扬起的尘埃就足够了。所以这就是为何要将数字设置得相对较小。
-
点击 Particle Spawn 的 加号 ( + ) ,选择 力(Forces) > 加速度(Acceleration Force) 。它允许你为尘埃赋予一定的向前冲量。这样尘埃就能从脚步位置散开。
在你添加速度或力模块后,会显示一个错误,因为添加的模块总是位于组的堆栈的底部。这样会导致它们放在Solve Forces和Velocity模块的后面。点击 修复问题(Fix Issue) 来解决该错误。
-
在"加速力(Acceleration Force)"模块中,将 加速度 设置为 X:0,Y:0,Z:200 。现在尘埃云会向外和向上扩散,但是向上的动力有点太大了。在粒子更新(Particle Update)步骤中,你将在每一帧上添加阻力,以减慢尘埃粒子的上升动量。
粒子更新设置
最后,在粒子更新(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) 。现在曲线上应该有三个关键帧。你可以设置关键帧,使尘云在生命周期初期为不透明,然后慢慢变稀薄然后散开。
-
点击 粒子更新(Particle Update) 的 加号 ( + )图标,然后选择 力(Forces)>阻力(Drag) 。
因为添加的模块始终位于组堆栈底部,添加速度或力模块后会显示错误。该位置设定使该模块位于解算力(Solve Forces)和速度(Velocity)模块之后。点击 修复问题(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中制作更多效果。