Unity中的音频混合。

这是游戏开发模块博客文章的网络版本。

在此期间,我一直在为我们的项目进行音频混合和集成。 我从总体上学到了很多关于音频混合的知识,并且更多地了解了它如何在Unity中实现。

我们首先创建一个音频混合器,它是一个内置的引擎组件,可以通过资产创建菜单进行访问。 这会将混音器添加到游戏的层次结构中,它是全局的,不需要放置到场景中。 调音台模仿现实生活中的调音台的功能,并且可以具有任意数量的通道。 [图。1]

可以在检查器面板中使用音频源的下拉框将音频源设置为混音器上的通道。 创建代表声音类型的通道,并为它们分配要进行调平和接收效果的信号源非常有用。 类别可以是例如音乐,声音效果或环境声音。

频道在Unity中被称为组,并按层次结构进行组织,父母将其效果应用于所有孩子。 利用此层次结构是充分利用音频混音器的关键。 为了举例说明,如果我们以母版音量为父级,并以音乐频道和音效频道作为其子级,则母版会将其音量和效果应用到各个子频道设置的音量和效果之上。 使用此功能,我们可以使用单独的通道来控制彼此相对的音乐和声音效果的音量,并与母带同时影响两者,并保持相对的音量关系。 [图2]

此概念也适用于混音器效果,如果将混响应用于父声道,它将应用于任何子声道。 本质上,任何通过通道的信号都会受到该通道的影响。

因此,如果我们扩展示例,以便声音效果通道有三个孩子,一个用于射击,一个用于脚步,另一个用于语音。 如果我们希望三个子通道之一发挥作用,例如将混响应用于武器声音,而其余的保持干净,该怎么办? 我们不想对主通道应用效果,因为我们最终会将混响应用于音乐。 我们也不想将其应用于声音效果通道,因为它将影响所有孩子。 最后,由于增加了每个效果所涉及的处理,因此在每个通道的基础上单独应用效果可能很快变得非常昂贵。 这里的解决方案称为侧链。

侧链是一种通道,没有直接分配音频源。 相反,它们具有一个或一组应用的效果以及“接收”效果。 [图3]

顾名思义,侧链必须位于与通道相同的层次结构中,以接收效果,或者在其侧面。 在我们的示例中,这意味着混响通道必须是效果通道的直接子级。 然后,炮火通道会应用“发送”效果并设置适当的发送量。 该值确定有多少声音通过侧链效果通道发送,然后像其他通道一样工作,将其信号沿层次结构向上传递到效果通道,再传递到主通道。 这意味着该子组中的任何通道几乎都可以免费应用混响,因为仅处理一种效果。

同样重要的是要注意,发送数量不会影响基本通道上的声音,它不会“占用”一定数量,而是会将要发送的数量复制到效果器中进行处理。 这意味着,如果将50%的声音发送到侧链,则可以听到100%的基本声音或干声,并且同时听到50%的基本声音的效果。 您可以调节通道的音量水平和干/湿混合,仅需一个效果过程即可在多个通道上获得多种效果。

效果处理可以增加声音的氛围和肉感,并覆盖自由资产的中等质量。 例如,我们的游侠班使用突击步枪型武器,我们的主题是受到外星人攻击的空间站。 我发现,通过在高射速下发出尖锐的枪声以及沉重的凸缘效果,可以获得与外星人突击步枪非常相似的声音。 在下面的视频中,使声音似乎尖叫和振荡的是法兰