在 UnrealEngine Niagara 粒子系统中播放 ADX2音效

概述

本页展示了当 Niagara 粒子系统中生成或破坏粒子时如何播放 ADX2音效。
另外,在本文中,我们将解释虚幻引擎的Niagara功能的声音添加,因此请提前阅读以下内容。 我们建议您阅读下面的文章。
■UnrealEngine Niagara官方文档
Unreal Engine 官方文档 | 制作视觉效果
Unreal Engine 正式文件|Niagara的音频效果
■Niagara效果制作示例
[Niagara超级基础 #1] 简单概念 [UE5]

准备在 Niagara 上播放 ADX2音效

要在 Niagara 中播放 ADX2 声音, 必须在编辑器中启用 CriWareNiagara 插件。
criware_ue_atom_niagara_prepare_enable_niagara_plugin.png
因此,使用前请检查应用于UnrealEngine的CriWare UnrealEngine Pluign中是否包含该插件以及是否启用。
CriWareNiagaraPlugin 包含一个播放 ADX2音效的模块。
数据枚举类型
  • ENiagara_AtomSoundParamType.uasset
  • PlayAtomMode.uasset
Niagara 模块
  • PlayAtom.uasset
  • PlayPersistentAtom.uasset
  • UpdatePersistentAtom.uasset
  • AtomSoundStopWhenParticleDie.uasset
如果您想在 Niagara 系统上播放 ADX2音效,请将 Niagara 模块连接到 Niagara 发射器或 Niagara 系统。 我们将在茎中使用它。

尼亚加拉音效播放

Niagara 将 AtomPlayer界面作为粒子属性中的变量,并使用它来播放声音。 我们将通过向 Niagara 发射器添加模块来配置代码播放。
使用模块播放ADX2音效的方法如下。

PlayAtom 模块

用于单次音效播放。 基本上,将其称为 Niagara 发射器内的“粒子生成”。
criware_ue_atom_niagara_prepare_playback_playatom.png

PlayPersistentAtom

如果您想在更新粒子等时更改坐标,请使用 PlayPersistentAtom 模块。 在“粒子生成”中调用并使用它。
criware_ue_atom_niagara_prepare_playback_playpersistentatom.png

UpdatePersistentAtom

可以将PlayPersistentAtom模块播放的音效的Location、Rotation、Volume、Pitch等设置为“Party”。 您可以在“线索更新”中更改。
一个模块只能更改一种类型的参数,因此如果要更新多个参数(如位置或旋转), 一个模块只能更改一种类型的参数,因此如果要更新多个参数(如位置或旋转), 添加一个模块。
criware_ue_atom_niagara_prepare_playback_updatepersistentatom.png

AtomSoundStopWhenParticleDie

当粒子消失时会触发此模块事件。
可以停止由第一个 AtomPlayer 中设置的 AtomPlayer 重新引导声音, 并在粒子被摧毁时播放第二个 AtomPlayer 中设置的声音。
criware_ue_atom_niagara_prepare_playback_atomsoundstopwhenparticledie.png

在Niagara系统上添加ADX2音效的示例

根据要应用的效果来决定要播放的音效的规格

由于粒子效果的表现形式千变万化, 这次我们将简单地为烟花效果添加 ADX2 音效。
criware_ue_atom_niagara_example_determine_specifications_how_to_play_sounds.png
对于这个烟花效果,首先让我们确定在哪里添加声音。
该烟花效果将如下转变。
  • 发射光
  • 光正在发射中
  • 光爆炸
  • 光消失了
此流程中需要音效的地方
  • Koukafue发射时的声音(哈~)
  • 爆炸性光声(不要!)
    有两种类型。
    为了简单起见,添加的声音数量已减少。
每个音效的行为如下。
Koukafue发射时的声音(哈~)
  • 声音从发射时持续到爆炸时。
  • 爆炸时停止
光的爆炸(不要!)
  • 爆炸时再生
我们将在 NiagaraEditor 上配置设置以满足此规范。

在 Niagara 模块/系统中打开 NiagaraEditor

这次,我们将创建一种机制来直接向 NiagaraSystem 的内部发射器播放 ADX2音效。
Kouka 效果使用 MarketPlace 上出售的效果。
我们将向 NS_Willow1 添加声音,但为了安全起见,我们将复制 NS_Willow1 并将其命名为 NS_Willow_Test 作为实验资产。
https://unrealengine.com/marketplace/ja/product/fireworks-niagara-fx
首先,双击 NS_Willow_Test 资源以在 NiagaraEditor 中将其打开。
随后将查看以下屏幕。
criware_ue_atom_niagara_example_open_editor_NS_Willow_Test.png
对于音效,考虑一下你想要给它的情况,并使用NERocket001发射器,它发射时是白色的效果。
播放ADX2音效时,首先将变量添加到Niagara参数中。
在系统概述窗口中选择 NS_Willow_Test。
criware_ue_atom_niagara_example_editor_select_NS_Willow_Test.png
通过按粒子属性的+按钮,仅准备数据界面中AtomPlayer将播放的音效。由于这次我们想播放两种类型的音效,所以我们将准备两种。
criware_ue_atom_niagara_example_editor_add_atomplayer.png
要向 NE_Rocket001 添加声音,请从参数中拖动创建的 AtomPlayer 和 AtomPlayer2,并将它们放置在 NE_Rocket001 的“Particle Spawn”中的 AddVelocityinCone 下。
criware_ue_atom_niagara_489b7f2b-81ff-483e-a19e-4435bd5ebecd.png
如果您选择放置在 NE_Rocket001 中的 AtomPlayer 和 AtomPlayer2,您将能够在选择选项卡中设置要播放的音效,因此请指定要播放的 SoundAtomCue 资源。
在这里,我们将 AtomPlayer 设置为“Kouka 笛子发射的声音(呵呵~)”,并将 AtomPlayer2 设置为“Kouka 爆炸的声音(咚!)”。
现在,首先,要播放 Koukafue 升起的声音,请按 NE_Rocket001 的“粒子生成”的 +按钮,然后选择 PlayPersistentAtom。
\图片 html criware_ue_atom_niagara_07b89c61-9289-47b2-97f7-8463fd7ea32e.png
criware_ue_atom_niagara_13e4bbc0-b260-4ce4-8962-13f94f9c243b.png
现在应该如图所示。
当选择NE_Rocket001中的任意模块时,左侧的参数中会查看各个模块所拥有的公共参数列表,并在其中查找名为PlayAudio的bool变量。
criware_ue_atom_niagara_c9d2e94e-2730-41c0-8549-a805d717d151.png
找到 PlayAudio 的 bool 值后,将其拖放到 NE_Rocket001 的 PlayPersistentAtom 模块上。
添加后,启用 PlayAudio 选择选项卡中的复选框。
criware_ue_atom_niagara_c2d9dcce-3518-420c-a8bc-c1ee37816504.png
接下来,选择 PlayPersistentAtom 模块并将其拖放到选择选项卡中名为 AtomPlayer 的黄色图标上。
criware_ue_atom_niagara_445885d3-2af6-4ff0-abb7-2a7bdf187bc7.png
criware_ue_atom_niagara_314860cd-fc24-4d2a-9150-b783aaebd718.png
它应该看起来像图像。
这是产生声音的流程。
然而,如果这就是完成的全部,Koukafue 将不会从发音的位置移动。
接下来,让 Koukafue 跟随粒子。
跟踪过程将在NS_Rocket001的“粒子更新”项目中设置。
按“更新粒子”的+按钮并选择“UpdatePersistentAtom”。
创建 UpdatePersistentAtom 模块后,将 AtomPlayer 从参数选项卡拖放到 UpdatePecientAtom 模块内的 AtomPlayer。
criware_ue_atom_niagara_dd134071-581e-4ab3-801d-5d1794b10444.png
拖放后,将 UpdatePecientAtom 模块的 UpdateType更改为 Location。
因此,Koukafue 的声音将跟随烟花的颗粒而发出。
现在,当这个粒子消失时,我们将删除发射声音并添加Kouka 爆炸的声音。
这是通过在“粒子更新”中添加一个模块来实现的,该模块可以在DeathEvent发生时执行上述两类处理。
按“Particle Update”的+按钮创建AtomSoundStopWhenParticleDie模块。
\图片 html criware_ue_atom_niagara_56aaf925-c655-4661-8668-47ff47b17aa7.png
AtomSoundStopWhenParticleDie 模块中可以设置两个 AtomPlayer,因此将顶部的 AtomPlayer 设置为要停止的AtomPlayer,将底部的 AtomPlayer 设置为粒子死亡时要播放的 AtomPlayer。
图片 html criware_ue_atom_niagara_dba24db9-c247-450e-b488-2b5ae3e12434.png
criware_ue_atom_niagara_27901551-ce19-4dfa-b5a6-5129d2bba086.png
因此,我们能够实现与从 Kouka 发射到爆炸的事件顺序相对应的音效播放。