先决条件步骤:
本教程将使用 M_smoke_subUV、M_Spark 和 M_Radial_Gradient材质,它们包含在初学者内容包中。如你尚未将初学者内容添加到项目,请务必进行添加。本教程同时使用在Niagara中创建Sprite粒子效果教程中创建的FX_Smoke发射器。
若要重新创建初学者内容包中包含的火花效果,你需要制作三个Niagara发射器:一个用于火花喷泉,一个用于中心火花,一个用于火花喷泉中冒出的一小股烟雾。因为你可以使用现有发射器的副本创建烟雾发射器,所以你将从该烟雾发射器开始操作。
最终效果如下图所示。
因为你可以使用现有发射器的副本创建烟雾发射器,所以你将从该烟雾发射器开始操作。
创建烟雾发射器和火花系统
Niagara发射器和系统是独立的。当前推荐工作流将从现有发射器或发射器模板创建系统。
-
在项目的内容文件夹中,为本教程创建新文件夹。
-
复制在Niagara中创建Sprite粒子效果教程中创建的 FX_Smoke 发射器。
点击查看大图。
-
将此复制发射器拖放到你在步骤1中创建的文件夹中。在弹出的上下文菜单中,选择 移动(Move)。
-
将复制的发射器重命名为 FX_Sparks_Smoke。
-
现在,创建火花效果系统。右键点击新烟雾发射器,然后选择 创建Niagara系统(Create Niagara System)。
点击查看大图。
有多种方法可以创建新Niagara系统。由于你是从已创建发射器着手,所以此处使用的方法会快速创建包含该发射器的系统。但是,正如你在创建Sprite粒子效果教程中所见,发射器和系统向导提供了许多创建和设置Niagara系统的其他选项。
-
将系统命名为 SparksSystem。
-
若尚未打开关卡,请在关卡编辑器中打开。将 SparksSystem 从 内容抽屉(Content Drawer) 中拖到关卡中。
制作粒子效果时,最好将系统拖到关卡中。这样便可查看每一项更改并在上下文中进行编辑。你对系统所做的任何更改都将自动传播到关卡中的系统实例。 点击查看大图。
烟雾发射器 - 编辑发射器更新设置
-
在系统概览(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) 改为下列值。
点击查看大图。
参数 值 生命周期模式(Lifetime Mode) 随机 最小值(Minimum) 2.0 最大值(Maximum) 3.0 -
找到 颜色(Color) 参数。将RGB值改为下列值:
点击查看大图。
参数 值 红色(Red) 0.3 绿色(Green) 0.3 蓝色(Blue) 0.3 -
在 Sprite属性(Sprite Attributes) 下,展开 Sprite大小(Sprite Size)。将"Sprite大小模式(Sprite Size Mode)"设置为 非统一(Non-Uniform)。将 最小值(Minimum) 和 最大值(Maximum) 改为下列值。
点击查看大图。
参数 值 Sprite大小模式(Sprite Size Mode) 随机 一致 最小值(Minimum) 20.0 最大值(Maximum) 40.0 -
打开 添加速度(Add Velocity) 模块。将速度(Velocity)的 最小值(Minimum) 和 最大值(Maximum) 改为下列值。
点击查看大图。
参数 值 最小值(Minimum) X:0,Y:0,Z:25 最大值(Maximum) X:1,Y:1,Z:35 -
打开 形状位置(Shape Location) 模块。将 球体半径(Sphere Radius) 值改为 5。
点击查看大图。
烟雾发射器 - 编辑粒子更新设置
现在,你将在粒子更新组中更新模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在 系统概览(System Overview) 中,点击 粒子更新(Particle Update) 组以在 选择(Selection)面板中打开。
点击查看大图。
-
打开 缩放颜色(Scale Color) 模块。点击取消选中 缩放RGB(Scale RGB) 旁的框。在 缩放透明度(Scale Alpha) 曲线上方,点击 Smooth Ramp Down(平顺下调) 模板来将形状应用到曲线上。
点击查看大图。
-
打开 加速力(Acceleration Force) 模块。将 加速(Acceleration ) 值设为 X:0,Y:0,Z:20。
点击查看大图。
到目前为止,你已经配置好了系统中的第一个发射器。它应该和下图相似。
为系统添加火花迸发发射器
接着,你需要在效果中心创建火花迸发效果。
-
右键点击SparkFountain系统的 系统概览(System Overview)。点击 添加发射器(Add Emitter),现有发射器的列表随即显示。从发射器列表中,选择 简单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 Rate) 模块。将 生成率(Spawn Rate) 设为 50.
点击查看大图。
火花迸发发射器 - 编辑粒子生成设置
下一步,你将在 粒子生成(Particle Spawn) 组中编辑模块。这些是粒子首次生成时将应用的效果。
-
在 系统概览(System Overview) 中,点击 粒子生成(Particle Spawn) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
在 点属性(Point Attributes) 下,将粒子 生命周期(Lifetime) 设为 .2。
点击查看大图。
-
将 质量模式(Mass Mode) 设置为 随机(Random),将质量的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
参数 值 质量模式(Mass Mode) 随机(Random) 最小值(Minimum) 0.6 最大值(Maximum) 1.0 -
在 Sprite属性(Sprite Attributes) 下,展开 Sprite大小(Sprite Size)。将 Sprite大小模式(Sprite Size Mode) 设置成 随机非同一(Random Non-Uniform)。将"Sprite大小(Sprite Size)"的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
Sprite 大小 最小值 最大值 X 10.0 30.0 Y 10.0 25.0 -
点击 Sprite旋转(Sprite Rotation) 旁的复选框,启用该选项。将 Sprite旋转模式(Sprite Rotation Mode) 设置成 直角(度)(Direct Angle (Degrees))。点击值字段旁边的下拉框,并选择 动态输入(Dynamic Inputs)> 随机范围浮点(Random Ranged Float)。
点击查看大图。
-
将 最小值(Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 最小值(Minimum) -10 最大值(Maximum) 30 -
点击粒子生成(Particle Spawn)的 加号 (+),然后选择 生成(Spawning)> 添加速度(Add Velocity)。
点击查看大图。
-
打开 添加速度(Add Velocity) 模块。点击值旁边的下拉框,并选择 动态输入(Dynamic Inputs)> 随机范围向量(Random Ranged Vector)。
点击查看大图。
-
将速度的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
速度 最小值 最大值 X 0.0 5.0 Y 0.0 5.0 Z 0.0 5.0 -
点击粒子生成(Particle Spawn)的 加号 (+),然后选择 位置(Location)> 形状位置(Shape Location)。
点击查看大图。
-
打开 形状位置(Shape Location) 模块。将 球体半径(Sphere Radius) 设为 5。
点击查看大图。
火花迸发发射器 - 编辑粒子更新设置
现在,你将在 粒子更新(Particle Update) 组中编辑模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在系统概览(System Overview)中,点击 粒子更新(Particle Update) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
打开 缩放色阶(Scale Color) 模块。对于 缩放RGB(Scale RGB),将 RGB 值设置如下。在 缩放Alpha(Scale Alpha) 下,选择 平顺下调(Smooth Ramp Down) 模板。
点击查看大图。
颜色 数值 R 2.0 G 6.0 B 25.0 -
点击粒子更新(Particle Update)的 加号 (+),然后选择 大小(Size)> Sprite尺寸缩放(Sprite Size Scale)。还可在搜索栏中键入"scale",如下所示。
点击查看大图。
-
打开 Sprite大小缩放(Sprite Size Scale) 模块。点击 缩放因子(Scale Factor) 值字段旁边的下拉框,并选择 动态输入(Dynamic Inputs)> 随机范围向量2D(Random Ranged Vector 2D)。还可在搜索栏中键入
random,如下所示。点击查看大图。
-
将缩放因子的 最小值(Minimum) 和 最大值(Maximum) 设为下列值:
点击查看大图。
缩放 最小值 最大值 X 1.0 3.5 Y 2.5 5.0
到目前为止,你已经配置好了系统中的第二个发射器。它应该和下图相似。
添加弧度火花发射器到系统
-
右键点击SparkFountain系统的 系统概览(System Overview)。点击 添加发射器(Add Emitter),现有发射器的列表随即显示。从发射器列表中,选择 简单Sprite迸发(Simple Sprite Burst) 模板。
点击查看大图。
-
模板发射器的默认名称为 SimpleSpriteBurst,但你可以对其重命名。点击发射器名称,该字段将转变为可编辑状态。将新系统命名为 FX_Sparks_Radial。
点击查看大图。
弧度火花发射器 - 编辑渲染器设置
虽然 渲染(Render) 组是堆栈中的最后一项,但你需要更改材质,以便效果按照预期方式显示。
-
在 系统概览(System Overview) 中,点击 渲染器(Renderer) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
点击 材质(Material) 下拉框并从初学者内容包中选择 *M_Radial_Gradient 材质。在搜索栏中输入
radial来找到它,如下图所示。点击查看大图。
-
点击 对齐(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 Rate) 模块。将 生成速率(Spawn Rate) 设置为 500。
点击查看大图。
弧度火花发射器 - 编辑粒子生成设置
下一步,你将在 粒子生成(Particle Spawn) 组中编辑模块。这些是粒子首次生成时将应用于粒子的行为。
-
在系统概览(System Overview)中,点击 粒子生成(Particle Spawn) 组以在 选择(Selection) 面板中打开。
点击查看大图。
-
打开 初始化粒子(Initialize Particle) 模块。在 点属性(Point Attributes) 下,展开 生命周期(Lifetime)。将生命周期(Lifetime)的模式设置为 随机(Random),将 最小值( Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 生命周期模式(Lifetime Mode) Random 最小值(Minimum) 0.2 最大值(Maximum) 0.7 -
展开 颜色(Color)。将 颜色模式(Color Mode) 设置为 直接设置(Direct Set),将RGB值设为下列值:
点击查看大图。
参数 值 红色(Red) 2.0 绿色(Green) 8.0 蓝色(Blue) 20.0 Alpha 1.0 -
展开 质量(Mass)。将 质量模式(Mass Mode) 设置为 随机(Random),将 最小值(Minimum)和 最大值(Maximum)设为下列值:
点击查看大图。
参数 值 质量模式(Mass Mode) 随机 最小值(Minimum) 0.3 最大值(Maximum) 0.6 -
在 Sprite属性(Sprite Attributes) 下,将 Sprite大小模式(Sprite Size Mode) 设置为 非统一(Non-Uniform)。设置以下值:X:0.25,Y:0.5。
点击查看大图。
-
将 Sprite旋转模式(Sprite Rotation Mode) 和 Sprite UV模式(Sprite UV Mode) 保留为 未设置(Unset)。
-
点击 粒子生成(Particle Spawn) 的 加号(Plus sign) 图标(+),然后选择 质量 > 按质量计算尺寸和旋转惯性(Mass > Calculate Size and Rotational Inertia by Mass)。你也可以在搜索栏中输入
calc,如下所示。点击查看大图。
-
打开 按质量计算尺寸和旋转惯性(Calculate Size and Rotational Inertia by Mass) 模块。在 密度(Density) 下,将 按材质类型划分的密度(Density by Material Type) 设置为 水(Water)。
点击查看大图。
-
在 比例(Proportions) 下,将 高度(Height) 更改为 0.5,深度(Depth) 更改为 0.0。
点击查看大图。
-
点击 粒子生成(Particle Spawn) 的 加号(Plus sign) 图标(+),然后选择 速度 > 添加速度(Velocity > Add Velocity)。你也可以在搜索栏中输入
velocity。点击查看大图。
-
打开 添加速度(Add Velocity) 模块。点击下拉菜单,选择 动态输入(Dynamic Inputs) 然后选择 随机范围向量(Random Range Vector)。
点击查看大图。
- 将速度的 最大值(Minimum) 和 最小值(Maximum) 设为以下值。
点击查看大图。
速度 最小值 最大值 X -100.0 90.0 Y -100.0 90.0 Z 300.0 500.0 -
点击 粒子生成(Particle Spawn) 的 加号(Plus sign) 图标(+),然后选择 位置(Location)> 形状位置(Shape Location)。你也可以在搜索栏中输入
sphere。点击查看大图。
-
打开 形状位置(Shape Location) 模块。将 球体半径(Sphere Radius) 设置为 2.0。
点击查看大图。
弧度火花发射器 - 编辑粒子更新设置
现在,你将在 粒子更新(Particle Update) 组中编辑模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在 系统概览(System Overview) 中,点击 粒子更新(Particle Update) 组,以在 选择(Selection) 面板中将其打开。
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号 图标(+),然后选择 速度(Velocity) > 缩放速度(Scale Velocity)。
点击查看大图。
-
将 缩放速度(Scale Velocity) 调整为 X: 3.0, Y: 4.0, Z: 1.0.
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号 图标(+),然后选择 力(Forces) > 重力(Gravity Force)。
点击查看大图。
-
打开 重力(Gravity Force) 模块。将 Z 值更改为 -4500。
点击查看大图。
- 点击 粒子更新(Particle Update) 的 加号 图标(+),然后选择 力(Forces)> 阻力(Drag)。
点击查看大图。
-
打开 阻力(Drag) 模块,将 阻力(Drag) 值设置为 1.7。
点击查看大图。
-
点击 粒子更新(Particle Update) 的 加号 (+) 并选择 碰撞(Collision)> 碰撞(Collision)。该模组可以保证所有火花能够撞击到地板之类的物体并且弹起。
点击查看大图。
-
打开 碰撞(Collision) 模块。在 反射(Bounce) 中,将 恢复力(Restitution) 值设置为 0.4。
点击查看大图。
-
在 摩擦力(Friction) 中,将 摩擦力(Friction) 值设置为 0.2。
点击查看大图。
-
点击 垃圾桶(Trashcan) 图标,以移除 缩放色阶(Scale Color) 模块。
点击查看大图。
-
点击 加号 (+),然后选择 大小 (Size)> 按速度缩放Sprite大小(Scale Sprite Size by Speed)。
点击查看大图。
-
打开 按速度Sprite大小缩放(Sprite Size Scale by Speed) 模块。将 比例因子(Scale Factor) 的最小值(Minimum)和最大值(Maximum)设置如下:
点击查看大图。
按速度Sprite大小缩放 最小值 最大值 X 0 0.5 Y 3 6 -
将 速度阈值(Velocity Threshold) 值设为 2000。
点击查看大图。
最终结果
祝贺你!在完成上述步骤后,火花效果就制作完成了。你可以回到自己的关卡中查看最终结果,并且根据需求进行微调。
