概述
- 本页展示了当 Niagara 粒子系统中生成或破坏粒子时如何播放 ADX2音效。
- 另外,在本文中,我们将解释虚幻引擎的Niagara功能的声音添加,因此请提前阅读以下内容。 我们建议您阅读下面的文章。
- ■UnrealEngine Niagara官方文档
Unreal Engine 官方文档 | 制作视觉效果
Unreal Engine 正式文件|Niagara的音频效果
- ■Niagara效果制作示例
[Niagara超级基础 #1] 简单概念 [UE5]
准备在 Niagara 上播放 ADX2音效
- 要在 Niagara 中播放 ADX2 声音, 必须在编辑器中启用 CriWareNiagara 插件。
-
- 因此,使用前请检查应用于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 发射器内的“粒子生成”。
-
PlayPersistentAtom
- 如果您想在更新粒子等时更改坐标,请使用 PlayPersistentAtom 模块。 在“粒子生成”中调用并使用它。
-
UpdatePersistentAtom
- 可以将PlayPersistentAtom模块播放的音效的Location、Rotation、Volume、Pitch等设置为“Party”。 您可以在“线索更新”中更改。
一个模块只能更改一种类型的参数,因此如果要更新多个参数(如位置或旋转), 一个模块只能更改一种类型的参数,因此如果要更新多个参数(如位置或旋转), 添加一个模块。
-
AtomSoundStopWhenParticleDie
- 当粒子消失时会触发此模块事件。
可以停止由第一个 AtomPlayer 中设置的 AtomPlayer 重新引导声音, 并在粒子被摧毁时播放第二个 AtomPlayer 中设置的声音。
-
在Niagara系统上添加ADX2音效的示例
根据要应用的效果来决定要播放的音效的规格
- 由于粒子效果的表现形式千变万化, 这次我们将简单地为烟花效果添加 ADX2 音效。
-
- 对于这个烟花效果,首先让我们确定在哪里添加声音。
该烟花效果将如下转变。
-
- 此流程中需要音效的地方
- 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 中将其打开。
随后将查看以下屏幕。
-
- 对于音效,考虑一下你想要给它的情况,并使用NERocket001发射器,它发射时是白色的效果。
- 播放ADX2音效时,首先将变量添加到Niagara参数中。
在系统概述窗口中选择 NS_Willow_Test。
- 通过按粒子属性的+按钮,仅准备数据界面中AtomPlayer将播放的音效。由于这次我们想播放两种类型的音效,所以我们将准备两种。
-
- 要向 NE_Rocket001 添加声音,请从参数中拖动创建的 AtomPlayer 和 AtomPlayer2,并将它们放置在 NE_Rocket001 的“Particle Spawn”中的 AddVelocityinCone 下。
-
- 如果您选择放置在 NE_Rocket001 中的 AtomPlayer 和 AtomPlayer2,您将能够在选择选项卡中设置要播放的音效,因此请指定要播放的 SoundAtomCue 资源。
- 在这里,我们将 AtomPlayer 设置为“Kouka 笛子发射的声音(呵呵~)”,并将 AtomPlayer2 设置为“Kouka 爆炸的声音(咚!)”。
- 现在,首先,要播放 Koukafue 升起的声音,请按 NE_Rocket001 的“粒子生成”的 +按钮,然后选择 PlayPersistentAtom。
\图片 html criware_ue_atom_niagara_07b89c61-9289-47b2-97f7-8463fd7ea32e.png
-
- 现在应该如图所示。
当选择NE_Rocket001中的任意模块时,左侧的参数中会查看各个模块所拥有的公共参数列表,并在其中查找名为PlayAudio的bool变量。
-
- 找到 PlayAudio 的 bool 值后,将其拖放到 NE_Rocket001 的 PlayPersistentAtom 模块上。
添加后,启用 PlayAudio 选择选项卡中的复选框。
-
- 接下来,选择 PlayPersistentAtom 模块并将其拖放到选择选项卡中名为 AtomPlayer 的黄色图标上。
-
- 它应该看起来像图像。
- 这是产生声音的流程。
然而,如果这就是完成的全部,Koukafue 将不会从发音的位置移动。
- 接下来,让 Koukafue 跟随粒子。
- 跟踪过程将在NS_Rocket001的“粒子更新”项目中设置。
- 按“更新粒子”的+按钮并选择“UpdatePersistentAtom”。
- 创建 UpdatePersistentAtom 模块后,将 AtomPlayer 从参数选项卡拖放到 UpdatePecientAtom 模块内的 AtomPlayer。
- 拖放后,将 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
-
- 因此,我们能够实现与从 Kouka 发射到爆炸的事件顺序相对应的音效播放。