3D 定位会根据游戏中发声体和听者对象的相对位置和朝向,将声源(支持任何声道配置)在总线(支持任何通道配置)中进行声像摆位。这些对象的位置由游戏通过 Wwise 声音引擎 API 设置。除了游戏驱动的位置和方向属性,Spread 和 Focus 这两个基于距离的属性也协同在摆位算法中发挥作用。在使用 Spread 的情况下,Wwise 中的 3D 定位算法允许在点声源和多声道环绕环境之间进行渐变。
以下是 3D 定位算法的简单说明:
虚声源位于听者的周围,
每个输入通道对应一组虚声源,它们的位置将根据 Focus(仅限标准配置)进行集中。
虚声源会依据发声体相对于听者的朝向进行旋转(仅适用于 3D Spatialization 设为 Position + Orientation 的情况)。
当 Spread 值变小,虚声源将进一步集中在发声体相对于听者的方向上。
每个虚声源都将在输出配置的声道中进行摆位,并进行功率归一化。
关于 Spread 和 Focus 的更多细节,详见定义各种对象属性的衰减曲线页面。
标准多声道声源的各个声道会通过整个平面等分的形式,分配给虚声源组。声源中的高度声道是不支持的,将被弃用。
Wwise 原生支持 Standard 及 Ambisonic 两类声道配置。两者主要区别在于上述步骤 5 中涉及的摆位计算,因为两者对于空间音频的表示方式不同。另外,虚声源的布局也不同,因为 Focus 只是用于控制离散输入声道信号在离散输出声道中的非均匀泄漏,所以该参数只适用于标准配置。但是,虚声源针基于 Spread 的表现和根据发声体-听者关系进行旋转的表现都是一致的,不管声道配置类型如何.
您可以将标准声道配置的音源摆位并输出至 Ambisonic 总线(“编码为 ambisonics”),反之亦然(“从 ambisonics 解码”)。
下面几页中的例子对上述算法的不同方面进行了说明: