先决条件步骤:
本教程将使用M_smoke_subUV、M_Spark 和 M_Radial_Gradient材质,它们包含在初学者内容包中。如你尚未将初学者内容添加到项目,请务必进行添加。本教程同时使用在Niagara中创建Sprite粒子效果教程中创建FX_Smoke发射器。
初学者内容包中提供了数种粒子效果。在本教程中,你将学习如何在Niagara中创建火花效果。
若要重新创建初学者内容包中包含的火花效果,你需要制作三个Niagara发射器:一个用于火花喷泉,一个用于中心火花,一个用于火花喷泉中冒出的一小股烟雾。因为你可以使用现有发射器的副本创建烟雾发射器,所以你将从该烟雾发射器开始操作。
创建烟雾发射器和火花系统
Niagara发射器和系统是独立的。当前推荐工作流将从现有发射器或发射器模板创建系统。
- 在项目的内容文件夹中,为本教程创建新文件夹。
-
复制在Niagara中创建Sprite粒子效果教程中创建的 FX_Smoke 发射器。
点击查看大图。
- 将此复制发射器拖放到你在步骤1中创建的文件夹中。在弹出的上下文菜单中,选择 移动(Move)。
-
将复制的发射器重命名为 FX_SparksSmoke。
-
现在,创建火花效果系统。右键点击新蒸汽发射器,然后选择 创建Niagara系统(Create Niagara System)。
点击查看大图。
有多种方法可以创建新Niagara系统。由于你是从已创建发射器着手,所以此处使用的方法会快速创建包含该发射器的系统。但是,正如你在创建Sprite粒子效果教程中所见,发射器和系统向导提供了许多创建和设置Niagara系统的其他选项。
-
将系统命名为 SparkFountain。
-
若尚未打开关卡,请在关卡编辑器中打开。将 SparkFountain 系统拖到关卡中。
制作粒子效果时,最好将系统拖到关卡中。这样便可查看每一项更改并在上下文中进行编辑。你对系统所做的任何更改都将自动传播到关卡中的系统实例。
烟雾发射器 - 编辑发射器更新设置
-
在系统概览(System Overview)中,点击 粒子更新(Particle Update) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
打开 发射器状态(Emitter State) 模块。此模块控制此发射器的时间和可延展性。点击下拉列表,并将 生命周期模式(Life Cycle Mode) 设置为 系统(System)。此操作将使系统能够计算生命周期设置,而这通常可以优化性能。在默认情况下,系统以5秒的间隔无限循环。
点击查看大图。
-
打开 生成率(Spawn Rate) 模块。将 生成率(Spawn Rate) 改为 20。
点击查看大图。
烟雾发射器 - 编辑粒子生成设置
下一步,你将编辑粒子生成组中的模块。这些是粒子首次生成时将应用于粒子的行为。
-
在 系统概览(System Overview) 中,点击 粒子生成(Particle Spawn) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
打开 初始化粒子(Initialize Particle) 模块。在 点属性(Point Attributes) 下,展开 生命周期(Lifetime)。将 最小值(Minimum) 和 最大值(Maximum) 改为下列值。
点击查看大图。
参数 值 最小值(Minimum) 2.0 最大值(Maximum) 3.0 -
找到 颜色(Color) 参数。将RGB值改为下列值:
点击查看大图。
参数 值 红色(Red) .3 绿色(Green) .3 蓝色(Blue) .3 -
在 Sprite属性(Sprite Attributes) 下,展开 Sprite大小(Sprite Size)。将“Sprite大小模式(Sprite Size Mode)”设置为 非统一(Non-Uniform)。将 最小值(Minimum) 和 最大值(Maximum) 改为下列值。
点击查看大图。
参数 值 最小值(Minimum) 20 最大值(Maximum) 40 -
打开 添加速度(Add Velocity) 模块。将速度(Velocity)的 最小值(Minimum) 和 最大值(Maximum) 改为下列值。
点击查看大图。
参数 值 最小值(Minimum) X:0,Y:0,Z:25 最大值(Maximum) X:1,Y:1,Z:35 -
打开 球体位置(Sphere Location) 模块。将 球体半径(Sphere Radius) 值改为 5。
点击查看大图。
烟雾发射器 - 编辑粒子更新设置
现在,你将在粒子更新组中更新模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在 系统概览(System Overview) 中,点击 粒子更新(Particle Update) 组以在 选择(Selection)面板中打开。
点击查看大图。
-
打开 加速力(Acceleration Force) 模块。将 加速(Acceleration ) 值设为 X:0,Y:0,Z:20。
点击查看大图。
-
打开 缩放颜色(Scale Color) 模块。点击取消选中 缩放RGB(Scale RGB) 旁的框。将 透明透明度(Scale Alpha) 曲线上的键设为下列值:
点击查看大图。
键编号 时间 值 1 0.0 1.0 2 0.7 0.0
位系统添加火花迸发发射器
接着,你需要在效果中心创建火花迸发效果。
-
右键点击SparkFountain系统的 系统概览(System Overview)。点击 添加发射器(Add Emitter),现有发射器的列表随即显示。
点击查看大图。
-
在可用发射器列表中,点击 查看选项(View Options) 以打开选项列表。勾选 显示引擎内容(Show Engine Content) 和 显示插件内容(Show Plugin Content) 的复选框。现在,可用发射器列表将显示Niagara中包含的所有发射器模板。
点击查看大图。
-
从发射器列表中,选择 简易Sprite迸发(Simple Sprite Burst) 模板。
点击查看大图。
-
模板发射器的默认名称为 SimpleSpriteBurst,但你可以对其重命名。点击发射器名称,该字段将转变为可编辑状态。将新系统命名为 FX_SparkBurst。
点击查看大图。
火花迸发发射器 - 编辑渲染器设置
虽然 渲染(Render) 组是堆栈中的最后一项,但你需要更改材质,以便效果按照预期方式显示。
-
在 系统概览(System Overview) 中,点击 渲染器(Renderer) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
在 Sprite渲染(Sprite Rendering) 下,点击 材质(Material) 下拉框并选择 M_Spark 材质。
点击查看大图。
火花迸发发射器 - 编辑发射器更新设置
首先,你将在 发射器更新(Emitter Update) 组中编辑模块。这些是将应用于发射器并更新每一帧的行为。
-
在 系统概览(System Overview) 中,点击 发射器更新(Emitter Update) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
点击 垃圾桶(Trashcan) 图标移除 瞬间Sprite迸发(Sprite Burst Instantaneous) 模块。
点击查看大图。
-
打开 发射器状态(Emitter State) 模块。此模块控制此发射器的时间和可延展性。由于你使用了简单Sprite迸发模板,因此 生命周期模式(Life Cycle Mode) 设置为自身。通常,该模式用于为此特定发射器完全定制发射器生命周期逻辑,但此效果并不需要它。点击下拉列表,并将 生命周期模式(Life Cycle Mode) 设置为 系统(System)。此操作将使系统能够计算生命周期设置,而这通常可以优化性能。在默认情况下,系统以5秒的间隔无限循环。
点击查看大图。
-
点击粒子更新(Emitter Update)的 加号 (+),然后选择 生成(Spawning)> 生成率(Spawn Rate)。还可在搜索栏中键入“spawn”,如下所示。
点击查看大图。
-
打开 生成率(Spawn Rate) 模块。将 生成率(Spawn Rate) 设为 8,并将 生成组(Spawn Group) 设为 1。
点击查看大图。
### 火花迸发发射器 - 编辑粒子生成设置 下一步,你将在 粒子生成(Particle Spawn) 组中编辑模块。这些是粒子首次生成时将应用的效果。
-
在 系统概览(System Overview) 中,点击 粒子生成(Particle Spawn) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
在 点属性(Point Attributes) 下,将粒子 生命周期(Lifetime) 设为 .2。
点击查看大图。
-
将 质量模式(Mass Mode) 设置为 随机(Random),将质量的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
参数 值 最小值(Minimum) .6 最大值(Maximum) 1.0 -
在 Sprite属性(Sprite Attributes) 下,展开 Sprite大小(Sprite Size)。将 Sprite大小模式(Sprite Size Mode) 设置成 随机非同一(Random Non-Uniform)。将“Sprite大小(Sprite Size)”的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
参数 值 最小值(Minimum) X: 10, Y: 10 最大值(Maximum) X: 30, Y: 25 -
点击 Sprite旋转(Sprite Rotation) 旁的复选框,启用该选项。将 Sprite旋转模式(Sprite Rotation Mode) 设置成 直角(度)(Direct Angle (Degrees))。点击值字段旁边的下拉框,并选择 动态输入(Dynamic Inputs)> 随机范围浮点(Random Ranged Float)。还可在搜索栏中键入“uniform”,如下所示。
点击查看大图。
-
将 最小值(Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 最小值(Minimum) -10 最大值(Maximum) 30 -
点击粒子生成(Particle Spawn)的 加号 (+),然后选择 生成(Spawning)> 添加速度(Add Velocity)。还可在搜索栏中键入“velocity”,如下所示。
点击查看大图。
-
打开 添加速度(Add Velocity) 模块。点击值旁边的下拉框,并选择 动态输入(Dynamic Inputs)> 统一范围向量(Uniform Ranged Vector)。
点击查看大图。
-
将速度的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
参数 值 最小值(Minimum) X:0,Y:0,Z:0 最大值(Maximum) X:5,Y:5,Z:5 -
点击粒子生成(Particle Spawn)的 加号 (+),然后选择 位置(Location)> 球体位置(Sphere Location)。还可在搜索栏中键入“sphere”,如下所示。
点击查看大图。
-
打开 球体位置(Sphere Location) 模块。将 球体半径(Sphere Radius) 设为 5。
点击查看大图。
火花迸发发射器 - 编辑粒子更新设置
现在,你将在 粒子更新(Particle Update) 组中编辑模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在系统概览(System Overview)中,点击 粒子更新(Particle Update) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
打开 缩放色阶(Scale Color) 模块。对于 缩放RGB(Scale RGB),将 RGB 值设置如下。
点击查看大图。
颜色 数值 R 2 G 6 B 25 -
对于 缩放Alpha(Scale Alpha),将alpha停止点设置如下。
停止点 时间 数值 1 0.0 0.56 2 .75 0.0 -
点击粒子更新(Particle Update)的 加号 (+),然后选择 大小(Size)> Sprite尺寸缩放(Sprite Size Scale)。还可在搜索栏中键入“size”,如下所示。
点击查看大图。
-
打开 Sprite大小缩放(Sprite Size Scale) 模块。点击 缩放因子(Scale Factor) 值字段旁边的下拉框,并选择 动态输入(Dynamic Inputs)> 随机范围向量2D(Random Ranged Vector 2D)。还可在搜索栏中键入
random
,如下所示。点击查看大图。
-
将缩放因子的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
参数 值 最小值(Minimum) X:1.0,Y:2.5 最大值(Maximum) X:3.5,Y:2.5
添加弧度火花发射器到系统
-
右键点击SparkFountain系统的 系统概览(System Overview)。点击 添加发射器(Add Emitter),现有发射器的列表随即显示。
点击查看大图。
-
从发射器列表中,选择 简易Sprite迸发(Simple Sprite Burst) 模板。
点击查看大图。
-
模板发射器的默认名称为 SimpleSpriteBurst,但你可以对其重命名。点击发射器名称,该字段将转变为可编辑状态。将新系统命名为 FX_SparksRadial。
点击查看大图。
弧度火花发射器 - 编辑渲染器设置
虽然 渲染(Render) 组是堆栈中的最后一项,但你需要更改材质,以便效果按照预期方式显示。
-
在 系统概览(System Overview) 中,点击 渲染器(Renderer) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
点击 材质(Material) 下拉框并选择 *M_Radial_Gradient 材质。此材质来自初学者内容包。
点击查看大图。
-
点击 对齐(Alignment) 下拉列表,然后选择 速度对齐(Velocity Aligned)。
点击查看大图。
弧度火花发射器 - 编辑发射器更新设置
首先,你将在 发射器更新(Emitter Update) 组中编辑模块。这些是将应用于发射器并更新每一帧的行为。
-
在 系统概览(System Overview) 中,点击 粒子更新(Particle Update) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
点击 垃圾桶 图标,以移除 Sprite即时迸发(Sprite Burst Instantaneous) 模块。
点击查看大图。
-
打开 发射器状态(Emitter State) 模块。此模块控制此发射器的时间和可延展性。由于你使用了 简单Sprite迸发(Simple Sprite Burst) 模板,因此 生命周期模式(Life Cycle Mode) 设置为 自身(Self)。通常,该模式用于为此特定发射器完全定制发射器生命周期逻辑,但此效果并不需要它。点击下拉列表,并将 生命周期模式(Life Cycle Mode) 设置为 系统(System)。此操作将使系统能够计算生命周期设置,而这通常可以优化性能。在默认情况下,系统以5秒的间隔无限循环。
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号(Plus sign) 图标(+),然后选择 生成 > 生成率(Spawning > Spawn Rate)。你也可以在搜索栏中输入
spawn
,如下所示。点击查看大图。
-
打开 生成速率(Spawn Rate) 模块。将 生成速率(Spawn Rate) 设置为 500。
点击查看大图。
弧度火花发射器 - 编辑粒子生成设置
下一步,你将在 粒子生成(Particle Spawn) 组中编辑模块。这些是粒子首次生成时将应用于粒子的行为。
-
在系统概览(System Overview)中,点击 粒子生成(Particle Spawn) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
打开 初始化粒子(Initialize Particle) 模块。在 点属性(Point Attributes) 下,展开 生命周期(Lifetime)。将生命周期(Lifetime)的模式设置为 随机(Random),将 最小值( Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 最小值(Minimum) 2 最大值(Maximum) 7 -
展开 质量(Mass)。将 质量模式(Mass Mode) 设置为 随机(Random),将 最小值(Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 最小值(Minimum) .3 最大值(Maximum) .6 -
展开 颜色(Color)。将 颜色模式(Color Mode) 设置为 直接设置(Direct Set),将RGB值设为下列值:
点击查看大图。
参数 值 红色(Red) 2 绿色(Green) 8 蓝色(Blue) 20 Alpha 1 -
在 Sprite属性(Sprite Attributes) 下,将 Sprite大小模式(Sprite Size Mode) 设置为 非统一(Non-Uniform)。设置以下值:X:.25,Y:.5。
点击查看大图。
- 将 Sprite旋转模式(Sprite Rotation Mode) 保留位 未设置(Unset)。
-
点击 粒子生成(Particle Spawn) 的 加号(Plus sign) 图标(+),然后选择 质量 > 按质量计算尺寸和旋转惯性(Mass > Calculate Size and Rotational Inertia by Mass)。你也可以在搜索栏中输入
calculate
,如下所示。点击查看大图。
-
打开 按质量计算尺寸和旋转惯性(Calculate Size and Rotational Inertia by Mass) 模块。在 密度(Density) 下,将 按材质类型划分的密度(Density by Material Type) 设置为 水(Water)。
点击查看大图。
-
在 比例(Proportions) 下,将 高度(Height) 更改为 .5。
点击查看大图。
-
点击 粒子生成(Particle Spawn) 的 加号(Plus sign) 图标(+),然后选择 速度 > 添加速度(Velocity > Add Velocity)。你也可以在搜索栏中输入速度,如下所示。
点击查看大图。
-
打开 添加速度(Add Velocity) 模块。点击下拉菜单,选择 动态输入(Dynamic Inputs) > 随机范围向量(Random Range Vector)。将速度 最小值(Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 最小值(Minimum) X:-100,Y:-100,Z:300 最大值(Maximum) X:90,Y:90,Z:500 -
点击按钮 展示高级(Show Advanced)。将 缩放添加速度(Scaled Added Velocity) 设为 X:3,Y:4,Z:1。
点击查看大图。
-
点击 粒子生成(Particle Spawn) 的 加号(Plus sign) 图标(+),然后选择 位置(Location)> 球体位置(Sphere Location)。你也可以在搜索栏中输入球体,如下所示。
点击查看大图。
-
打开 球体位置(Sphere Location) 模块。将 球体半径(Sphere Radius) 设置为 2.0。
点击查看大图。
弧度火花发射器 - 编辑粒子更新设置
现在,你将在 粒子更新(Particle Update) 组中编辑模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在 系统概览(System Overview) 中,点击 粒子更新(Particle Update) 组,以在 选择(Selection) 面板中将其打开。
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号(Plus sign) 图标(+),然后选择 力 > 重力(Forces > Gravity Force)。
点击查看大图。
-
由于Niagara将新模块添加到组堆栈底部,因此你会收到一条显示“模块有未满足的依赖关系(The module has unmet dependencies)”的错误消息。这是因为 重力(Gravity Force) 模块放置在 解算力和速度(Solve Forces and Velocity) 模块之后。点击 修复问题(Fix Issue) 按钮,以移动模块并解决错误。
点击查看大图。
-
打开 重力(Gravity Force) 模块。将 Z 值更改为 -4500。
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号(Plus sign) 图标(+),然后选择 力 > 阻力(Forces > Drag)。
点击查看大图。
-
打开 阻力(Drag) 模块,将 阻力(Drag) 值设置为 1.7。
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号 (+) 并选择 碰撞(Collision)> 碰撞(Collision)。还可在搜索栏中键入“collision”,如下所示。
点击查看大图。
- 你将收到一条显示“模块具有未满足依赖性”的错误消息。点击 修复问题(Fix Issue) 按钮,以将 碰撞(Collision) 模块移至 解算力和速度(Solve Forces and Velocity) 模块上方,从而解决该错误。
-
打开 碰撞(Collision) 模块。在 反射(Bounce) 中,将 恢复力(Restitution) 值设置为 .4。
点击查看大图。
-
在 摩擦力 中,将 摩擦力 值设置为 .2。
点击查看大图。
-
点击 垃圾桶(Trashcan) 图标,以移除 缩放色阶(Scale Color) 模块。
点击查看大图。
-
点击 加号(Plus sign) (+),然后选择 大小 > 按速度缩放Sprite大小(Size > Scale Sprite Size by Speed)。你也可以在搜索栏中输入
size
,如下所示。点击查看大图。
-
打开 按速度Sprite大小缩放(Sprite Size Scale by Speed) 模块。将 比例因子(Scale Factor) 的最小值(Minimum)和最大值(Maximum)设置如下:
点击查看大图。
参数 数值 最小值(Minimum) X: 0, Y: 3 最大值(Maximum) X: .5, Y: 6 -
将 速度阈值(Velocity Threshold) 值设为 3000。
点击查看大图。
最终结果
祝贺你!在完成上述步骤后,SparkFountain系统将在关卡中产生类似下图的火花喷泉。左侧你可以看到基于Niagara的火花喷泉效果,而在右侧你可以看到基于Cascade的火花喷泉效果。