其他
超实用!游戏音频设计指南来了
编者按 在游戏开发中,音频常常被忽视,但好的音频设计可以给玩家带来更好的游戏体验,为游戏加分。本文将从理论、开发流程、工具、未来趋势等方面,和大家聊聊游戏音频设计。
文 | 小星
腾讯互动娱乐 工程师
1、音频分类
音乐音效:和游戏表现玩法相关的音频,通常称为游戏音频; 语音聊天:玩家信息交流方式,主要包括语音消息和实时语音两种方式。
游戏音频和语音聊天虽同为音频,但在质量要求和技术处理上有很大区别,本文讨论的内容为游戏音频。
根据游戏音频的各自特点,又可以划分三大类:音效、语音和音乐:
1)音效Sound Effect:需要区别音频效果定义,这里的音效指人工制造和加强的声音。游戏内UI点击、动作反馈的声音均为音效。其中烘托环境气氛的音效又称为氛围音效;
2)语音Voice:剧情动画对白、快捷语音等均属于语音;
3)音乐Music:包括主题和背景音乐,以及各种剧情场景音乐。
1)音频制作:制作音频素材,包含录音、拟音、配音、数字合成等音频制作方式;
2)音频编辑:利用音频制作软件或者数字音频工作站(DAW)对音频素材进行内容上的加工编辑;
3)游戏音频设计:设计音频在游戏中播放方式和交互,目前普遍使用游戏音频中间件提供的音频编辑器进行设计;
4)游戏音频集成:开发实现游戏音频播放逻辑。使用游戏音频中间件,可直接集成其提供的SDK开发,效率高,稳定性好;
5)游戏音频测试:测试验证完成的游戏音效配置,播放功能和性能等是否符合设计预期,不符合要求的设计或问题需要修复重新验证。
这种模式下以游戏开发工程师为主,游戏音频设计更多注重音频资源编辑。音频设计可表现的方面不多,音效总数量级在百左右。目前主要在H5和微信小游戏中存在。
这种模式下以音频设计师为主,游戏音频设计师开始关注音效设计。由于不需要关心底层技术实现,音频设计师发挥余地较大,音效总数量级在千或万以上。目前大部分端或手游普遍使用了音频中间件。
游戏音频中间件包含音频编辑器和音频引擎(SDK为其调用接口)两部分,大致框架如图所示:
游戏音频中间件使得音频设计师独立游戏开发,即可完成音频设计,其在游戏开发过程中主要有以下作用:
1)标准化设计:统一规范音效设计模式,提高游戏音效设计效率;2)功能复用:避免重复开发,提高游戏音频开发效率和稳定性;3)跨平台支持:抽象各平台音频硬件,支持各平台游戏部署。
游戏侧通过参数对游戏音频进行控制,参数控制类型分为两类:
1)离散参数:不同材质类型,门开关状态等,均属于离散参数;2)连续参数:距离远近,载具引擎转速变化,均属于连续参数;
相对于音效,交互式音乐(互动音乐)设计更普遍。
程序音频设计不用,或者很少使用音频素材(部分合成器使用音频素材采样),因此整体音频资源体积较小。并且程序音频不需要经过解码,实时性要好;但由于音频内容实时生成,相较于解码器需要更多CPU消耗。在真实性方面也不如使用音频素材。
2D音频均为声轨组成,所有音轨根据各自音量调整,再进行混音后实现音频输出,2D音频设计重点是混音效果设计。
(2)3D音频
3D音频又称为空间音频,音频在空间具有位置和朝向,3D音频与Listener相对位置决定音频距离和方位。音频距离通过衰减来模拟,音频方位则通过空间化技术来实现。空间音频设计主要是指音频衰减和方位,以及空间效果设计。不同于2D音频,3D音频均为单声道,其重点是空间混音设计。
相对于2D音频渲染管线,空间音频渲染管线多了空间化和去空间化(双耳滤波),如图所示:
(1)Listener摆放到Camera:Listener跟随Camera,管理比较方便。发声位置和Listener有偏移,音频3D属性设置不便利。实际应用中,Listener会放置在Camera与角色连线位置上,避免因摄像头运动产生明显听觉差异;
(2)Listener摆放到控制角色上:发声位置和Listener一致,设置音频3D属性方便,缺点是听感不如耳后自然;
(3)Listener摆放到视觉中心:第一人称游戏常用摆放方式。
(1)音量衰减:设置音频随距离的衰减音量,用于模拟声音随距离传播能量衰减;
(2)HPF/LPF:设置音频随距离的高通HPF和低通LPF效果强度,声音随距离传播不同频段能量衰减不同,LPF就是用于模拟远距离频段衰减效果;
(3)扩散Spread:控制声音在虚拟扬声器能量分布比例,Spread越小,声音方位更准确,但由于扬声器数量有限,不同方位听觉过渡变化大,容易产生极左极右方位;Spread越大不同方位的听觉过度自然,为最大值时,各扬声器能量分布抵消方位效果,没有空间方位。
(4)音频空间化和双耳渲染,空间效果
音频空间化是指将音频转换成空间声场表示。双耳渲染实现了声场重放,用于支持立体声音频输出。空间音频除方位和距离感外,还包括空间感,即对空间的感知,体现为空间混响和阻挡效果。
对象音频设计中,主要有以下性能相关的属性:
播放限制:允许播放实例数目,可以按照发声对象或者全局来限制; 优先级:音频播放优先级,达到播放限制时,播放优先级更高的音频。优先级并不固定,可以跟播放距离或者播放音量相关联。合理优先级设置对于音效整体表现至关重要; 打断规则:同音频相同优先级打断方式,用于同一个音频连续触发同一个实例的场景; 播放阈值:低于播放阈值的音频不会触发播放。
音频事件处理:处理游戏客户端发送给音频引擎的事件,包括音效触发、资源加载、音频对象位置更新等接口事件。 资源加载解析:执行音频资源加载,并解析相应音频设计结构,创建对应音频对象; 音频对象管理:管理加载的音频对象,以及负责音频对象属性更新。 音频渲染管线:负责音频播放流程,从音频编码数据读取、解码、音频处理、混音处理到最后输出; 基础功能:包括IO、内存池、插件管理、线程。平台接口封装,提供引擎基础功能,供其它模块调用。
功能测试:测试验证游戏音功能是否正常,包含音频是否播放,是否配置正确,有无播放异常情况; 效果测试:测音频播放效果是否符合预期,如不同场景音频效果正确; 性能测试:测试音频整体性能消耗。
除性能测试可以利用音频中间件提供的Profile功能完成外,其它游戏音频测试基本只能靠主观测试完成。另外关于游戏音频效果的评价方面,目前仍然缺乏有效方法。
1)基于时间线:类似DAW,编辑上保留了时间线概念,直接对音轨操作,可以进行多轨音频设计,直接拖拽音频进行编辑。具体以FMOD和CriWare为代表,其操作主界面分别如图所示:
2)基于属性编辑:对音频播放类型分类,不同播放类型属性设置不同,通过编辑属性完成设计。操作简单,上手较快,主要以Wwise为代表。Wwise抛弃了时间轴,直接通过属性设置完成操作,并且支持批量编辑,其主操作界面如图所示:
3)基于图形操作:以Miles为代表,主要音频渲染过程以图形方式呈现,通过修改图形来完成音效设计,Miles主操作如图所示:
DAW功能是内容编辑,影视节目和音乐制作内容都是依照时间进行,所以基于时间线的多轨音频编辑很普遍;但游戏音频设计阶段(除互动音乐外),主要内容是音效播放方式和交互设计,沿用时间线设计虽然直观,但不符合游戏音频随机性的特点,并且容易引导音频设计师使用多层音频叠加设计音效,产生严重性能问题。
主机平台都有独立的音频处理单元,支持多路音频解码通道和音频特效处理,环绕声音频输出。最新的PS4使用了基于AMD True Audio技术APU(Audio Process Unit)。Xbox Series X则可能支持Dobly Atoms对象音频技术。这些新技术支持,使得主机平台在空间音频和空间效果实现上更加应对自如。
不同音频中间件在音频设计上的差异会逐渐缩小,设计流程趋向标准化,进一步提升游戏音频设计质量和效率。