Unity Beta 版本的 Project Acoustics Wwise 集成

本文介绍 Project Acoustics 的 beta 版 Unity + Wwise 数据包。 此包包含完整示例,包括 Unity 和 Wwise 项目。

软件要求:

示例设置

  • 下载 Unity + Wwise Beta 数据包
  • 创建新的 Unity 3D 项目。 初始化 Unity 后,请保存并关闭项目。
  • 将 Wwise 2021+ 集成到新的 Unity 项目中。 在集成期间,指定提供的 Wwise 项目,而不创建新的 Wwise 项目。
  • 打开 Unity 并导入 MicrosoftAcoustics.Wwise.unitypackage
  • 会有一些小的编译错误。 Open AkGameObj.cs. 将 Awake()、Update() 和 OnDestroy() 的可见性从 private 改为 protected
  • 打开 AcousticsDemo/ProjectAcousticsDemo.unity
  • 打开 WwisePicker 并确保 Wwise 项目中的数据正确显示。
  • 在层次结构中的 WwiseGlobal 对象上,添加 AkBank 组件。 使用 AcousticsGameSoundBank 填充 Name

Wwise 全局配置

  • 在层次结构中的 Sound Sources 下的 Audio Clip 中,添加 AkEvent 组件。 使用 DemoSounds_Play 填充 Name

Wwise 音频剪辑配置

  • 在层次结构中的 MicrosoftAcoustics prefab 上,确保保留与辅助总线的连接。 如果没有,请重新创建它,如下所示。 另请确保用 Main Camera 填充 Listener Obj 字段。

Wwise Microsoft Acoustics 配置

  • 单击“播放”。 确保你听得到音频。 如果听不到,请检查设置步骤。 步骤的顺序非常重要。

Wwise Project 布局

此 beta 版本中包含的 Wwise 项目与 Unreal + Wwise 集成中的不同。 此项目使用 Wwise 2021 中可用的新的空间音频对象管道以及特定的混响总线设置,以支持不同长度混响之间的混合。

启用 3D 音频支持

Wwise 2021 使用平台功能来实现空间化。 双击“系统音频设备”,并确保选中“允许 3D 音频”复选框。 无论用户为其音频端点选择任何格式,都将启用音频空间化。

启用 3D 音频

音频对象总线

使用一个为音频对象配置的辅助总线作为主干路径总线。 任何 3D 对象都应路由到此总线。 若要进行此操作,请创建新的辅助总线,并将其“总线配置”设为“音频对象

将总线配置设置为音频对象

混响总线

Project Acoustics 根据场景的几何图形和材料构成在不同混响长度间混合。 为完成此操作,该示例使用多个 Wwise 的 Convolution Reverb 混响插件实例。 beta 版本数据包提供不同长度的脉冲响应,并使用游戏代码在每条总线之间混合发送。 Project Acoustics 还以类似的方式混合了室内和室外混响。 支持室内、室外和不同混响时间的组合需要使用六条不同的混响总线。 每个混响总线上都有一个 Wwise Convolution Reverb 实例,对于短、中和长混响时间具有不同的脉冲响应。 此数据包中包含的脉冲响应已针对此设置进行了专门调整,当前不支持通用脉冲响应。 创建六条混响总线

注意

Wwise Convolution Reverb 插件不支持音频对象。 如果音频对象无意中发送到其中一条混响总线,则 Wwise Converution Reverution 插件将被禁用,你将听不到任何混响。 为了防止总线意外将音频对象发给它,请确保将混响总线配置为 2.0。

将混响总线作为音频进行设置

音频源设置

在 Wwise 中配置音频源很简单。 唯一的要求是启用“游戏定义的辅助发送”,如此处所示。

启用游戏定义的辅助发送

这就是所有 Wwise 设置所需要的。 生成音效库,然后转移到 Unity。

Unity Project 布局

在大多数情况下,在 Wwise 中使用 Project Acoustics 的感觉应该与单独使用 Wwise 的感觉一样。 只有一些细微的区别,如下所述。

使用 AcousticsGameObj

Wwise 使用 AkGameObj 组件进行所有音频重放。 Project Acoustics 扩展了这个类,允许它使用声学元数据。 对于任何你想要在 Project Acoustics 中播放的声音,请确保改用 AcousticsGameObj。 由于它扩展了 AkVentObj 类,因此可在通常使用 AkGameObj 的任意位置使用 AcousticsGameObj,与 AkEvents 一样。

使用 AcousticsGameObj 组件

如果你以前使用过 Project Acoustics Unity 集成,你也会在这里找到熟悉的设计控件。

在 AcousticsManager 上填充总线

AcousticsManager 组件有一些新的字段来支持混响。 除了指定 ACE 文件之外,还有用于各种混响发送的字段、AkListener 对象以及在加载或卸载 ACE 文件时触发的可选状态。 您必须将室内和室外混响字段设置为 Wwise 项目中的总线。 在本页前面,我们指定了如何配置这些总线以使用提供的示例,但你可以根据项目的需求自定义这些总线。 同时,你必须使用包含 AkListener(通常驻留在主摄像头上,如上面的示例设置所示)的游戏对象填充 Listener Obj 字段。 “烘焙已加载的状态”和“无烘焙状态”是可选的,分别在加载或卸载 ACE 文件时触发。

Acoustics 管理员设置

后续步骤