版本
Wwise 拥有各种工具,它们可帮助您逼真地模拟游戏中任何声音对象的定位和传播。The following sections describe how positioning works for the various objects in Wwise.
作为最基本的功能,声音和音乐对象可以选择是否使用 3D 空间化。
主要不同之处在于如何将源声道映射至输出扬声器。若不使用空间化,则输出声道将与源声道完全匹配;若使用 3D 空间化,则可将各个输入声道输出至环绕声环境中的任何扬声器。在运行中,可通过 Positioning Type 的 RTPC 更改定位方法。
对于非剧情声音和音乐对象,可使用声像器来平衡各个声道的音量,以便使用不同的扬声器播放声音或音乐对象。
对于剧情声音对象,3D 空间化方便使用 X-Y-Z 坐标位置进行计算(也可使用游戏中发声体顶部和前部朝向矢量的 X-Y-Z 坐标)。不过,可在 Wwise 中使用特定动画路径来预定义听者或发声体的空间化信息。
无论是否使用 3D 空间化,Wwise 都提供衰减功能,即模拟音频信号在发声体远离或背离听者时的自然衰减。
备注 | |
---|---|
定位信息既用于确定环绕声环境下的空间化,也用于计算衰减对应的距离。 |
在游戏中,单个声音实例可能不足以构建出逼真的声景。多个实例和位置可能会更逼真一些。
与其复制游戏对象,不如使用 Wwise SDK 的 SetMultiplePositions() 函数为其设置多个位置。这样可以产生很多效果。比如:
单个对象从同一区域中的多个位置发出相同的声音:可根据场景将之配置为是否以累加方式增大音量。
单个对象从多个位置发出相同的声音,来模拟其基于听者位置从不同方位发声。
单个对象发出相同的多声道声音,同时根据听者位置调节声道输出。比如,靠近立体声音频系统的左侧或右侧扬声器。
有关如何实现的详细信息,请参阅 Wwise SDK 文档中的为单个游戏对象设置多个位章节。
对于不太复杂的设备(例如游戏控制器),它们的马达无法模拟 3D 环境,因此定位无关紧要。然而,可以使用衰减来降低当振动信号远离游戏玩家时振动信号的强度。
在设置对象的定位时,要记住层级结构中的各个对象都可以有定位设置。定位被视为绝对属性,这意味着顶层对象的定位会自动向下传递给所有子对象。然而,如果需要自定义某个特定对象的定位,则可覆盖这些设置。有关层级结构中的定位工作原理的详细信息,请参阅“关于工程层级结构中的属性”一节。
多声道声音可像单声道声源一样定位而无需下混为单声道。
为了计算声源对各个扬声器声道的贡献,可围绕听者以圆弧形式设置“虚拟发声体”。圆弧的边界取决于散布(在 100% 时为整圆,在 0% 时为听者前方的圆点)。然后将圆弧划分为与声道数量相同、大小相等的区域,这样声源的每个原始声道都会对指派的区域有所贡献。例如,对于立体声源,圆圈左侧的虚发声体使用源左声道,右侧的所有虚发声体使用源的右声道。一旦完成,将计算各个虚发声体对各个扬声器的实际贡献。因此即使对于 3D 定位,也多少保存了多声道声像。
备注 | |
---|---|
如果散布为 0,那么所有虚发声体位于听者前面的一个点中,这类似于先将所有声道向下混合成单声道,然后再将它定位于 3D 空间。 |