操作前提:本教程将用到Niagara插件中的“默认条带材质”(DefaultRibbonMaterial)。但是,如果你已完成创建网格体粒子效果教程,则可以使用该教程中使用的M_Balloon材质。
模拟自然现象是很有挑战性的,特别是当使用基于sprite或网格体的粒子来模拟烟雾或蒸汽轨迹时。条带发射器(Ribbon Emitters) 是模拟这些对象的优秀解决方案。在接下来的教程中,你将了解如何设置Niagara发射器以将连续条带状粒子效果发射到世界场景中。
创建系统和发射器
与在Cascade中不同,Niagara发射器和系统是独立的。当前推荐工作流将从现有发射器或发射器模板创建系统。
-
首先,在内容浏览器中点击右键并选择 FX > Niagara系统(FX > Niagara System),以创建Niagara系统。将显示Niagara发射器(Niagara Emitter)向导。
点击查看大图。
-
选择 从所选发射器新建系统(New system from selected emitters)。然后单击 下一步(Next)。
点击查看大图。
-
在 模板(Templates) 下选择 简单Sprite迸发(Simple Sprite Burst)。
使用模板将在新系统中放置发射器实例,且此发射器实例将没有任何继承。
点击查看大图。
-
单击 加号(Plus sign) 图标(+),以将所选发射器添加要添加到系统的发射器列表中。然后单击 完成(Finish)。
点击查看大图。
-
将新系统命名为 RibbonSystem。双击以在Niagara编辑器中将其打开。
-
新系统中发射器实例的默认名称为 SimpleSpriteBurst,但你可以对其重命名。在 系统概览(System Overview) 中单击发射器实例名称,该字段将转变为可编辑状态。将发射器命名为 FX_Ribbon。
点击查看大图。
更改渲染器
虽然 渲染 组是堆栈中的最后一项,但你需要更改部分内容,以便效果按预期方式显示。原始模板使用了Sprite渲染器,但此效果需要条带渲染器。
-
在 系统概览(System Overview) 中,单击 渲染(Render),以便在 选择(Selection) 面板中将其打开。
点击查看大图。
-
若要创建条带效果,你需要 条带渲染器(Ribbon Renderer) 模块。但该模板具有 Sprite渲染器 模块。单击 垃圾桶(Trashcan) 图标,以删除Sprite渲染器。
点击查看大图。
-
单击 渲染器(Render) 的 加号 图标(+),并选择 条带渲染器(Ribbon Renderer)。
点击查看大图。
-
在默认情况下,此所需材质不显示。单击 材质(Material) 下拉列表,并单击 查看选项(View Options) 以打开选项列表。勾选 显示引擎内容(Show Engine Content) 和 显示插件内容(Show Plugin Content) 的复选框。现在,你将能够看到此材质。
点击查看大图。
-
单击 材质(Material) 下拉列表,并选择 *DefaultRibbonMaterial。
如果你完成了创建网格体粒子效果课程,则可以选择 M_Balloon 材质。你可以借此获得不透明条带,而不是由“DefaultRibbonMaterial”创建的半透明条带。
点击查看大图。
-
将 RibbonSystem 拖到关卡中。
制作粒子效果时,最好将系统拖到关卡中。这样便可查看每一项更改并在上下文中进行编辑。你对系统所做的任何更改都会自动应用到关卡中的系统实例上。
编辑发射器更新组设置
首先,你将在 发射器更新(Emitter Update) 组中编辑模块。这些是将应用于发射器并更新每一帧的行为。
即使是添加Ribbon渲染器并在发射器更新组中编辑设置后,你也不会看到条带出现。这属于正常情况!当你转到本文的“粒子生成”部分后,你将开始看到实际条带。
-
在 系统概览(System Overview) 中,单击 发射器更新(Emitter Update) 组,以便在 选择(Selection) 面板中将其打开。
点击查看大图。
-
展开 发射器状态(Emitter State) 模块。此模块控制此发射器的时间和可延展性。由于你使用了 简单Sprite迸发(Simple Sprite Burst) 模板,因此 生命周期模式(Life Cycle Mode) 设置为 自身(Self)。通常,该模式用于为此特定发射器完全定制发射器生命周期逻辑,但此效果并不需要它。单击下拉列表,并将 生命周期模式(Life Cycle Mode) 设置为 系统(System)。此操作将使系统能够计算生命周期设置,而这通常可以优化性能。在默认情况下,系统以5秒的间隔无限循环。
点击查看大图。
-
当发射器处于活动状态时,生成速率(Spawn Rate) 模块创建连续粒子流。此模块已经存在于简单Sprite迸发模板中。将 生成速率(Spawn Rate) 设置为 100。
Click image for full size.
-
将 生成速率(Spawn Rate) 设置成 100。
点击查看大图。
编辑粒子生成组设置
下一步,你将在 粒子生成(Particle Spawn) 组中编辑模块。这些是粒子首次生成时将应用于粒子的行为。
-
在 系统概览(System Overview) 中,单击 粒子生成(Particle Spawn) 组,以便在 选择(Selection) 面板中将其打开。
点击查看大图。
-
展开 初始化粒子(Initialize Particle) 模块。单击 垃圾桶(Trashcan) 图标,以将其删除。由于有另一模块用于初始化条带,因此你无需此模块。
点击查看大图。
-
由于 初始化条带(Initialize Ribbon) 将多个参数收集到一个模块中,因此它可以执行与初始化粒子类似的功能。单击 粒子生成(Particle Spawn) 的 加号 图标(+),然后选择 初始化 > 初始化条带(Initialize > Initialize Ribbon)。
点击查看大图。
-
在 点属性(Point Attributes) 下,找到 生命周期(Lifetime) 参数。此参数确定了粒子在消失之前将显示多久。将 生命周期(Lifetime) 设置为 5。
点击查看大图。
-
将 *质量(Mass) 参数设置为 10**。这会影响条带向外扩散的方式及其下降的速度。
点击查看大图。
-
关于 颜色 参数,将 R(红色)值设置为 1。将其他值保留为 0。如果你愿意,也可以稍后更改颜色。
点击查看大图。
-
在 点属性(Point Attributes) 下,将 条带宽度(Ribbon Width) 设置为 10。
点击查看大图。
-
若要使条带以螺旋方式旋转,你可以添加 环形曲面位置(Torus Location) 模块。位置模块会影响粒子生成时所在位置的形状。单击 粒子生成(Particle Spawn) 的 加号 图标(+),然后选择 位置 > 环形曲面位置(Location > Torus Location)。
点击查看大图。
-
在 形状(Shape) 下,单击 环形曲面模式(Torus Mode) 下拉列表,并选择 环(Ring)。
点击查看大图。
-
将 大半径(Large Radius) 设置为 50。大半径确定了主环形状的大小。
点击查看大图。
-
在 分布(Distribution) 下,单击 环形曲面分布模式(Torus Distribution Mode) 下拉列表,并选择 直接(Direct)。
点击查看大图。
-
U位置(U Position) 参数将在环形形状上设置位置。展开 参数(Parameters) 面板的 发射器属性(Emitter Attributes) 部分。将 Emitter.Age 参数拖到 选择(Selection) 面板上;你将看到可使用此参数的字段周围出现绿色虚线。将 Emitter.Age 参数放在 U位置(U Position) 值上。条带现在看起来像在静态环中旋转,但你将在下一步改变这种状况!
点击查看大图。
-
现在,你将向条带添加一些速度。单击 粒子生成(Particle Spawn) 的 加号 图标(+),然后选择 速度 > 从点添加速度(Velocity > Add Velocity From Point)。
点击查看大图。
-
将 速度强度(Velocity Strength) 设置为 50。现在,你将看到条带开始呈螺旋形旋转!出现这种情况是因为位置在围绕大半径旋转,速度将条带从原来的圆环位置向外推。
点击查看大图。
编辑粒子更新组设置
现在,你将在 粒子更新(Particle Update) 组中编辑模块。这些行为将应用于发射器的粒子并更新每一帧。
-
在 系统概览(System Overview) 中,单击 粒子更新(Particle Update) 组,以在 选择(Selection) 面板中将其打开。
点击查看大图。
-
此效果只有一种颜色,因此无需 缩放色阶(Scale Color) 模块。单击 垃圾桶(Trashcan) 图标,以将其删除。
点击查看大图。
-
添加 加速力(Acceleration Force) 模块。正是它在模拟重力而使螺旋条带掉落。单击 粒子更新(Particle Update) 的 加号 图标(+),然后选择 力 > 加速力(Forces > Acceleration Force)。
点击查看大图。
-
由于Niagara将新模块添加到组堆栈底部,因此你会收到一条显示“模块有未满足的依赖关系(The module has unmet dependencies)”的错误消息。这是因为 加速力(Acceleration Force) 模块放置在 解算力和速度(Solve Forces and Velocity) 模块之后。单击 解决问题(Fix Issue) 以重新定位模块并解决错误。
点击查看大图。
-
将 加速(Acceleration) 的 Z 值设为 -200。正Z值会使条带螺旋上升;负Z值会使条带以抛物线形状下降。
点击查看大图。
最终结果
祝贺你!你已经在Niagara中创建了条带效果。在下方视频中,你可以看到左侧使用 DefaultRibbonMaterial 实现了条带效果,而在右侧看到使用 M_Balloon 纹理实现的相同条带效果。