Wwise SDK 2024.1.2
|
Spatial Audio 模块提供了一些与空间音频相关的服务,尤其便于执行以下操作:
在内部,Spatial Audio 会执行以下操作:
它是一个与 Wwise 声音引擎协同使用的 SDK 组件(如以下流程图所示)。
Spatial Audio 暴露了 3 类服务,具体可参见以下对应章节:
使用房间和门户 利用简单的上层几何抽象概念对其他房间内发声体的声音传播进行建模。Geometry 使用三角形来计算镜像声源以结合 Reflect 模拟动态早期反射,或者计算几何衍射。另外,Spatial Audio 还提供有一些辅助函数,方便直接访问 Reflect 的原始 API(参见 使用原始镜像声源 章节)。
Spatial Audio 功能和定义可以在 SDK/include/AK/SpatialAudio/Common/ 中找到。 其主要函数暴露在 AK::SpatialAudio
命名空间中。
通过 AK::SpatialAudio::Init()
对 Spatial Audio 进行初始化。
在使用 Spatial Audio 时,必须明确指派一个游戏对象作为 Spatial Audio Listener。为此,需要调用 AK::SpatialAudio::RegisterListener()
并传入所需听者的 ID。另外,还要把该游戏对象注册到声音引擎中,并将其指派为听者。如需进一步了解声音引擎中的 Listener,请参阅 集成 Listener 。
![]() | 警告: Spatial Audio 仅支持一个顶层听者。 |
如果某个声音有若干设置与 Wwise 设计工具中启用的 Spatial Audio 相关,那么游戏对象在播放该声音时就会成为 Spatial Audio Emitter:
AK::SpatialAudio::SetEarlyReflectionsAuxSend
将总线指派给 Game Object。您可以使用 AK::SoundEngine::SetPosition
将游戏对象(无论是发声体还是听者)的位置传给声音引擎。Spatial Audio 会直接从声音引擎检索位置信息,来确定声源位置以进行反射和衍射处理。
Spatial Audio 会在 Wwise 声音引擎终止时自动终止。