本文由微博用户@SounDoer翻译,读者薛云升推荐。内容来自游戏音频引擎 FMod 和 Sound Librarian 合作的 FMOD Online Courses Demo,点此访问原文。
虽然是有关游戏3D音频,但其中提到的几个要素都是提炼自声学基础理论的,且同样适用于立体声工作实践中,比如非3D游戏音频、电影声音设计等。另,不要将此处的 3D Audio,同 Binaural Audio 想混淆。Binaural Audio 一般特制采用了人头录音方式制作的音频,并且会运用在游戏 3D Audio 设计中。@SounDoer 编译,原文题为“Aspects of 3D Audio”,译者切合实际内容将中文名定为“3D游戏中的声音设计要素”。若翻译有误望不吝指正。
1.位置(Position)
3D音频是应用在3D游戏世界中的,这意味着声音(译者注:包括声源位置、声音传播路径等)与该世界中的任何事物都有一个明确的相对位置关系。声源(Emitter)的位置将会决定声音是如何传播到听者(Listener)的。
相对位置(Relative Position)包含了听者与声源以及两者之间运动时相对关系的信息,可能是3D音频中最重要的一个因素了。
2.振幅(Amplitude)
我们所感知的声音的振幅(或者说是音量)大小,实质上是反映了声音在空气中传播时的能量强弱。声波的能量越大,则声音听起来越响。
声音在空气中传播时,能量随着距离增大而衰减,所以当我们远离声源时音量会减小。3D音频需要模拟这样的声学特征。
3.3D最近/最远距离(3D Min and Max Distance)
下图表明了3D音频的最小与最大值之间的关系,纵轴是某声音的振幅值。具体的振幅数值无关紧要,重要的是声音的振幅在原点至最近距离之间都保持一致。
这意味着当听者处于原点与最近距离之间的位置时,听到的声音音量将保持不变(即设定的最大音量)。一旦超过了最近距离时,振幅就开始减弱,右图中曲线即为声音衰减时所遵循的规律曲线(译者注:现实中声音衰减遵循平方反比定律)。
声音的振幅会一直减弱(如图中衰减所示)直到到达最远距离。这时振幅将不再减弱,声音将会保持至无限远。注意,如果将最远距离设置得离最近距离足够远,那么声音衰减曲线看上去最终像是减弱到了零。
选择不同的衰减曲线将会明显改变声音的传播特性。下图中的衰减曲线在保持最近和最远距离不变的情况下,由之前的对数关系(Logarythmic)变成了线性关系(Linear),由此可以明显观察到,不仅声音的衰减方式改变了,而且在最大距离处,振幅维持在了一个比之前更高的数值之上。(译者注:上述模型均指在游戏设计中的实现方式,并非与现实世界相同。)
我们从另一个角度的图示来解读上述同样的信息。同现实中一样,声源点呈球状向外发射声波(Emanate Spherically),3D最近距离确定了声音传播多远后开始衰减,如图中橙色区域所示。在这个区域之内,即使声音是由点声源发出的,也将保持在设定的音量之上。超出最近距离之后,声音将向着最远距离开始衰减。(译者注:图中蓝色实线标明的是 Sound Size,即声音尺寸,可以理解为声音在听感上给人的尺寸大小,很大程度上同声源本身的大小有关。)
4.阻挡(Obstruction)
阻挡,是指声音在传播至听者的直接路径上被某些物体部分遮挡,因此声波会绕过障碍物传递到听者处。阻挡效果并不是指声波的传播路径完全被阻碍,所以听上去的感觉与掩蔽(Occlusion)效果并不一样。你可以通过这样的方式来演示阻挡现象:对某人说话时在嘴巴前放一本书,你会发现说话的音调和音色都有了变化,高频成分被反弹回来而另一些频率部分则绕过了障碍。
5.掩蔽(Occlusion)
在实际游戏设计中加入掩蔽,是为了模拟声音穿过关闭的门或者坚实的墙时的效果。与阻挡效果类似,掩蔽一般也通过降低整体音量和使用滤波器(保证低频的同时削减高频成分)的方式来实现。
3D音频中的阻挡和掩蔽效果需要大量的运算量才能实现,所以建议只在需要实现特殊效果的时候有节制地使用。
你可以通过这样的方式来演示掩蔽现象:站在门前对某人说话时完全把门关上。你会发现这时的声音的变化效果会比上述的阻挡更加明显,因为门把更多的声波运动给阻挡了,音量降低了更多而且滤波效果也愈加显著。
由于阻挡和掩蔽效果的高运算量,通常还会有其他不需要持续计算的方式来实现同样的效果。(译者注:阻挡和掩蔽两词可能翻译不够确切,精确含义及区别建议查询原英文单词。)
6.角度(Angle)
角度是指听者与声源传播方向之间的相对位置关系。当有人站定朝着某一方向持续讲话,你围绕着他走动时会发现,声音变得不再像站在演讲人面前时听起来那样了。(译者注:典型的离轴现象。)
绝大多数声源发声时都有特定的方向。声波从声源点开始球状地向外扩散,但在某个声音特定传播方向上会有更强的声压级,而在其他有阻挡和掩蔽效应的方向上声能就被削弱了。当你站在演讲者身后时,他的头和嘴就阻碍了声音的传播。
7.自转(Rotation)
俯视图(Plan View),特定传播方向的发声源(Emitter)。
自转与上述的角度概念相关,只是它侧重的是听者自身的旋转角度。最简单的示例就是你自己头部的转动,声音传播方向与你耳朵之间的相对角度会因为头部的转动而改变。如果有一个声音原本在你的右边,当你把头转向声源时,声音就会从原来右耳听到比较多的情况,变成从正中间传过来的感觉。实际上,转动头部正是我们精确定位声源位置的方法。(译者注:依靠的是细微的声压级差和相位差等信息来定位声源。)
如果要在3D游戏中实现头部转动效应,这需要系统能够支持“头部相关转换函数”(Head Related Transfer Function,HRTF)。HRTF会调用3D环境中声音的位置信息,然后根据声音相对于头部转动的变化进行计算。由于该技术需要特殊的软件来支持,所以这种方式在目前的游戏设计中并不常见,不过现在世界各地有一些团队正在努力做进一步的研发。
8.延时(Delay)
声速在干燥空气200C时的传播速度为343.2米/秒。这意味着如果你离声源有344米远,那么声音将在发出近1秒钟之后才能传播到你的耳朵被听到。
在游戏中,延时效果将会与距离参数相联系。由于在游戏世界中声音并没有传播过程,所以一般会人为地设定有关的距离参数才模拟实际的延时效果。
尽管延时的确是声音在真实世界中传播时的物理特性,但实际上很少会用在游戏场景设计中,因为它会让人觉得这是一个错误。因为当你在游戏中看到一个物体并在一两秒钟之后才听到它发出的声音,这会让人觉得声画没有同步,而不是真实模拟了现实世界的情况。这很大程度上是因为人们通常更注重视觉信息而非听觉信息。
感谢SounDoer的翻译,特此转贴,以示说明。