Wwise音频解决方案概述

Wwise(Wave Works Interactive Sound Engine,Wwise基础知识wiki)是Audiokinetic公司提供的跨平台游戏音频解决方案,有着高效完整工作流和工具链

安装Wwise

① 在此页面进行账号申请,然后会收到一份邮件,点击里面的一个链接来进行账号验证

② 下载Wwise Launcher帮助说明

③ 启动Wwise Launcher,然后使用申请的账号登录

④ 使用Wwise Launcher安装内容制作工具(Wwise编辑器、File Packager、Wwise Wave Viewer、Multi-Channel Creator、Crankcase REV Tool等工具)、SDK C++、离线文档和Samples

注1:安装完Samples后,就可以在Wwise Launcher中SAMPLES标签 -- Wwise找到这些例子

Game Simulator(Lua)是一个带有 Wwise SDK 绑定的 LUA 解释器。 这个应用程序允许您使用简单的脚本语言 Lua 来重现游戏中声音的行为。

LIMBO(Demo)这款游戏和它相应的 Wwise 工程已经分享给了 Wwise 社区,让社区的成员可以在真的游戏中来实验使用 Wwise 来实现互动音频。

Cube(Demo)(参考:在线帮助说明)是一个开源的第一人称射击游戏,C++ 源代码、Wwise 工程和相关文档。

Sample Project(参考:在线帮助说明)一个 Wwise 工程,并附带文档。通过典型的声音设计示例,它演示了基本的 Wwise 特性,比如脚步声结构、昼夜交替的环境声、互动音乐、MIDI、虚拟乐器,等等。

注2:SAMPLES标签下还有一个Untiy示例和UE4示例

Wwise Adventure Game (WAG)是一款开源的,使用Unity开发,在 Windows、Mac、iOS 和 Android 上运行的第三人称动作冒险游戏。游戏中包括任务、道具获取、击败敌人,还需要通过最终一战击败荼毒 Allegro王国的瘟疫。

Wwise Audio Lab (WAL) 是一个开源的,类似游戏的 3D 环境,由UE4开发的,可以在 Mac、Windows、Oculus 和 HTC Vive 上运行。它展示了各种各样的空间音频方法和技术,比如基于几何构造的动态早期反射、声音门户、有向混响等等。 

更多请参考:Wwise示例工程

注3:UNITY标签下可下载Wwise的unity插件、unity Demo工程(参考:Unity集成在线帮助说明

注4:UNREAL ENGINE标签下可下载Wwise.uplugin(github)的UE4插件、WwiseDemoGame UE4 Demo工程(参考:UE4集成在线帮助说明

注5:windows安装完后可注册环境变量WWISEROOT(Wwise安装目录)、WWISESDK(Wwise SDK安装路径)

Wwise SDK

Wwise SDK使用C++语言编写的跨平台开发包

Wwise SDK提供的功能:

(1)声音引擎:实时管理和处理游戏音频和振动的各方面需求

(2)集成Wwise元素到游戏中

(3)Spatial Audio(空间音频, SDK帮助说明 )

    结合Wwise Relect插件效果器,Spatial Audio根据发声体和听者位置,以及游戏场景的几何结构来计算虚拟声源,通过调节基于距离和几何结构的Acoustic Textures(声学纹理),以模拟动态的早期反射

    利用几何结构(即 Room 和 Portal)对其他房间内发声体的声音传播进行准确建模。其主要特性为衍射、耦合以及混响的空间化。

    Room 没有尺寸大小,它们通过 Portal 相互连通,并形成由房间和开口组成的网络。其他房间发出的声音可以通过开口传播至听者所在房间。

    Spatial Audio会利用此网络来修改干声信号传输距离、显式入射位置和衍射角。衍射角度会映射至声障或内置游戏参数 Diffraction。

    声音设计师可使用 RTPC 将该参数绑定至相关属性(如音量和低通滤波器)。另外,Spatial Audio 还会将相邻房间的混响置于门户位置,并允许使用3D总线将这些混响耦合到听者所在房间的混响中。

    最后,房间还有朝向属性。也就是说,在房间内,关联混响产生的漫反射场会在传播到听者前发生转向。

    注:Acoustic textures 和Wwise Reflect插件一起使用时,可以帮助反射面模仿出不同材料的自然的声音,如木材、混凝土和墙面。

          对任意一种材质,确认它的物体表面粗糙度的参数和特定频率减幅量的参数,这些参数将决定这种材质所对应的恰当的声音

    扩展阅读:通过虚拟声学来让音景更逼真动听

Wwise SDK示例IntegrationDemo、IntegrationDemoMotion   代码所在目录:SDKsamplesIntegrationDemo   可执行文件目录:SDKWin32_vc150 | x64_vc150Debug | Profile | Releasein

注:上下方向键选择菜单项,回车进入菜单,Esc返回上一级菜单 

Wwise编辑器

音频设计师在Wwise编辑器(具体使用请参考:Wwise Help)中完成声音的集成和设置,并通过UE4和unity的Wwise插件,将制作好地资源导入到游戏编辑器中

Wwise编辑器是一款插件式架构的工具,其功能由众多插件提供,开发者可编写自己的插件来扩展其功能

其功能变更可在官网上通过最新版本的Release note以前版本的Release note获取

① Master-Mixer Hierarchy(主混音器层级结构)

Actor-Mixer Hierarchy中的声音和Interative Music Hierarchy中的音乐,最后会流向Master-Mixer hierarchy(主混音器层级结构)下的总线中进行统一的编组和混合,并输出声卡。

Master-Mixer hierarchy 是个层级结构,其顶层为Master Audio Bus(主音频总线)每一层都可以拥有任意数量的子总线;各条总线都有一组属性和行为,可用它们来统一定义通过总线的声音的听觉效果和播放方式

我们可以将所有不同的音频结构分成以下四种类别:Voice(语音)、Ambience(氛围)、Sound Effect(声音效果)和Music(音乐),然后用不同的子总线进行独立地编组和控制

除了可以输出音频到Audio Bus ,每个Interactive Music或 Actor-Mixer Hierarchy对象还可以指定最多四个User-Defined Auxiliary Send(用户定义的辅助发送)。

同样,Audio Bus本身也可以具有最多四个User-Defined Auxiliary Sends。辅助发送允许将音频信号的一部分发送到其他总线(即 Auxiliary Bus)中,进行并行处理。

Game-defined Auxiliary Sends(游戏定义的辅助发送) 功能与User-Defined Auxiliary Sends一样,勾选开启后,可供游戏运行时使用

② Actor-Mixer Hierarachy(角色混音器层级结构)

用来分组和组织工程中的所有声音和振动素材。层级结构的最底层是所有单独的声音和振动对象。

用户可以定义这些单独对象的属性(例如音量、音高和位置)和行为(例如随机或顺序播放),还可以将这些对象组合在一起,作为一个整体来定义它们的属性和行为。

组合使用这些对象类型【Sound Object(声音对象)、振动 FX(振动效果)对象、Container(容器)、Actor-Mixer(角色混音器)】来对素材分组和搭建工程结构

③ Interactive Music Hierarchy(互动音乐层级结构)

使用树状层级结构来管理,便于制作出动听的互动音乐

Wwise编辑器功能:

(1)内容制作(Author):构建声音(Sound)、振动(Motion)和音乐(Music)结构并定义属性和行为

(2)模拟(Simulate):验证艺术方向和模拟游戏体验  

(3)集成(Integrate):早期集成,无需额外编程 

(4)混合(Mix):在游戏中实时混合属性

(5)性能分析(Profile)

Wwise2019.1.3(Build7048) 官方可安装的插件

名称 开发者 功能说明
Wwise Convolution Audiokinetic 编辑混响效果
Wwise Motion Audiokinetic 用于制作振动数据
Wwise Reflect Audiokinetic

根据听者、发声体与反射面(如墙壁、天花板和地板)的距离来动态地呈现早期反射

Wwise Help:Wwise Refect

动态早期反射的声源成像法

在Unreal中使用Wwise Reflect模拟基于几何信息的动态早期反射

Wwise SoundSpeed Air, Wwise SoundSpeed Impact Audiokinetic

一款专用声音生成器

SoundSpeed Air可生成无数种风声和呼啸声效果

SoundSpeed Impact可方便通过交叉合成创建现实中不存在的各种独特声音

Wwise SoundSpeed Grain Audiokinetic

一款专用声音生成器

可用于创建粒子效果、3D 环境声与房间底噪、纹理化声景以及时域时间拉伸与音高变换,并方便制作各种持续低音、UI 及科幻音效和音乐。

Audio Ease Altiverb for Wwise Convolution Audio Ease 为Wwise Convolution插件提供声音素材库
Auro Headphone Auro Technologies 三维声音
iZotope suite iZotope Trash工具套装、Hybrid Reverb等音效设计工具
McDSP ML1, McDSP Futzbox McDSP 电影和音乐行业专业音效设计工具套装
Microsoft Spatial Sound Platform Microsoft Microsoft给Xbox和Windows提供空间音效支持而开发的平台级解决方案。它能够完美地整合环绕和俯仰(听者头顶或脚下)音频提示。
Gaming Multimedia Engine Tencent 由腾讯云推出的一款游戏语音解决方案
Nuendo Game Audio Connect Steinberg Media 中间件,实现Nuendo与Wwise无缝衔接
Resonance Audio SDK Google 全新的立体声音效软件开发套件  Resonance Audio ue4插件
REV 2 Crankcase Audio 利用高级粒子算法和自动循环混合合成技术创作逼真、强劲的发动机音效
Wwise ASIO Audiokinetic 方便连接ASIO兼容设备。这对线下实体场馆娱乐 (LBE) 来说非常有用。
Wwise Channel Router Audiokinetic

一款免费的混音器插件,方便将音频混音并输出到特定的目标声道。

它能够满足多声道或非传统扬声器部署需求,尤其适合多输出和非标准配置。

基础概念

耳朵能听得到的声波长在17毫米到17米之间,其中短波长更倾向于碰到障碍物反射,而长波长会衍射绕过障碍物;对于比较薄的障碍物,不能把声波全部吸收,还会有透射现象

下面是一些概念和术语,更多请参见:Wwise词汇表

音量(Volume):又称响度(Loudness)、音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小,单位为:分贝(dB)

音高(Pitch):即音的高度。对象的播放速度。音的高低是由振动频率决定的,两者成正相关关系:频率(即单位时间内振动次数的多少)高则音"高",反之则"低"。

低通滤波器(LPF,Low-pass filter):允许低频信号通过,有时被称为高频剪切滤波器,或高音消除滤波器。0表示信号不受影响,100表示最大衰减

高通滤波器(HPF,High-pass filter):允许高频信号通过,有时被称为低频剪切滤波器,或低音消除滤波器,或噪音滤波器。0表示信号不受影响,100表示最大衰减

单声道:使用一个声道来输出所有的声音信号

立体声:大多数音响设备都是2声道,或2.1声道。它们使用左右独立的两个声道来模拟声音的空间立体感。

环绕声(Ambisonics):可以覆盖水平面声场以及听者上方和下方的区域。如:比较高级的DTS5.1环绕系统,5.1声道分别指的是左前声道、中置、右前声道、右后声道、左后声道。

与双声道立体声相比,声音好像把听者包围起来的一种重放方式。这种方式所产生的重放声场,除了保留着原信号的声源方向感外,还伴随产生围绕感和扩展感(声音离开听者扩散或有混响的感觉)的音响效果。

在聆听环绕立体声时,聆听者能够区分出来自前后左右的声音,即环绕立体声可使空间声源由线扩展到整个水平面乃至垂直面,因此可以逼真地再现演出厅的空间混响过程,具有更为动人的临场感。

干音路径(Dry Path):从声音直接到总线的声部信号基本路径

湿声路径(Wet Path):从基本干声路径中分支后通过 Auxiliary Bus 的声部信号路径,一般会先应用 Effect(如 Reverb)和其他修改,然后再发送到总线。

干音信号(Dry Signal):完全由未经处理的原始信号构成的输出

湿声信号(Wet Signal):完全由经过处理的声音构成的输出。

旁链(Side-Chaining):监视音频信号的电平,并使用音频信息实时操控另一个音频信号。此技术用于自动控制不重要声音的音量,从而在最终混音中更多地强调更加重要的声音。

 注:每个红色箭头为一个旁链。如上,在Critical语音(关键语音,如当前角色说话时)播放时,压低整个SFX和Noncritical语音的音量

距离衰减(Distance Attenuation):模拟音频信号在发声体远离或背离听者时的自然衰减

参考:定义各种对象属性的衰减曲线

自动闪避(Auto-ducking):降低一个音频信号的音量电平,以便让另一并行音频信号更加突出

虚声部(Virtual Voice)

为了在大量声音同时播放时保持最佳的性能水平,低于特定音量电平的声音不应占用宝贵的处理器机能和内存。

声音引擎可以不播放这些无法听到的声音,而将它们放到虚声部列表中排队。

Wwise 可以继续管理和监控这些声音,但是这些声音一旦进入虚声部列表,就不再由声音引擎处理,因而不会占用硬件的任何一个实声部(Physical Voice,声音引擎播放和处理音频和振动所在的游戏物理环境)。

声音可以在physical voice(实声部)和virtual voice(虚声部)之间来回切换,方法是指定当声音的音量电平低于阈值或声音数超出播放限制时,允许让这些声音进入虚声部。

当音量达到 Wwise 用户在 Project Settings(工程设置)中设定的阈值时,声音将被添加到虚声部列表,并且声音处理工作停止。

随着音量电平的上升(当声音从外部移入到最大距离半径以内时就会发生这种情况),声音将从虚声部列表移到实声部,在此声音将再次由声音引擎进行处理。

高动态范围音频(HDR 音频):将宽泛的电平范围动态地映射至更适合于声音系统数字输出的范围的实时系统

Ambisonics使用Ambisonics)是一种环绕声技术,可以覆盖水平面以及听者上方和下方的区域。会用一个常规的球面表示法来描述听者周围的声场

声障(Obstruction)是指游戏几何空间中的对象(例如墙壁或立柱)部分挡住了声源与听者之间的空间时的声学现象。如:躲在柱子后面的玩家,仍可听到前方的枪声

在声障条件下,听者可以清楚地听到声音的反射声,但直达声听起来很模糊。声音的改变通过降低音量、增加信号直通路径的低通滤波器(LPF)或者同时调整两者来实现。

声笼(Occlusion) 是指游戏几何空间中的对象完全挡住了声源与听者之间的空间时的声学现象。如:虽然隔着一堵墙壁,但玩家仍可以听到隔壁里面的枪声。

在声笼条件下,直达声和反射声都很模糊。声音的改变通过降低音量、增加信号直通路径的低通滤波器(LPF)或者同时调整两者来实现。

声障、声笼和环境效果(Environmental )可同时发生,处理管线如下:

更多参考:环境中的声障和声笼    定义工程的声障和声笼曲线 

声音管线

下图为详细地声音处理的管线过程(参考:理解声部管线

编号 描述
1

音量应用至所有声道

  • 声部音量*(总线上的 Voice Volume 参数以及自动闪避都将作用于这个层级)

  • 归一化(Normalization)和补偿增益(Makeup Gain)

  • HDR 信号衰减

  • 声笼(Occlusion)

  • API: SetScalingFactor()

LPF 属性和声笼 LPF 曲线(工程设置)

2  

各声道独立音量

3  

“干声路径”

声障 LPF 曲线(Project Settings)

4  

“湿声路径”

5  
  • 总线音量**

  • 定位

    • 2D 声像摆位和 3D 定位

    • Center %

    • Distance Attenuation Curve(距离衰减曲线)

  • API: AkSpeakerVolumeMatrixCallbackInfo()

  • 未插入效果的父级总线:总线音量**

6  
  • 总线音量**

  • 定位

    • 2D 声像摆位和 3D 定位

    • Center %

    • Distance Attenuation Curve(距离衰减曲线)

  • 未插入效果的父级总线:总线音量**

7  总线音量**

注:* 声部音量 = 音量滑杆 + RTPC + 状态 + Set Voice Volume Action

      ** 总线音量 = 滑杆 + RTPC + 状态 + Set Voice Volume Action

五大组件

Wwise制作音频并集成到游戏中,包含以下5个重要组件

Audio Object(音频对象):游戏中的各种语音和 SFX(音效声),由音频设计师在Wwise编辑中创建和管理

注1:Audio Object内部支持多语言版本的组织和管理

注2:Audio Source是AudioObject(音频对象)和Audio File(音频文件)之间的独立层

注3:Audio Object不仅支持Audio Source(音频源),还支持Plug-in Source(源插件)

         Wwise配备各种各样的源插件,包括Tone Generator(乐音生成器)、Silence(空白)和 Audio Input(音频输入)插件;当然程序员可开发出自定义的源插件

Audio Object(音频对象)可以组合起来创建层级式的工程结构,音频属性和行为可应用于层级结构的不同级别。

它们主要用于根据特定行为(例如随机、顺序、切换等)来播放一组对象。例如,可以将所有枪击声集中到一个随机容器中,以在游戏中每次开枪时播放不同的声音。

所有音频对象被连线到总线层级结构中后,还可以在总线上作为整体来附加属性和效果。

Game Object(游戏对象):发声体(emitter),由程序员在游戏中创建和管理

Game Object可以是游戏中能够发出声音的对象,如:角色、武器、环境对象(如火把)等

也可以将Game Object指定给某个游戏对象的不同部分,如:可以将不同的Game Object指定给巨人角色的不同部分,以使巨人的脚步声和配音听起来好象来自3D声音空间中的不同位置

为了告诉在游戏中如何播放每个声音,Game Object需要存储以下一些信息:

① 与Game Object相关联的音频对象的属性偏置值,如:音量、音高等   注:与其他属性不同,衰减应用于Audio Object而非Game Object

② 3D位置和朝向

③ Game Sync信息,如:State(状态)、Switch(切换开关)和 RTPC(实时参数控制)等

④ 环境效果

⑤ 声障(Obstruction)和声笼(Occlusion)

在使用Game Object之前,程序员需要在游戏代码中注册Game Object。当不再需要时,应该显示地销毁它们。

创建Game Object后,程序员仅需PostEvent(发送事件)、设置 Game Sync【包括State(状态)、Switch(切换开关)和 RTPC(实时参数控制)】以及游戏环境。

Wwise设置声音有一个Scope(作用范围)概念,其决定把属性和事件应用在游戏的哪个层次上(Game Object或全局范围内)

如,在fps游戏中,当前角色在城市中行走时,若想更改其脚步声相关联的属性或音效,就只能在与对应双脚的Game Object层次上局部应用这些更改。

另一方面,如果角色潜入水中,则需要更改周围环境中继续播放的所有音效,例如爆炸和车辆,则需要进行全局更改

Event(事件):驱动游戏中的音频;Event将 Action(如:播放、停止、暂停、调整音量、静音等)应用于工程层级结构中的不同声音对象

例如:玩家被打死时使用的事件:播放一个特殊的“Die”(死亡)声音,并停止当前正在播放的“EnergyShield”(能量护盾)声音

Event有两种类型: 

Action Event(动作事件):这些事件使用一个或多个动作(例如播放、停止、暂停等)来驱动游戏中的声音、音乐和振动

其中每个动作还拥有一组过渡(Transition)参数,用于延迟或者淡入淡出来衔接前后的对象。

另外,每个动作都有相应的作用范围设置,是应用于全局所有Game Object还是触发该事件的特定Game Object

Dialogue Event(对白事件):这些事件使用一种带State和Switch的决策树来动态地确定播放哪条对白

例如:在曲棍球游戏中,如何能够生成实况解说“克劳斯(Cross,人名)射门并得分了!”

为游戏创建Event并打包成 SoundBank(声音库,是所有工作成果的集合,其中包含构成游戏所需的最终音频数据),然后将游戏中加载这些SoundBank,就可以指定对哪个Game Object执行Event了

有两类bank

① 初始化bank(Init.bnk):通常在游戏开始时立即加载。包含工程所有一般信息的特殊bank,包括有关总线层级结构的信息和有关state、switch、RTPC 和总线效果的信息

② SoundBank:包含事件数据、声音和振动数据的文件。SoundBank 不同于初始化bank,一般在游戏的不同时间点加载和卸载,这样可以提高平台内存利用率

Game Syncs(游戏同步体):改变声音的变化和替换行为

Game Syncs有四种类型:

 State(状态):游戏中的物理和环境条件发生了变化,将在全局范围内影响现有音效、音乐或振动(motion)的属性

当Game Object注册了多个 State 时,多个State变化的效果会进行叠加

如:模拟玩家入水时的声音处理。在这种情况下,可以使用 state(状态)来更改已经在播放的声音的音量和低通滤波器。当角色位于水下时,枪声和手榴弹爆炸声等都会出现变化。

② Switch(切换开关):为在不同条件下需要不同声音、音乐或振动的特定Game Object提供的条件替换项

Audio Object被组织起来并指派给各个Switch,从而当游戏中一个条件变为另一个条件时,能够播放到对应的Audio Object

与RTPC类似,在Wwise中可以将Game Parameter(游戏参数)值映射到Switch,来驱动Switch的切换

例如:在fps游戏中,当玩家在不同的地面(如混凝土地面、草地和泥土地面)上行走和跑步,希望在每种地面上听到不同的脚步声

在Wwise编辑器中,为不同地面创建switch,并将不同的脚步声Audio Object指定给适当的switch。在游戏中,当玩家在不同的地面上行走时,将对应的switch激活,来播放其相应的脚步声

③ RTPC(Real-Time Parameter Control,实时参数控制):将Game Parameter(游戏参数)映射到音频属性值,来“自动执行”属性更改

例如:赛车游戏中,发动机声音的音量和音高需要随着赛车速度和 RPM(每分钟转速)的上升和下降而波动

④ Trigger(触发器):对游戏中自发事件的响应,将启动插播乐句(Stinger) 注:插播乐句是叠加在当前正在播放的音乐上并与之混音的简短乐句

例如:格斗游戏中,当前玩家角色是一位忍者斗士,当其施展强力疾风腿时,可以播放一个疾风声来加强场景的听觉感染力

Listener(当前玩家):声音的接受者,由程序员在游戏中创建和管理

在游戏3D空间中拥有位置和朝向。在游戏期间,Listener的坐标(程序员必须确保Listener的位置信息为最新状态)与Game Object的位置进行比较,以便将与Game Object相关联的3D声音指定给相应的扬声器,来模模拟实的3D环境。

在单人版游戏中,永远只能有一个视角,因此一个 Listener 就够了。但如果多人同时在一个系统上玩游戏,或者同时显示多个视角,则每个视角需要有自己的Listener,这样才能正确地为所有视角渲染音频。Wwise 声音引擎支持多达8个Listener。

在默认情况下,每个Game Object只能指定给第一个Listener。然而,程序员可以灵活地将任何Game Object动态地指定给任何Listener,或取消这种指定

游戏示例

典型的游戏将拥有以下类型的声音(参考:如何在游戏中设置声音):

  • 局部环境声 —— 发声体保持在一个位置上。如:大型机器或喷泉发出的声音。

  • 非局部环境声音 —— 发声体可移动,并不依附于某个特定游戏对象。如:环境中的鸟鸣声或昆虫声音。

  • 移动对象声音 —— 发声体随某个特定游戏对象一起移动。如:游戏角色、动物等触发的任何声音(狗叫声或卫兵的吆喝声)。

  • 游戏界面声音 —— 此声音与特定游戏界面要素或者其它保持在屏幕固定位置上的道具相关联。例:平视显示器 (HUD) 的部件、菜单声音(按钮、导航)或第一人称射击游戏中的枪声。

在潜行类fps游戏中,一组特工必须前往一座偏远的火山岛,恐怖分子在岛上劫持了一位特工。此任务非常危险,特工们必须团结合作,紧跟彼此。 当特工们潜行通过敌人的丛林基地时,他们将经历以下声音和振动:

可以在Wwise中对不同声音进行设置(如:使用3D空间化对象),来提升玩家体验游戏时的沉浸感(参见:定位技巧和经验总结),结果如下:

(1)特工脚步声。这是一款第一人称游戏,因此主人公的脚步声应始终伴随着摄头。因为这些声音没有移动和衰减,所以在这种情况下将基本的 Speaker Panning(扬声器声像摆位)设置为 Direct Assignment(直接指派)较为合适。

        然而,对于其它的特工,您需要将声音附加到“agent”游戏对象上,使脚步声与他们的动作相匹配。 在这种情况下,结合使用 3D Spatialization(3D 空间化)和 Emitter(发声体)定位较为合适;不过,不需要启用衰减。

(2)照亮敌人丛林基地的火把的燃烧声:这些声音附加到“torch”游戏对象上。虽然它们固定在一个地方,但发声体的位置及其到话筒的距离将随着玩家的移动而改变。 若要模拟这种类型的声音,可结合使用 3D 空间化、Emitter 定位和衰减。

(3)一群恐怖分子在屋内交谈的声音: 这些声音附加到“terrorist”游戏对象上。这些对象可以在游戏环境内自由移动。 若要模拟这种类型的声音,可结合使用 3D 空间化、Emitter 定位和衰减。

(4)蚊子在头顶上飞舞的嗡嗡声:可听到蚊子在周围飞舞时发出的嗡嗡声,但看不到蚊子。因为发声体必须在 3D 空间内移动,

       所以在这种情况下的 3D 空间化使用 Emitter with Automation(发声体自动化)或 Listener with Automation(听者自动化)定位较为合适。

       同时使用空间化和衰减的一系列随机播放声音路径可以创建极其逼真的蚊虫声音。在选择 Listener with Automation 选项时,虽然没有实际游戏对象,但会有嗡嗡声随玩家移动。

       当然,也可选择 Emitter with Automation 选项,并使用“蚊子”游戏对象来定义能听到嗡嗡声的死水潭区域。

(5)从总部接收最新情报的声音:从总部接收情报的通信声既不与任何特定游戏对象关联,也不在周围环境中移动,因此在这种情况下将 Speaker Panning 设置为 Direct Assignment 较为合适。 

       由于最新情报对于完成任务非常关键,因此您还可能需要将某些或全部声音传送到中置扬声器。

(6)执行任务的特工们之间的耳语声:队友之间的耳语声将关联至各自的游戏对象,因此这些声音使用 3D 空间化较为合适。特工们相互掩护依次行动,需要某种空间定位,但他们既然必须协同作战,因此他们之间的沟通不需要任何衰减。

       由于队友之间的沟通对于完成任务非常关键,因此您还可能需要将某些或全部声音连通到中置扬声器。

(7)在成功完成任务后用于炸毁基地的炸 药的爆炸声:特工将听到和感受到炸 药的爆炸声。这些声音和振动对象将被绑定在游戏中会爆炸的对象上。虽然它们固定在一个地方,但发声体/振动体的位置及其到听者的距离将随着玩家的移动而改变。

      若要模拟这种类型的音效,可结合使用 3D 空间化、Emitter 定位和衰减。

(8)岛上火山持续发出的轰鸣声: 火山发出的轰鸣声是该偏远岛屿上持续发出的声音和振动效果。声音和振动对象最好附加在“island”游戏对象上。

        添加一些衰减可在玩家靠近该岛时,让轰鸣声听起来更加响亮或密集。因为声音和振动没有移动,所以在这种情况下不需要启用空间化。

(9)火山最后喷发声:爆炸导致火山爆发。在最终场景中,玩家坐在运输直升机后排逃离危险之地。火山喷发会产生震耳欲聋的环境声,您可以使用 Listener with Automation 定位选项进行 3D 空间化处理,并应用衰减设置。

       在 Position Editor (3D Automation) 中,可创建一个或多个路径,来反映直升机和玩家如何上下颠簸、迂回前行,并在烟雾弥漫的风暴中艰难地躲避四溅的碎屑,最终顺利飞越火山口。

       我们可以启用 Hold Listener Orientation,从而通过不同的扬声器来播放火山喷发声,并反映玩家(听者)所处位置。

       假如采用多扬声器配置,还可将 3D Spatialization(3D 空间化)选项设为 Position + Orientation(位置 + 朝向),从而表现出直升机不断变换朝向和火山喷发声逐渐衰减,增强真实性。

(10)互动音乐:因为音乐不与任何特定游戏对象关联,且无需在环绕声环境中移动,所以使用 Speaker Panning 较为合适。在示例中,我们希望对部分 Music Track(音乐轨)进行声像摆位,在前后扬声器之间平衡音乐的音量。

最后,我们可以想象火山喷发声逐渐过渡至欢庆的音乐,然后游戏场景完美结束。为了实现两种声音之间的平滑过渡,

可针对 Speaker Panning / 3D Spatialization Mix 设置 RTPC 曲线:对应值从 100(仅启用 3D Spatialization)逐渐降至 0(仅启用 Speaker Panning)。

声音

Speaker Panning

Attenuation(衰减)

3D Spatialization

 

Direct Assignment

Balance-Fade

Attenuation(衰减)

Emitter(发声体)

Emitter with Automation

Listener with Automation

特工的脚步

         

火把

   
   

恐怖分子交谈

   
   

蚊子嗡嗡声

       
 

总部发来的最新情报

         

特工沟通

     
   

爆炸

   
   

火山轰鸣

   
   

火山喷发声

   
   

互动音乐

 
       

扩展阅读

Audiokinetic中文博客

Wwise视频教程

Wwise youtube 

WWISE-101 认证:WWISE 基础知识

WWISE-201 认证:互动音乐

WWISE-251 认证:性能优化 & 移动平台考量

WWISE-301 认证:WWISE UNITY INTEGRATION

Wwise中文辅助学习资料

原文地址:https://www.cnblogs.com/kekec/p/11714507.html