Unreal 中的空间音频

与视觉不同,人类能听到 360 度环绕声。 空间音效模拟人类听觉的工作方式,从而提供识别世界空间中的声音位置所需的提示。 通过在你的混合现实应用程序中添加空间音效,可以提高用户所体验的沉浸感程度。

高质量的空间音效处理比较复杂,因此,HoloLens 2 附带了用于处理这些声音对象的专用硬件。 在使用此硬件处理支持之前,需要在 Unreal 项目中安装 MicrosoftSpatialSound 插件。 本文将逐步指导你完成该插件的安装和配置,并且将提供更多相关深度资源。

安装 Microsoft 空间音效插件

向项目添加空间音效的第一步是安装 Microsoft 空间音效插件,可通过以下方式找到该插件:

  1. 单击“编辑”>“插件”,然后在搜索框中搜索“MicrosoftSpatialSound”
  2. 在 MicrosoftSpatialSound 插件中选择“已启用”复选框
  3. 从插件页面选择“立即重启”来重启 Unreal 编辑器

注意

如果尚未安装 Microsoft Windows Mixed Reality 和 HoloLens 插件,需要按照我们 Unreal 教程系列初始化你的项目部分中的说明进行安装

Unreal spatial audio plugin

待编辑器重启后,你的项目就已就绪了!

设置 HoloLens 2 平台的空间化插件

配置空间化插件是以每个平台为基础进行的。 可以通过以下方式为 HoloLens 2 启用 Microsoft 空间音效插件:

  1. 选择“编辑”>“项目设置”,滚动到“平台”,然后单击“HoloLens”
  2. 展开“音频”属性,并将“空间化插件”字段设置为“Microsoft 空间音效”

Spatialization plugin for HoloLens platform

如果要在台式电脑上的 Unreal 编辑器中预览应用程序,则需要针对 Windows 平台重复执行上述步骤

Spatializaing plugin for Windows platform

在工作站上启用空间音频

空间音频在 Windows 桌面版上默认处于禁用状态。 可以通过以下方式启用它:

  • 右键单击任务栏中的“音量”图标
    • 选择“空间音效”->“用于耳机的 Windows Sonic”以获得在 HoloLens 2 上所听到的声音的最佳呈现效果

Spatialization plugin

注意

仅当你计划在 Unreal 编辑器中测试项目时才需要此设置。

创建衰减对象

安装并配置了必要插件后:

  1. 在“放置参与者”窗口中搜索“环境声”参与者,并将它拖到“场景”窗口中

Adding ambient sound actor

  1. 将“环境声”参与者设置为场景中可视元素的子元素

    • 默认情况下,“环境声”参与者没有任何可视表示形式,因此你只能听到从它在场景中所处的位置传来的声音。 将它附加到可视元素后,就可以像对待任何其他资产一样查看和移动此参与者。
  2. 右键单击“内容浏览器”,然后选择“创建高级资产”->“声音”->“声音衰减”

Creating sound attenuation asset

  1. 右键单击“内容浏览器”窗口中的“声音衰减”资产,然后选择“编辑”选项以打开属性窗口
    • 将“空间化方法”切换到“双声道”

Set spatialization method

  1. 选择“环境声”参与者,然后向下滚动到“详细信息”面板中的“衰减”部分
    • 将“衰减设置”属性设置为你创建的声音衰减资产

Set attenuation setting

  1. 设置要附加到环境声参与者的“声音资产”
    • 更新环境声参与者的“声音”属性,以指定要使用的 SoundAsset 文件

Set sound asset

注意

SoundAsset 文件需要为单声道,这样才能使用 Microsoft 空间音效插件对它进行空间化处理。 可以通过将鼠标悬停在“内容浏览器”窗口中的资产上来找到声音文件属性,如以下屏幕截图中所示。

New sound attenuation asset

完成声音资产配置后,即可使用 HoloLens 2 上的专用硬件卸载支持对环境声进行空间化处理。

配置空间化对象

使用空间音频意味着你需要管理声音在虚拟环境中的行为方式。 你的主要目标是创建声音对象,这些对象的特征是当用户靠近时声音会更大,而当用户远离时声音会更小。 这称为声音衰减,使声音听起来就像是被放在一个固定地点一样。

所有衰减对象都有针对以下各项的可修改设置:

  • 距离
  • 空间化
  • 空气吸收
  • 侦听器聚焦
  • 混响发送
  • 封闭

Unreal 中的声音衰减提供了有关这些主题的详细信息和实现细节。

下一个开发检查点

如果你遵循我们规划的 Unreal 开发历程,则你处于探索 MRTK 核心基础知识的过程之中。 从这里,你可以继续了解下一部分基础知识:

或跳转到混合现实平台功能和 API:

你可以随时返回到 Unreal 开发检查点

另请参阅