如何在Niagara中创建光束效果

本页面介绍如何创建模拟光照的光束效果。

Choose your operating system:

Windows

macOS

Linux

前置主题

为了理解并使用本文中的内容,请确保您已掌握以下主题:

操作前提:本指南会用到Niagara插件资源中的默认条带材质(DefaultRibbonMaterial)。但是,假如你已经完成了 创建网格体粒子效果 教程,你可以使用其中的M_Balloon材质。

在Niagara中,你需要结合使用条带渲染器以及特定模块(该模块用于指示条带为光束)。在本指南中,你将学习如何创建能够模拟光照的光束。

创建系统和发射器

在Niagara中,发射器和系统相互独立。目前推荐的工作流程是从现有发射器或发射器模板创建系统。

  1. 首先,在内容浏览器(Content Browser)中右键点击,创建Niagara系统(Niagara System),并选择 FX > Niagara系统(Niagara System) 。之后将显示Niagara发射器(Niagara Emitter)向导。

    点击查看大图。

  2. 选择 从选定发射器新建系统(New system from selected emitters) 。然后点击 下一步(Next)

    点击查看大图。

  3. 模板(Templates) 中,选择 静态光束(Static Beam)

    点击查看大图。

  4. 点击 加号 图标( + ),将发射器添加到发射器列表中,以便添加到系统中。然后点击 完成(Finish)

    点击查看大图。

  5. 将新系统命名为 BeamSystem 。双击它,以便在Niagara编辑器(Niagara Editor)中打开。

    命名系统

  6. 新系统中发射器实例的默认名称为 StaticBeam ,但是你可以重命名。在系统概述中点击发射器实例的名称,该字段将变为可编辑。将发射器命名为 FX_Beam

    点击查看大图。

更改渲染器设置

渲染组 位于堆栈的最后,但是你需更改一些内容,以便效果按照预期的方式显示。

  1. 系统概述(System Overview) 中,点击 渲染器(Render) ,在 选择(Selection) 面板中将其打开。

    点击查看大图。

    此系统中的发射器模板已经包含条带渲染器。在本指南的后面部分,你将添加特定模块,以便将指示条带作为光束使用。

  2. 用于此渲染器的材质为 DefaultRibbonMaterial 。如果要使用其他材质,你可以点击下拉列表搜索并选择该材质。

  3. 如果你滚动到 条带渲染(Ribbon Rendering) 分段中的设置,你会找到一个名为 曲面细分(Tessellation) 的分段。在该分段中,将 曲线张力(Curve Tension) 设置为 0.5 。这将影响光照效果的尖锐程度。你可以提高或降低该值,改变效果。

    点击查看大图。

  4. 将 **BeamSystem 拖到关卡中。

    当你制作粒子效果时,最好将系统拖到关卡中。这样你可以查看每项更改并在上下文中编辑。你对系统所做的任何更改都会自动传播到关卡中的系统实例。

编辑发射器更新组设置

首先,你在 发射器更新(Emitter Update) 组中编辑模块。这些是应用于发射器并更新每帧的行为。

  1. 系统概述(System Overview) 中,点击 发射器更新(Emitter Update) 组,在 选择(Selection) 面板中将其打开。

    点击查看大图。

  2. 静态光束 发射器模板默认将 生命周期模式(Life Cycle Mode) 设置为 自身(Self) 。这意味着直接设置发射器的生命周期和循环行为,而不是由系统处理。对于此效果,你可以向值添加浮点,为 循环时长(Loop Duration) 添加一些随机性。点击 循环时长(Loop Duration) 下拉箭头,然后选择 动态输入(Dynamic Inputs)> 随机范围浮点(Random Ranged Float) 。此操作将在循环时长(Loop Duration)中添加 最小值(Minimum) 最大值(Maximum) 字段。

    点击查看大图。

  3. 将循环时长(Loop Duration)的最小值(Minimum)和最大值(Maximum)设置如下。

    点击查看大图。

    设置

    数值

    最小值(Minimum)

    0.1

    最大值(Maximum)

    0.2

  4. 指示此效果使用光束的第一个模块是 光束发射器设置(Beam Emitter Setup) 模块。由于你从静态光束模板开始,因此已经包含此模块。对于 光束开始(Beam Start) 光束结束(Beam End) ,保留默认值。选中复选框,启用 绝对开始(Absolute Start) 绝对结束(Absolute End) 。光束的起始位置由场景中Niagara系统的位置决定。结束位置由"光束结束位置(Beam End)"中设置的静态坐标定义。

    点击查看大图。

  5. 要为效果添加弧线或曲线,请选中复选框,启用 使用光束切线(Use Beam Tangents) 。系统显示 光束开始切线(Beam Start Tangent) 光束结束切线(Beam End Tangent) 设置。点击 光束开始切线(Beam Start Tangent) 重置为默认值(Reset to Default) (黄色小箭头)图标,将值更改为 矢量乘以浮点(Multiply Vector by Float) 光束结束切线(Beam End Tangent) 已设置为矢量乘以浮点(Multiply Vector by Float)。将光束开始切线(Beam Start Tangent) 矢量(Vector) 浮点(Float) 设置为以下值。

    点击查看大图。

    设置

    数值

    矢量(Vector)

    X :0, Y :0, Z :1

    浮点(Float)

    0.5

  6. 将光束结束切线(Beam End Tangent)矢量(Vector)和浮点(Float)设置为以下值。

    点击查看大图。

    设置

    数值

    矢量(Vector)

    X :0, Y :0, Z :1

    浮点(Float)

    1

  7. 即时生成迸发(Spawn Burst Instantaneous) 模块中,将 生成计数(Spawn Count) 值设置为 35

    点击查看大图。

编辑粒子生成组设置

然后,你将在 粒子生成(Particle Spawn) 组中编辑模块。此为首次生成粒子时应用于粒子的行为。

  1. 系统概述(System Overview) 中,点击 粒子生成(Particle Spawn) 组,在 选择(Selection) 面板中将其打开。

    点击查看大图。

  2. 初始化粒子(Initialize Particle) 模块中,找到 生命周期(Lifetime) 参数。生命周期参数确定粒子消失之前的显示时长。将 生命周期(Lifetime) 设置为 0.2 。此短生命周期将导致光束闪烁,从而使光照显得更真实。

    点击查看大图。

  3. 生成光束(Spawn Beam) 模块是第二个光束特定模块。你无需为此模块设置任何内容,只需保持当前状态。

  4. 第三个光束特定模块为 光束宽度(Beam Width) 模块。光束宽度(Beam Width)设置为 曲线中浮点(Float from Curve) 。点击第二个曲线键可显示时间(Time)和值(Value)字段。将 时间(Time) 设置为 0.5 ,将 值(Value) 设置为 1 。要使形状看起来合适,请右键点击每个曲线键,并确保将其设置为 自动(Auto)

    点击查看大图。

  5. 在曲线图下方,你可以看到一些其他设置。将 缩放曲线(Scale Curve) 设置为 5

编辑粒子更新组设置

现在,你将在 粒子更新(Particle Update) 组中编辑模块。此类行为将应用于发射器的粒子并更新每个帧。

  1. 系统概述(System Overview) 中,点击 粒子更新(Particle Update) 组,在 选择(Selection) 面板中将其打开。

    点击查看大图。

  2. 对于 颜色(Color) 模块,将 RGB 值设置如下。

    点击查看大图。

  3. 要断开曲线并使光束像闪电一样裂开跳跃,请点击 粒子更新(Particle Update) 加号 + )图标并选择 位置(Location)> 抖动位置(Jitter Position) ,添加 抖动位置(Jitter Position) 模块。

    点击查看大图。

  4. 为了使 抖动位置(Jitter Position) 模块正常运行,你需要更新光束(Update Beam)模块。点击 粒子更新(Particle Update) 加号 + )图标并选择 光束(Beam)> 更新光束(Update Beam) ,添加 更新光束(Update Beam) 模块。在 系统概述(System Overview) 中,将 更新光束(Update Beam) 模块拖到堆栈中 抖动位置(Jitter Position) 模块上方的位置。

    点击查看大图。

  5. 现在回到 抖动位置(Jitter Position) 模块。 抖动量(Jitter Amount) 的默认设置为 10 抖动延迟(Jitter Delay) 的默认设置为 0.25 。但是,如果将 抖动延迟(Jitter Delay) 减小到 0.1 ,你将开始看到光束弯曲并呈角度锯齿状运动。如果值为 0.1 ,你仍然可以看到锯齿状光束下的原始弧形,这并非理想效果。要修复此问题,你必须将抖动延迟(Jitter Delay)设置为负数。将 抖动延迟(Jitter Delay) 设置为 -0.01 。将 抖动量(Jitter Amount) 设置为 15

    点击查看大图。

最终结果

恭喜!你已经创建了模拟光照的光束效果。在下面的视频中,你可以看到光照光束效果的示例。你可以将光束用于各种视觉效果:激光、武器射线、特斯拉线圈等。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消