音频系统概述

概述

虚幻引擎4中的音频系统由几个部分组成,每个部分相互协作来为玩家带来音效体验。 当您导入一个音频文件到引擎中并将其放置到关卡中时,您有几个选择,比如调整基本的 音量音高 ,调整像 Attenuation(衰减) 这样的细节设置,该 Attenuation(衰减) 定义了基于从您所在处到声源的距离如何听到音效。

虚幻引擎4也允许以 Sound CuesSound Cue Editor(音效编辑器) 的形式制作复合音效,这使您可以合成音效并应用 Sound Nodes(音效节点) 修改器来修改最终输出。 还有一些附加元素,用于定义如何听到或播放音效,这些元素也在本文中进行了介绍,并且在各自部分可以找到更多的文档链接。

导入音效文件

虚幻引擎4目前支持以任何采样率(参照下表)导入未压缩的小尾16位波形文件。要想获得最佳效果,推荐使用44100 Hz 或 22050 Hz的采样率。

规格

PCM, ADPCM, DVI ADPCM

格式

.WAV

比特率

16

扬声器声道

单声道, 立体声, 2.1, 4.1, 5.1 6.1, 7.1

导入一个音频文件到编辑器中会生成一个 Sound Wave(声音波形) 资源,该声音波形以直接放置到关卡中,也可以用于创建 Sound Cue 并在 音效编辑器 中编辑它。

导入一个音效文件有两种处理方式:

内容浏览器 中:

  1. 点击 New Asset(新建资源) CB_button_NewAsset.png 按钮。

  2. 从菜单中选择 Import(导入)

  3. 选择您想导入的.WAV文件。

或者

  1. 在Windows文件浏览器窗口中,选择您的音效文件。

  2. 点击它并将其拖拽到虚幻引擎4的 内容浏览器 中。

虚幻引擎4也支持多声道 (比如 5.1) 音效,并在导入文件时针对多声道应用使用特殊的命名规则。

关于导入及多声道应用的更多信息,请参照音频文件 文档。

音效资源类型

要想添加一个 音效资源 ,请从 内容浏览器 中点击 CB_button_NewAsset.png 按钮,并从菜单中选择后面跟着您想添加的资源的 音效

selectSoundAsset.png

有几种不同的 音效 资源可以添加到您的项目中,以下对这些资源进行了介绍。

Sound Cue

soundCueEditor.png

Sound Cues 是复合音效,允许您修改音频播放的行为、组合音频效果、使用 音效节点 应用音频修改器来改变最终输出。

关于更多信息,请参照音效编辑器 页面。

Sound Attenuation(音效衰减)

Sound Attenuation(音效衰减) 允许以可重用的方式定义衰减属性。任何地方,您都可以指定一次性使用的衰减属性,然而,您也可以指定 Sound Attenuation 资源。这使得您不必重新访问每个独立音效就可以调整衰减属性。

soundAttenuation.png

关于 衰减 属性的更多信息,请参照 环境音效Actor用户指南 页面的 Attenuation Properties(衰减属性) 部分。

关于 距离模型衰减 的更多信息,请查看距离模型衰减 页面。

Reverb Effects(混响效果)

Reverb Effects(混响效果) 是一种具有几个属性的可定义资源,您可以轻松调整这几个属性,并将其应用到关卡中放置的任何 音效体积 上。 使用 Reverb Effect ,您可以调整设置(如下图所示)来控制像回声密度、总体混响增益、空气吸收量等元素来帮助您制作出您想要的感觉。

reverbeffect.png

Sound Class(音效类别)

Sound Classes(音效类别) 是一个属性集合,这些属性可以应用到多个 音效资源 上。

Sound Class 中的属性作为现有值的乘数,并由分配给为 音效类别 的所有 音效资源 执行。

soundClassProperties.png

您可以通过添加 Child Classes(子类别) 来增加层次结构,这允许您仅从父类中传递指定属性到子类。您可以在 音效类编辑器 中将类连接到一起,同和 音效编辑器 中看到的一样,音效类编辑器 也使用类似的基于节点的界面。

soundClassEditor.png

您可以给 Sound Class 添加 Passive Sound Mixes(被动混音) (请参照下面的 Sound Mix ),该 Passive Sound Mixes(被动混音) 会在播放 Sound Class 时自动生效并激活(比如,当播放一个对话 Sound Class 时自动降低音乐音量)。

Sound Mix(混音)

Sound Mixes(混音) 允许您设置 EQ settings (均衡器设置)、修改 Sound ClassesVolume(音量)和 Pitch(音高)** 属性。

soundMixDetails.png

多个 Sound Mixes 可以同时激活,且都可以对整体音效产生影响。您可以在 蓝图 中直接使用 Push Sound Mix Modifier(激活混音修改器)Pop Sound Mix Modifier(禁用混音修改器) 来直接 Push (激活) or Pop (禁用) Sound Mixes(混音) ,或者可以在任何时候当在指定阈值内播放属于特定 Sound Class(音效类别)** 的音效时被动地启用它们。

Sound Mix 资源本身中存在几个属性。您可以通过在 内容浏览器 中双击该资源来打开它。 您可以指定该混音的 EQ Settings 设置来调整高、中、低频率和增益。由于多个 Sound Mixes(混音)EQ Settings(均衡器设置) 不能组合到一起,所以 EQ Priority(均衡器优先级) 允许您控制在给定时刻激活混音的哪个属性。

Sound Classes 部分,您可以设置该混音影响哪个 Sound Classes 。对于每个 Sound Classes ,您都可以设置 音量音高 调整器,设置是否将混音设置应用到 Child Classes(子类) 上,或者修改 VoiceCenterChannelVolume(声音中央声道音量)

Sound Mix 部分允许您指定如何应用或删除 Sound Mix 属性。Delay(延迟) 指出了多长时间之后开始应用混音属性。Fade in Time(淡入时间)Fade out Time(淡出时间) 指出了从属性没有作用达到指定属性效果的速度。Duration(持续时间) 允许在指定时间后自动禁用已激活的 Sound Mix(混音) 。值为-1表示永远不会自动禁用,被动应用的 混音 将不会自动禁用。

Dialogue Voice(对话声音) & Dialogue Wave(对话波形)

Dialogue Voice(对话声音)Dialogue Wave(对话波形) 资源用于生成游戏中的对话事件、制作字幕及补充本地化内容。

当添加一个新创建的 Dialogue Voice(对话声音) 资源时,您可以定义配音演员的 Gender(性别) 和**Plurality(数量) ,尽管您在 Dialogue Voice(对话声音) 中没有指定任何音频资源,但是这里提供的信息仍可以在 Dialogue Wave(对话波形)** 中引用。

Dialogue Wave(对话波形) 提供了更多选项,这里将音频和 讲话者/收听者 关联起来。这里也将对话音频和字幕文本的关联起来。Dialogue Wave(对话波形) 代表了一行对话,而 Dialogue Wave 的设置的核心部分是 Dialogue Contexts(对话情境)

dialogueWaveDetails.png

Dialogue Contexts(对话语境) 部分, 您可以通过在 Speaker(说话者) 或者 Directed At(针对者) 部分分别分配一个 Dialogue Voice(对话语音) 来指定说话者和针对谁说话。 实际的对话音频可以添加为 Sound Wave(声音波形) ,这个处理可以通过展开关联窗口并从下拉菜单中选择所需的资源或者通过在 内容浏览器 中指向那个资源来完成。

当多个actor说同一句话时, Add Dialogue Context(添加对话情境) 选项允许您为该对话创建一个新项,在那里你可以设置新的 Speaker(说话者)Directed At(针对者) 部分。

通过使用 Sound Cue Editor(音效编辑器) 中的 Dialogue Player(对话播放器) 节点,您也可以将 Dialogue Wave(对话波形) 资源应用到一个 Sound Cue 上。同样,您可以在 Blueprint蓝图 中通过使用 Play Dialogue at Location(在某位置处播放对话)Play Dialogue Attached(播放附加的动画) 节点来直接访问 Dialogue Wave(对话波形)

除了 Dialogue Contexts(对话情境) 外,您可以应用一个 Mature(成年人) 过滤器,该过滤器会将该对话标记为包含成年人内容的对话。在 Script(脚本) 下,您可以在 Spoken Text(所说文本) 部分输入该附加音频中所说的文本。 您也可以在 Voice Actor Direction(配音演员指导) 为该音频输入情境相关信息,以便进行更好的翻译或者作为配音演员的注释。

策略

一般音量指南

关于最大的潜在音量,在应用不同的总体频宽中是有一些变化的。 比如,立体声文件的 1.0 音量将比一个单声道文件 1.0 音量的大两倍,同样 (4) 单声道文件将比一个单声道文件的音量大 4 倍。但是最终您触及最大的阈值后,输出开始发生剪辑并失真。

在任何给定的 Sound Cue 上,音量设置高达2.0时音频文件将会增大可感知的响度,任何高于它的值将不能在增加响度。 一个单独的音效将永远不会失真,但是您不会想让您的所有文件都是最大音量,因为当在游戏中同时播放多个音效时,可能会超负荷。

您或许会想使用一致的音量设置机制,或者至少在设置音量时有个通用指南:

类别

合适的音量

对话

1.4

音乐

0.75

武器

1.1

环境音

0.5

另外,几乎在任何地方您都可以考虑使用单声道资源,但音乐除外。

Volume Ducking(音量调整控制)

Volume Ducking 一般用于降低除了所需听到的声音(通常是对话)之外的其他所有声音的音量。

这个过程通常包括:

  • 识别应该导致发生音量调整的 Sound Class(音效类别) (比如对话)。 *当触发属于那个 **Sound Class(音效类别)** 的音效时,其他 **Sound Classes(音效类别)** 的音效开始降低音量 (**Sound Mix(混音)** : **Fade in Time(淡入时间)** = 0.3 秒)。

  • 指出其他 Sound Classes(音效类别) 降低的音量的多少 (Sound Mix(混音) : Volume Adjuster(音量调整器) = 0.4).

  • 当导致产生音量调整的 Sound Class(音效类别) 的声音停止时,其他类别的音效将再次回到正常音量(Sound Mix(混音) : Fade Out Time(淡出时间) = 0.3 秒)。

  • 也许您也想使得某些 音效类别 在音量调整(ducking) 过程不受到影响(比如音乐),或者名称为 Exceptions 不受影响。

使用类似的方法将可以确保重点强调音频的重要方面,并确保它不会被表面上的或者不重要的音频元素所淹没。

优化音效内存使用量

当创建内容时,最好使用维持音频保真度的最低采样率。比如,对话通常在 22.1kHZ 可以维持声音较好的质量,而具有较高频率的经常播放的特效(比如射击)则要具有更高的频率(比如 40.0kHz)。 类似的启发可以应用到质量设置上。