微信邦 发表于 2020-3-11 21:33:01

游戏音频不完全指南

文 | 小星腾讯互动娱乐 工程师
一、游戏音频

1、音频分类

游戏相关音频可以按照功能划分为两大类:

[*]音乐音效:和游戏表现玩法相关的音频,通常称为游戏音频;
[*]语音聊天:玩家信息交流方式,主要包括语音消息和实时语音两种方式。

游戏音频和语音聊天虽同为音频,但在质量要求和技术处理上有很大区别,本文讨论的内容为游戏音频。
根据游戏音频的各自特点,又可以划分三大类:音效、语音和音乐:
1)音效Sound Effect:需要区别音频效果定义,这里的音效指人工制造和加强的声音。游戏内UI点击、动作反馈的声音均为音效。其中烘托环境气氛的音效又称为氛围音效;
2)语音Voice:剧情动画对白、快捷语音等均属于语音;
3)音乐Music:包括主题和背景音乐,以及各种剧情场景音乐。
2、开发流程

游戏音频开发过程大致分为五个阶段:
1)音频制作:制作音频素材,包含录音、拟音、配音、数字合成等音频制作方式;
2)音频编辑:利用音频制作软件或者数字音频工作站(DAW)对音频素材进行内容上的加工编辑;
3)游戏音频设计:设计音频在游戏中播放方式和交互,目前普遍使用游戏音频中间件提供的音频编辑器进行设计;
4)游戏音频集成:开发实现游戏音频播放逻辑。使用游戏音频中间件,可直接集成其提供的SDK开发,效率高,稳定性好;
5)游戏音频测试:测试验证完成的游戏音效配置,播放功能和性能等是否符合设计预期,不符合要求的设计或问题需要修复重新验证。

音频制作-->音频编辑-->游戏音频设计-->游戏音频集成-->游戏音频设计



3、游戏音频设计

简单来讲,游戏音频设计是指利用音频素材,完成游戏相关内容的设计,包括音频播放内容、播放方式、音频属性和游戏交互等。

基于音频播放设计
游戏音频设计师提供音频文件和播放方式,游戏开发工程师负责实现音效播放。
[ 基于音频播放设计 ]
这种模式下以游戏开发工程师为主,游戏音频设计更多注重音频资源编辑。音频设计可表现的方面不多,音效总数量级在百左右。目前主要在H5和微信小游戏中存在。

基于音频中间件设计
游戏音频设计师负责音效设计,游戏开发工程师负责集成音效。
[ 基于音频中间件设计 ]
这种模式下以音频设计师为主,游戏音频设计师开始关注音效设计。由于不需要关心底层技术实现,音频设计师发挥余地较大,音效总数量级在千或万以上。目前大部分端或手游普遍使用了音频中间件。
4、游戏音频中间件

游戏音频中间件,简单来讲即游戏音频的解决方案。游戏音频中间件一般包含编辑器和SDK,音频设计师利用编辑器独立完成游戏音频设计。游戏开发工程师集成音频中间件提供的SDK到游戏客户端,并完成设计好的游戏音频触发和交互,实现游戏音频的播放。
游戏音频中间件包含音频编辑器和音频引擎(SDK为其调用接口)两部分,大致框架如图所示:
[ 游戏音频中间件框架 ]
游戏音频中间件使得音频设计师独立游戏开发,即可完成音频设计,其在游戏开发过程中主要有以下作用:
1)标准化设计:统一规范音效设计模式,提高游戏音效设计效率;2)功能复用:避免重复开发,提高游戏音频开发效率和稳定性;3)跨平台支持:抽象各平台音频硬件,支持各平台游戏部署。
二、游戏音频设计

狭义的游戏音频设计是指播放内容和交互方式的设计,不包含音频资源加工。下面介绍游戏音频设计中的重点内容。
1、播放方式设计

播放方式设计是指选择何种播放方式表现音效。不同音频中间件提供的播放方式大同小异,下面以Wwise为例介绍常用的几种播放方式。

循环播放
适合持续性重复播放场景的音效,可设置循环次数和循环内容。循环播放关键是设置好过渡,避免过渡之间出现卡顿。



随机播放
随机播放主要目的用于增加音效内容丰富感,显得更真实自然。假如游戏的其中一个环境为洞穴。背景中有水滴声,来营造洞穴环境的氛围。先创建一个随机容器,将所有不同的水滴声编组。当角色位于洞穴中时,持续播放水滴声,因此可以将容器的播放模式设置为 Continuous 并无限循环。



顺序播放
也称为序列播放,适合顺序播放内容。在游戏的某个环节,玩家必须按下按钮才可打开一扇装有很多解锁机制的大铁门。此时,可以将所有解锁声音编组至一个序列容器。之后可以创建一个播放列表,按逻辑顺序排列这些声音。将容器的播放模式设置为 Continuous,这样在解锁大门时,便会连续播放这些解锁声。


混合播放
适合连续过渡切换场景的音效,例如黑夜和白天环境音效过渡。如图所示,Rooster Crow为公鸡啼叫,用于表现黎明,Cluking and Scratching为咯咯叫声和啄食声,用于表现白天。Time_of_Day为控制时间参数,范围0~100。进入黑夜时,Time_of_Day小于18或者大于78,此时环境声静音,即黑夜寂静。当进入黎明时,Time_of_Day大于18,此时播放Rooster Crow,能听到公鸡啼叫。当白天时,Time_Of_Day大于38,此时播放Clucking and Scratching,能听到咯咯叫声和啄食。黎明到白天过程中,Time_Of_Day大于38小于43,此时Rooster Crow和Cluking and Scratching为交叉混合效果,前者音量降低,后者音量升高。除此之外,上面还增加了整体音量控制,为图中红色曲线。Agitation为音量控制参数,用来表现游戏紧张程度,控制整体环境音量。Agitation越大,环境音效整体音量越大,烘托游戏紧张气氛。



虚拟播放
虚拟播放为不实际播放音频,这种播放方式可以实现音频暂停和恢复。Wwise提供虚拟通道设置来控制虚拟播放,主要目的是控制性能,当播放实例达到限制数量时,进行虚拟播放;当恢复时,可以选择从头播放,继续播放或者播放位置继续播放。例如游戏场景内出现多台载具,载具的引擎声数量就会比较多。对载具引擎声设置虚拟播放,这时候优先播放距离玩家最近的引擎声,而较远处引擎声暂时进入虚拟通道;当其重新靠近玩家时,引擎声又重新恢复。


2、交互式音频设计

传统音频设计强调游戏音频的主要功能为操作反馈,即游戏操作到音频触发的单向信息传递。交互式音频设计则强调双向信息传递,体现到游戏内即为持续控制改变游戏音频。


游戏侧通过参数对游戏音频进行控制,参数控制类型分为两类:
1)离散参数:不同材质类型,门开关状态等,均属于离散参数;2)连续参数:距离远近,载具引擎转速变化,均属于连续参数;
相对于音效,交互式音乐(互动音乐)设计更普遍。
3、程序音频设计

不同于传统使用音频素材的方式进行音频设计,程序音频设计是指通过程序方式(如数字合成器)实现音频内容生成和播放。程序音频设计依赖音频设计师对于声音产生原理的熟练掌握。
程序音频设计不用,或者很少使用音频素材(部分合成器使用音频素材采样),因此整体音频资源体积较小。并且程序音频不需要经过解码,实时性要好;但由于音频内容实时生成,相较于解码器需要更多CPU消耗。在真实性方面也不如使用音频素材。
4、空间音频设计


音频空间分类
(1)2D音频
2D音频均为声轨组成,所有音轨根据各自音量调整,再进行混音后实现音频输出,2D音频设计重点是混音效果设计。
(2)3D音频
3D音频又称为空间音频,音频在空间具有位置和朝向,3D音频与Listener相对位置决定音频距离和方位。音频距离通过衰减来模拟,音频方位则通过空间化技术来实现。空间音频设计主要是指音频衰减和方位,以及空间效果设计。不同于2D音频,3D音频均为单声道,其重点是空间混音设计。
相对于2D音频渲染管线,空间音频渲染管线多了空间化和去空间化(双耳滤波),如图所示:
[ 空间音频渲染管线 ]

Listener
Listener为玩家在游戏音频的听觉位置,与空间音频体验密切相关。Listener常见有以下几种摆放方式。
(1)Listener摆放到Camera:Listener跟随Camera,管理比较方便。发声位置和Listener有偏移,音频3D属性设置不便利。实际应用中,Listener会放置在Camera与角色连线位置上,避免因摄像头运动产生明显听觉差异;
(2)Listener摆放到控制角色上:发声位置和Listener一致,设置音频3D属性方便,缺点是听感不如耳后自然;
(3)Listener摆放到视觉中心:第一人称游戏常用摆放方式。
[ Listener摆放位置示意图 ]

衰减
声音随着距离传播,会产生能量衰减,技术上通过音量衰减和低通滤波LPF效果来模拟声音传播。扩散Spread的作用是处理方位在不同距离上产生的声道能量分布问题。
(1)音量衰减:设置音频随距离的衰减音量,用于模拟声音随距离传播能量衰减;
(2)HPF/LPF:设置音频随距离的高通HPF和低通LPF效果强度,声音随距离传播不同频段能量衰减不同,LPF就是用于模拟远距离频段衰减效果;
(3)扩散Spread:控制声音在虚拟扬声器能量分布比例,Spread越小,声音方位更准确,但由于扬声器数量有限,不同方位听觉过渡变化大,容易产生极左极右方位;Spread越大不同方位的听觉过度自然,为最大值时,各扬声器能量分布抵消方位效果,没有空间方位。
4)音频空间化和双耳渲染,空间效果音频空间化是指将音频转换成空间声场表示。双耳渲染实现了声场重放,用于支持立体声音频输出。空间音频除方位和距离感外,还包括空间感,即对空间的感知,体现为空间混响和阻挡效果。
5、对象音频设计

随着空间音频技术出现,游戏音频设计从传统基于声道音频概念转变到基于对象音频。对象音频设计概念中,每个音频不再只是音轨,而是包含音频媒体的对象(在空间音频设计中,每个发声对象都是音频对象,两者有区别)。在3D游戏中,游戏场景更丰富,声音数量急剧上升。对象音频设计概念引入,除用于设置音频的3D属性外,最主要作用是控制音频播放产生的性能开销。
对象音频设计中,主要有以下性能相关的属性:
[*]播放限制:允许播放实例数目,可以按照发声对象或者全局来限制;
[*]优先级:音频播放优先级,达到播放限制时,播放优先级更高的音频。优先级并不固定,可以跟播放距离或者播放音量相关联。合理优先级设置对于音效整体表现至关重要;
[*]打断规则:同音频相同优先级打断方式,用于同一个音频连续触发同一个实例的场景;
[*]播放阈值:低于播放阈值的音频不会触发播放。

三、游戏音频集成

1、游戏音效资源

游戏音频中间件导出音效设计内容为音效资源,音频引擎加载并解析音效资源,重构音频设计结构来实现音效播放。音效资源结构一般为音频中间件自定义文件格式,其组成内容和加载方式如下:

组成内容
音效资源包含工程设置,音效设置,音效事件和音频媒体等信息。不同信息或以后缀名或者特殊名来区分。以Wwise导出音效资源为例:Wwise导出音效资源后缀名为.bnk,流式音频媒体后缀名为.wem。其中Init.bnk为特殊资源,包含全局音频设置信息。其它.bnk均为包含音效事件和音频媒体。

加载方式
音频压缩比低于图片,在10:1左右。通常音频使用的素材为48KHz,16bit,按照1K个音频,平均时长3s来计算,总大小约为27M;当音频数更多,时长更长时,这个总量还是比较大,所以音频内存占用是游戏开发过程中的一个重要指标。不同音频中间件的音频资源加载方式都差不多,主要分为三种:完全加载,即直接加载到内存;流式加载,通过IO方式读取音频内容;预加载,介于两者之间,部分直接加载到内存,剩余部分通过IO方式读取。
2、游戏音频引擎

典型游戏音频引擎整体框架如图所示。主要功能包括音频事件处理、资源加载解析、音频对象管理、音频渲染管线、解码和效果插件管理,以及底层基础支持,例如IO,内存和线程管理等。
[ 音频引擎整体框架 ]

[*]音频事件处理:处理游戏客户端发送给音频引擎的事件,包括音效触发、资源加载、音频对象位置更新等接口事件。
[*]资源加载解析:执行音频资源加载,并解析相应音频设计结构,创建对应音频对象;
[*]音频对象管理:管理加载的音频对象,以及负责音频对象属性更新。
[*]音频渲染管线:负责音频播放流程,从音频编码数据读取、解码、音频处理、混音处理到最后输出;
[*]基础功能:包括IO、内存池、插件管理、线程。平台接口封装,提供引擎基础功能,供其它模块调用。

3、游戏音频测试

游戏音频测试的主要内容包含以下:

[*]功能测试:测试验证游戏音功能是否正常,包含音频是否播放,是否配置正确,有无播放异常情况;
[*]效果测试:测音频播放效果是否符合预期,如不同场景音频效果正确;
[*]性能测试:测试音频整体性能消耗。

除性能测试可以利用音频中间件提供的Profile功能完成外,其它游戏音频测试基本只能靠主观测试完成。另外关于游戏音频效果的评价方面,目前仍然缺乏有效方法。
四、游戏音频中间件

1、音频编辑器

不同音频中间件在音效编辑方式上有所不同,主要有以下几类:
1)基于时间线:类似DAW,编辑上保留了时间线概念,直接对音轨操作,可以进行多轨音频设计,直接拖拽音频进行编辑。具体以FMOD和CriWare为代表,其操作主界面分别如图所示:
[ FMOD编辑器主界面 ]

[ Criware编辑器主界面 ]
2)基于属性编辑:对音频播放类型分类,不同播放类型属性设置不同,通过编辑属性完成设计。操作简单,上手较快,主要以Wwise为代表。Wwise抛弃了时间轴,直接通过属性设置完成操作,并且支持批量编辑,其主操作界面如图所示:

[ Wwise编辑器主界面 ]
3)基于图形操作:以Miles为代表,主要音频渲染过程以图形方式呈现,通过修改图形来完成音效设计,Miles主操作如图所示:
[ Miles编辑器主界面 ]
DAW功能是内容编辑,影视节目和音乐制作内容都是依照时间进行,所以基于时间线的多轨音频编辑很普遍;但游戏音频设计阶段(除互动音乐外),主要内容是音效播放方式和交互设计,沿用时间线设计虽然直观,但不符合游戏音频随机性的特点,并且容易引导音频设计师使用多层音频叠加设计音效,产生严重性能问题。
2、支持特性比较

音频中间件包括Wwise、FMOD、 Unreal Steam Audio、Miles、Fabric、Elias、Pure Data、Criware、GameCoda、RenderWare Audio等。其中部分中间件支持特性如下表所示。

3、游戏主机音频

游戏主机音频从最初8-bit支持,在随着功能和复杂度不断增加,目前已经可以达到影院级效果。其主要原因在于,游戏主机对于音频的硬件技术支持一直走在最前沿。以下为几款主机平台的音频硬件支持列表:

主机平台都有独立的音频处理单元,支持多路音频解码通道和音频特效处理,环绕声音频输出。最新的PS4使用了基于AMD True Audio技术APU(Audio Process Unit)。Xbox Series X则可能支持Dobly Atoms对象音频技术。这些新技术支持,使得主机平台在空间音频和空间效果实现上更加应对自如。
五、游戏音频趋势

1、设计流程标准化

不同音频中间件在音频设计上的差异会逐渐缩小,设计流程趋向标准化,进一步提升游戏音频设计质量和效率。
2、空间效果真实化

空间音频技术在游戏中应用会越来越广泛,空间效果也会随着音频硬件支持和推广进一步提升,给玩家带来更真实的游戏体验。
3、内容交互智能化

程序化音频和AI音频等技术在游戏音频领域的深入发展和应用,会增加游戏音频内容生产的丰富程度,并且朝智能化方向迈进。
4、用户体验个性化

玩家对于游戏音频质量追求日益提升,已经可以从移动端技术升级初见端倪。从单扬声器播放到立体声播放,再到音效平台设计,这些都在为用户体验个性化做准备
页: [1]
查看完整版本: 游戏音频不完全指南