风暴娱乐:2023-08-16 13:24
许多制作精良的游戏往往能给体验者一种“沉浸式”的感觉,体验者视角随着游戏人物的视角改变而改变,听到的声音也随着位置不同、距离不同、朝的方向不同而不停变化。在现代的游戏开发计划中,声音效果占据了40%的预算时间和人力。音效芯片制造商和3D音效的开发者们在竭力使用户和应用程序的开发者们相信:良好的3D音效将是现代多媒体电脑的主要组成部分。于是今天小编就带你走进3D音频技术。3D音频技术从场景上来分有环境音效,区域音效,渐变音效和声源追踪,这些场景声音共同组成了游戏者耳中的世界。
打造环境音
环境音可以让体验者在进入该游戏时就“身临其境”,通过声卡以及制定时的API插槽标准,针对一些特定环境,如音乐厅、走廊、房间、洞窟等,作成声音效果器,当电脑需要特殊音效时,可以透过驱动程序让声卡处理,可以展现出不同声音在不同环境下的反应,并且通过多件式音箱的方式,达到立体的声音效果。目前许多游戏都支持此项规格。每个源和听众都有它们自己的环境,比如听众在雪地上,鸟儿在树上;从源传过来的声音在它自己和听众的环境都在扩散、封闭、障碍和干扰,并同时在源和听众上应用。因此我们能够获得环境和听众之间声音的互相干扰作用。
图一:打造环境音
各种各样的环境声源和环境空间传播路径结合,比如“洞窟中的水滴声”,“森林中高处鸟叫声”,“河流边溪水的流水声”等,声源类型、传播路径、混响时间都在改变。也正是环境音效的改变,构成了游戏声学场景的第一层基础。
打造区域效果
区域效果可以模拟体验者发出声音时声音在该区域的传播,此时发声源为游戏人物。区域效果是目前最贴近现实中人耳在封闭环境中听到的效果,但是它的实现应用要远比理论困难。目前面临的主要困难是,要找出源的位置,修正装载每个源的最近区域和跟踪每个源的扩散、封闭、障碍参数。
图二:模拟区域音传播路径
很多人可能容易把区域效果和环境效果混为一谈,但是实际上他们还是存在一定区别。区域效果和环境效果有所不同,首先是声源不同,在区域中,游戏人物往往作为发出声音的源头,随着人物移动,传播路径也会不同,区域音就是通过实时计算传播耦合函数,使得人物真的行走在洞窟中,行走在废弃的仓库中。
打造渐变音
在不同区域和不同环境相互转换的边界,现实中往往存在着声音渐变,也就是说环境音不是一下子由“雪山”转到“森林”,而是逐渐模糊的转变。一个解决办法是采用一个环境到另外一个环境的逐步转换参数的算法。通过参数逐步转变模拟环境改变,上面的图片论证了两个效果的实现。
首先进行的是位置转换:混响(reverb)参数会根据玩家在两个环境位置的绝对不同参数而逐渐地改变(在该情况下,户外的空间和户内的空间隔着金属的墙)。随着玩家与户外的更加临近,户外的回响参数也会变化地越快,反之亦然。接下来的类型是极限变化:当玩家穿越边界(BORDER)=1的区域,参数会自动地进行改变。
图三:打造渐变音
环境渐变是与混响相关的最重要函数。但是目前在对已经预先设置的参数进行修改的时候会有点问题。即使没有使用到逐渐过渡,你也能够通过设置渐变因素等于0.5而使用这些函数形成一定的平均环境(例如,我们在户外的石头走廊),这样我们就能够得到不同声场的平均效果。
在环境渐变被开发出来之前,游戏(例如游戏"食肉动物2"/Carnivores 2)的效果并不能够通过使用不同的参数进行逐渐地(它们在EAX1和EAX2已经预先设定好了)改变。中间的环境有25个预先设定的变量组成。例如,有岩洞渐变到山谷的设定;而在听的过程中会选择石走廊作为中间的参数。现在有了环境渐变,就可以避免很多纷繁复杂的处理工作了。
实现声源追踪
游戏中体验者往往会调整视角,此时在现实中听到的声音来的位置也会不一样,于是为了模拟这一效果,需要使用声波追踪算法,其本质是先通过3D空间建模,然后改变双声道的声音调整“声音视角”。
而一般的声波追踪算法通过分析3D空间的几何描述,然后决定声波在实时模式传输的方法,接着它们会被反射,抑或通过3D环境的无源物体。几何引擎在3D的接口程序来说是非常独特的机制,它能够模块化声音的反射和穿越障碍物。它从几何的水平上来处理数据:线,三角形和四边形(声频几何)。声频多边形有它自己的位置,大小,形状和制造材料的属性。它的形状位置与音源紧密相关,听众能够感觉到每个独立的声音是被反射、穿越或者围绕着多边形。材料的属性则能够决定传输的声音声是被整个吸收或者被反射了。
图像几何结构的数据库能够通过转换器,在游戏水平被装载的时候把所有的图形多边转换为声频多边形。全局反射或者封闭的值可以通过设置参数进行修改。另外,它还可以在高级模式处理多边型转换算法,和以独立的卡文件形式把音频几何数据库给储存起来,然后在游戏装载的时候进行文件的交换。
最后,声音就能够获得更加正式的效果,混合的3D声音,经过声学设计的房间和环境,声音信号能够在听众的耳朵里精确再现。
从环境音、区域音、渐变音到声源追踪,一个基本的游戏声学场景就搭建好了,接下来就是根据不同的游戏填充不同的所需的声音和响应函数了。当然现实中游戏声学场景可能会更复杂(电脑端),但是手机端的游戏声学场景往往会去掉以上中的两到三个,以打造环境音为主。