游戏音频设计入门指南
腾讯互动娱乐 音频策划
01
非全面的游戏音频设计技能树
作为一门艺术与技术紧密结合且还在不断快速发展的实用型学科,游戏音频设计综合性地运用声音领域里许多方向的知识、技能和工具来进行声音创作,并通过一个动态的(Dynamic)、交互的(Interactive)、程序性的(Procedural)游戏引擎系统将最终的声音效果呈现出来。
仅从这一句简单的描述来看,对游戏音频设计师的从业要求就同时包含了艺术创作方面的制作能力和技术思维的实现能力,这背后还涉及到许多领域的知识技能储备。我想这可能正是令许多想入行的朋友们感到望而生畏的原因,甚至是声音相关行业想转行的同行们似乎也感到无从下手。也正如此,我的分享也只能是“非全面”的,仅从个人学习和工作经历出发,尽可能有条理地梳理出一个可供大家参考的游戏音频设计技能树。
声学基础
声学本身是一个已有成熟理论体系的物理学科,包含了有关声音的各种细分方向研究。作为建构在此基础之上的实用性学科,游戏音频设计自然也会涉及到相关的声学基础知识。
我认为有两块理论知识尤为重要且与实际应用甚是相关:
物理声学
简单说是对声波的产生、传播、特性等相关的研究,决定了我们如何在虚拟世界中对声音进行解构和还原,以及随着技术的不断发展我们该如何用更高效的模型去实现更逼真的效果;
心理声学
重点关注的是通过科学方法来研究人类是如何感知声音,比如音频压缩技术和响度标准等就是心理声学在实际应用中的典型体现。随着心理学和脑科学的不断发展,心理声学在解决人类如何更有效、更细节、更多维地感知声音这一问题上一定会有更深入的研究。
掌握扎实的理论知识或许在实际应用上不会有立竿见影的效果,但知其然且知其所以然还是很重要的,这样才能在积累经验的同时不断有想法上的突破,避免自己成为只会熟练操作的工具人。
数字音频制作
数字音频制作,是指以数字音频工作站(Digital Audio Workstation, DAW)为主要工具,运用各种数字信号处理(Digital Signal Processing, DSP)手段来进行声音制作。通俗点说就是用计算机来进行声音制作。DAW 是指 Pro Tools、Reaper、Cubase、Logic 等之类的宿主软件;DSP 是指用各种插件工具对声音进行处理。这是贯穿整个声音设计相关行业最基本的技能。
相较模拟时代而言,现今的音频制作入门门槛是越来越低了,无论是硬件设备、软件工具还是各种学习资源,都是非常容易获取的,这也让更多的人有机会参与到声音创作中去。这就像,现在大多数人并不需要理解光圈快门等成像原理,就能用手机拍出一张好看的照片。 但作为专业的从业者,只会使用工具是远远不够的,还要去思考怎样把工具用对用好,比如如何搭建一个信号链正确、结构明晰的工程文件,如何输出符合数据格式和响度标准的声音资源等。不要只在意最终做出来的东西好不好听,而忽视了这些最能体现个人专业度和工作习惯的重要细节。
录音技术
录音技术是使用话筒(Microphone)和录音机(Recorder)等设备采集声音的过程,是获取原始声音素材的最重要的手段。从录音对象和场合来分析,有同期录音、实地录音、拟音录音、音乐录音和语音录音等具体分类。
对游戏音频设计师来说,录音不仅是获取声音素材的手段,其过程本身也是一种重要的学习方式。只有细心体验过真实的声音,才能更加有的放矢地对录制到的声音素材进行再创作,创造出既符合真实体验又满足游戏功能和美感需求的听觉体验。
[ <{=....(嘎~嘎~嘎~) ]
合成器
合成器是通过生成简单波形并对其进行各种调制处理来获取声音素材的方式,在音乐制作领域已经是非常成熟的创作工具。而合成器在信号链和调制处理方面的运用对声音设计也是有很大的借鉴意义。
如果有朋友觉得直接上手模拟合成器费钱,可以尝试先从软件合成器入手。
[ 据说这套设备6个0以上∑( °△°|||)︴]
混音
如果说录音技术和合成器关注的是如何获取声音,那么混音关注的就是如何将声音重放出来。无论是音乐混音、电影混音还是游戏混音,它们的最终目标都是一致的,将设计完成的声音在频域、时域和空间上进行合理排布,并通过合适的重放系统播放出来,传达给受众一个完整的听觉体验。
与音乐和电影这类线性媒体相比,游戏作为典型的交互式媒体在设计思路和工作流上确实有所不同,但在重放环节其实并无任何区别,还是通过耳机和音箱系统,所以在混音的方法原则和评价标准上都是一致的。
声音设计
这里对声音设计的定义相对狭义,重点是指从游戏的设计需求出发来制作出语音、音乐和音效这三大类的声音资源。
从项目实际运作角度考虑,游戏音频设计师是无法完全独立完成所有制作的——语音资源需要配音演员和导演的参与,音乐资源则需要作曲家和乐手的参与,游戏音频设计师可以根据自身的技能特长有选择地参与其中,但无论如何最重要的是——本着对最终声音表现负责的态度来把控所有声音资源的质量。毕竟游戏音频设计师应该是整个项目中对声音设计最有发言权的人了。
[ 不同金属与干冰碰撞的声音火花 ]
游戏设计基础
业内外经常听到的一种调侃是,有了策划、美术和程序就能开始做游戏了,而音频往往就被忽略了。这其中既有客观原因:对于大多数游戏类型来说,声音不是游戏玩法和表现上的核心,玩家对声音表现的敏感度也远低于视觉上的表现;或许也有主观因素:有些游戏音频设计师可能只忙于完成视觉表现上的需求,而没有从更深层次的游戏设计与开发环节中发挥更大的作用。
因此,掌握游戏设计和开发流程等相关知识的意义在于,游戏音频设计师要把自己定位成一名真正的游戏开发者。以开发团队核心成员的身份,去了解其他工种的工作内容和流程以便于更顺畅的沟通与合作,从专业角度提出音频方面的设计想法来提升游戏的整体品质。只有充分展示出自身不可替代的价值,才能获得他人在专业上的认可与重视。
游戏引擎
游戏引擎作为游戏开发的核心工具,自然也是游戏音频设计师必须要掌握的。除了某些游戏工作室内部的自研引擎之外,目前主流的商用引擎是 Unreal 和 Unity,官方网站和各类社区都有非常丰富的学习资源,自学上手很容易。
游戏音频中间件
游戏音频中间件是一种用于管理声音数据、实现音频功能的图形化界面软件,它的出现减少了游戏音频设计师对引擎端程序支持的依赖程度且极大地提高了工作效率,因此在现在的游戏开发流程中似乎已经成为了一种标配工具,在各类招聘要求中也成了必备技能之一,重要性自然不言而喻。
但我更想从祛魅的角度来说一说我的看法,大家千万不要觉得离了中间件就没法干活了,工具就只是工具而已,主要的作用就是提高开发效率,省去了重复造轮子的成本,而对游戏音频设计师的自我修养来说,更重要的是养成良好的数据管理习惯,理解工具背后的实现逻辑,这样才能举一反三,在之后遇到其他的开发工具和环境之后,依旧能有一套切实可行的游戏音频设计方案,这才算是自己积累下来的核心竞争力。
除了某些游戏工作室内部的自研工具之外,目前市面上也已经有不少成熟的商用游戏音频中间件可供选择,个人比较推荐 Audiokinetic Wwise,官方提供了非常丰富的文档资料和学习资源,在学习工具本身的同时还能了解到许多游戏音频设计相关的概念和思路。
技术音频
从各种猎头资源和招聘启事了解到的信息来看,近两年国内游戏开发团队对技术音频设计师的需求明显增加,因此我觉得有必要单独提出来聊一聊。
在我来看,这个岗位出现的主要原因是,随着游戏品质的不断提升,游戏音频在数据和功能方面的工作量和实现要求已经超过了普通程序员的能力范畴,而目前行业内的大多数游戏音频设计师受限于经验背景和技能储备,也没有足够的程序基础去解决某些技术性问题,因此需要一个既有音频设计相关知识又有程序功底的开发人员来参与到各个开发环节中去。
简单来说,技术音频设计师的工作职责就是处理一切普通游戏音频设计师无法解决但又和音频相关的技术性问题,比如工作流和性能优化、音频功能和工具开发等,这样的角色定位与技术美术(Technical Artist)在游戏美术开发中的功能是类似的。
从游戏开发分工精细化的发展角度来看,技术音频设计师这个岗位确实是有存在的必要,让专精人才在细分工作上发挥作用,对项目的效率和品质提升都是有帮助的,但我认为有时候对游戏音频设计工作内容的过度分工和剥离,可能也会带来一些负面影响。所以我要以游戏音频设计师的身份立场鲜明地表达一下我的观点,不要轻易放弃那些原本就是份内职责的技术性思考和解决问题的能力,否则很有可能成为只会制作声音资源的内包人员。
游戏音频设计师从游戏需求和声音表现出发,对音频数据和功能进行整体性的构思,并将实现逻辑完整地传达给程序员进行开发,并参与到开发全程的整合、调试和优化环节中去,我觉得这正是游戏音频设计区别于传统声音设计的独有乐趣。
以上,就是我对游戏音频设计相关技能和知识储备的“非全面”梳理——声学基础、数字音频制作、录音技术、合成器、混音、声音设计、游戏设计基础、游戏引擎、游戏音频中间件、技术音频。
游戏音频设计是艺术与技术紧密结合的学科,在提升实用型技能的同时,也不要忽视了艺术修养方面的积累。
虽然我一直抱有成为“全栈式”游戏音频设计师的想法,但不得不承认这是一个非常理想化的目标,上述提到的每项内容都是值得深耕数十年的领域。从实际就业的角度来考量,也并非说要完全具备以上这些能力才能找到一份游戏音频设计的相关工作,行业的发展必定会带来分工的进一步细化和岗位需求的增加。因此更为实际的学习路径是,结合自身兴趣和专业特长,以“一专多强”的目标去不断完善自己的技能树,扎实地在游戏音频设计行业走得更稳更远。
02
游戏音频设计的工作流和分工
游戏音频设计的工作流
大多数想从事游戏音频设计的朋友对传统的线性媒体声音设计,这项基本技能的工作方式和流程多少是有所了解的,毕竟找工作的话,一份视频作品 Demoreel 肯定是少不了的。相较而言游戏开发更为复杂,即使是声音设计专业出身的朋友也难以独立完成,且项目合作的机会较少,因此往往不太了解游戏音频设计是如何在实际的游戏项目中开展工作的。所以,我想通过图例的方式来梳理一下游戏音频设计的工作流,重点聊一聊音频设计受游戏开发流程影响而产生的工作特点。
依上图来高度概括的话,游戏音频设计的实现目标是——根据设计需求制作出相应的音频数据,并将其整合到游戏引擎中去,与其它设计元素共同形成最终整体的游戏表现。
首先解释下这句话中提到的三个概念:
设计需求
与美术风格的概念设计类似,游戏的音频设计也需要在项目早期确立 Concept Design,其中既包括了对语音、音乐和音效在艺术风格上的选择,也包含了实现方式和工具管线等技术调研,并在此基础上跟随开发进度为游戏中各个元素制定出具体的音频数据需求。
游戏表现
现实点说,声音在大多数类型的游戏中往往算不上核心玩法的组成部分,玩家在无声环境下其实也是可以进行游戏的。某些声音元素的表现重点更多的是在配合游戏中的视觉表现并提供听觉上的信息提示,因此游戏音频设计在实际开发流程中需与各个部门进行频繁沟通,且对他们的工作成果有一定的依赖关系,这也是影响游戏音频设计工作流程的重要因素。
音频数据
为更好地表达游戏音频设计的特点,并与传统声音设计有所区分,我把音频数据(Audio Data)定义为由声音资源(Sound Asset)和实现逻辑(Implementation Logic)两部分组成。其中,声音资源是指在数字音频工作站(DAW)中制作完成并导出、以 Wav 格式为主的声音文件,而实现逻辑考虑的则是与声音资源何时触发与停止、如何变化与传播等相关问题,这两者在游戏引擎中共同组成了所谓的音频数据的概念。
接下来将围绕上述概念梳理一下其中涉及到的一些重要环节。
设计需求→
声音资源&实现逻辑
简单来说,在实现某个具体的设计需求时,考虑的问题其实就是播放什么声音和怎么播放的问题,分别对应的就是声音资源和实现逻辑,这一点是非常容易理解的。
需要注意的是,声音资源和实现逻辑之间的关系是同时从设计需求出发来考虑的、互相影响的平行关系,而非先后关系:不同的实现逻辑会直接影响到声音资源的制作方式,而声音资源的组织形式往往也会影响到实现逻辑的优化。
以枪声为例,枪械射速驱动和固定片段播放这两种不同的触发方式,直接决定了枪声资源是要做成完整单发的形式还是可循环片段的形式 ,而在枪声层次上的细分也对实现逻辑提出了要求,需要保证各个层次能在同一时刻被精准触发和停止。
这个阶段要做的工作大致可分成两部分:
1.与游戏设计师和相关工种的同事进行沟通,明确设计需求并制作出相应的声音资源;
2.清晰明确地将实现逻辑传达给程序员,在游戏引擎中完成相应的功能开发和验证。
音频数据→游戏表现
完成声音资源的制作和实现逻辑的开发之后,接下来就到了把音频数据在游戏引擎中与相对应的设计元素整合起来共同测试游戏表现的时候了。其中,游戏音频设计师还需要在混音标准和性能指标等方面去做整体性的设置与调整。
在这个阶段,谈一谈我认为比较重要的两个观念。
1.正如上文提到,游戏音频设计师需与各个工种进行沟通制定具体的设计需求,因此音频数据也会被相应地整合到各个相对独立的功能组件中去,比如地图关卡、动画和特效等,它们之间的整合方式存在着较大的差异。我觉得,既然游戏音频设计师是对最终的声音表现负责,那么音频数据整合作为其中的一个环节,自然就是分内之事,而不应全权交由其它工种同事来处理。另外,游戏音频设计师对整合工作有更多的把控,其实是为自己在后续 Debug 环节的工作提供了更多自主性。
2.跳出自己作为开发者的角色,尽可能从玩家视角去测试和评价整体的游戏表现。有时我们可能会太过坚持所谓专业上的“正确”,而忽视了玩家体验到的实际感受。比较好的实践方式是,亲身投入到日常的测试工作中去,与开发组同事和参与阶段性测试的玩家沟通,听一听他们的真实想法与感受,我相信一定会有所收获。
游戏表现→
声音资源&实现逻辑&设计需求
测试和评估游戏表现之后,各种问题自然也就浮现出来了,可能是声音资源本身无法匹配视觉元素改动之后的效果,或是实现逻辑不够严谨导致了触发错误,当然也有可能是整体表现不如预期,那么就要回到设计需求的环节重新开始。
在这个 Debug 阶段,游戏音频设计师最重要的能力就是——熟练使用各种调试(Profiling)工具,快速找到问题到底出在哪个环节。如果是声音没放出来,首先判断是不是声音资源本身或数据整合上的问题,是的话就自行解决;如果排除这些环节,再从实现逻辑等更深层次的角度去考虑,尽可能缩小出错范围,并将相应问题和调查结果详细表述成非声音专业背景的人也能听得懂的状态,然后再寻找程序员或相关工种的同事来一同解决。
以上就是根据图例所示,以音频数据为核心展开梳理的游戏音频设计工作流。而游戏开发本身有一个特点就是迭代(Iteration),需要不断进行重复性的工序来无限逼近预想的表现效果,游戏音频设计作为其中一环,自然也是要遵循这个规律的,因此上述的工作流其实是自始至终地贯穿在游戏开发的每一个阶段中的。
游戏音频中间件
现在,游戏音频中间件(Audio Middleware)工具似乎越来越成为大多数开发团队的标配了,其日益丰富的功能极大地提高了游戏音频设计师的工作效率,某种程度上也多少改变了工作流程。
依上图,我认为音频中间件的价值主要体现在两点:
1.提供了更有针对性的功能和管线来全方位地管理海量的声音资源,以满足各种复杂且一直在变化的开发环境的要求。同时,某些音频中间件与数字音频工作站之间的联动功能,可以让游戏音频设计师对声音资源进行更加快捷方便地调整。
2.完成一部分实现逻辑,省去了在游戏引擎中重复造轮子的成本。游戏音频设计师可以在图形化界面的软件中实现某些复杂的音频功能,并在游戏引擎中快速地进行验证与调试。这极大地减少了程序员的工作量,而且也给游戏音频设计师在创意上提供了更多的试验空间。 任何有关设计的工作流,很大程度上都是由工具来决定的。虽然工具的更新换代会很快,但就目前游戏开发的框架结构和技术水平而言,本文所讨论的游戏音频设计工作流还是具有普适性的。
游戏音频从业者的分工
聊完游戏音频设计的工作流之后,接下来我们将聊一聊游戏音频工作者,尤其是被视为连接者的技术音频设计师,以及被称为珍稀动物的音频程序员他们具体是干什么的?
技术音频设计师
在「上篇」中,我大致分析了“技术音频”这一概念出现的原因,也立场鲜明地表达了自己的看法——不要轻易放弃那些原本就是份内职责的技术性思考和解决问题的能力。虽说,这一观点有些理想化,但无论是从音频团队的人才架构还是工作效率来看,技术音频这一工种的出现肯定是有正向价值的。
聊到游戏开发工种的话,技术美术(Technical Artist,简称“TA”)这一概念大家多少都有所了解:一个艺术与技术双修的综合性工种,在艺术表达和技术实现之间架起了桥梁,去解决普通设计师职责范围之外的问题。从称呼上就可发现,技术音频的角色定位其实和技术美术是类似的,即解决普通音频设计师职责范围之外的问题。因此需要讨论的重点是——音频设计师和技术音频之间的职责边界是什么?
我浏览了国内外相关的招聘信息,并结合从同行朋友们那里了解到的实际情况,大致勾勒出了目前技术音频设计师的职责定位和可能涉及到的工作内容:
1.技术音频的职责定位是一个连接者的角色,更好地建立起音频部门和项目中其它工种之间的协作关系。
2.从更全面的角度去管理整个音频项目工程,如制定命名规则(Naming Convention)、搭建音频数据结构(Audio Data Structure)等。他将会更加注重在与游戏引擎相关的部分上——协同设计师和程序员完成与游戏玩法直接相关的音频功能开发,及音频数据整合、功能调试和性能优化等。
3.需考虑工作流程方面的问题——优化已有工具或开发新的工具来不断提高整体音频设计的工作效率。这部分工作可能还需要额外的引擎/工具相关程序员来协同完成。
在我来看,技术音频的出现其实是将原先音频设计师的一部分工作内容剥离了出来。在上文中,我提出了“音频数据”这一概念,其中包含了“声音资源”和“实现逻辑”两部分,音频设计师将从这两方面入手去考虑最终的声音表现。而在有了技术音频这个角色之后,声音资源的制作将主要由声音设计师(Sound Designer)来完成,主要关注在声音本身的艺术表现上;而技术音频则会负责相应的功能逻辑,以及其它与技术实现直接相关的工作内容。
细心的朋友可能已经发现了,我把负责声音资源制作的人员称为是声音设计师,而非音频设计师。对于大多数人来说,“声音”和“音频”这两个词在字面意思上其实并没有太大的区别,只不过“音频”一词听起来可能更像是在搞技术。没错,在这里我定义的“声音”是更偏自然化和艺术向的,而“音频”则带有更明显的技术性特点。所以,游戏音频设计、声音资源、音频数据等这种概念在用词的选择上其实是能体现出各自明显特点的。这种用词上的区别可能只是我个人的纠结,但它们将会贯穿在全文中,所以我想还是有必要在这里澄清一下。
总之我之所以强调自己是“音频设计师”,而非“声音设计师”,是因为我的工作不仅仅是在声音资源制作方面的美学要求,还有更加理性思维的技术实现方面的追求。我不好说,这种将艺术与技术剥离开的分工对游戏音频从业者个体来说到底是好是坏,毕竟这其中还涉及到了个人兴趣选择和术业有专攻的因素。当然,也没有必要因为技术音频可能了解更多技术相关的知识,而觉得这个岗位更加牛逼一些。我只是觉得,这种分工可能会把游戏音频设计变得没那么好玩了。
从实际的工作情境去考虑,使用外包资源来完成声音资源的制作是普遍存在的,在效率和效果上也是有保障的。而如何提出制作需求和进行资源整合等方面的工作则相对来说难以外包化一些,更依赖于一个与项目组内部沟通更为密切、对各方面技术要求更加了解的音频设计师来完成。所以,这可能也是为什么现在技术音频这一岗位如此热门的原因之一吧。如果你是一位在项目组中只会制作资源的声音设计师,是不是感到了一丝将被淘汰的危机感?如果你是一个满怀创作热情的入行新人,是不是要思考一下自己的技能储备是否完善?
音频程序员
再来说一下差点被遗忘的音频程序员。从上文对技术音频工作内容的梳理中可以看出,由于职责分工的原因,技术音频的部分工作是需要音频程序员的配合来完成的。以实现一个游戏玩法相关的音频功能为例,简单来说就是技术音频提出切实可行的方案,音频程序员负责在游戏引擎中的代码实现。
音频程序员这一角色在游戏开发行业里确实是珍稀动物一般的存在。就目前情况来看,以音频设计师身份入行的人员,大多数都是偏艺术方向的设计与制作出身,缺少了编程能力方面的培训;而以程序员身份入行的人员,在团队编制和架构上其实跟音频组没什么直接关系,如果还能选择来做专职的音频程序员,这样的人真得挺少的。所以,我其实是蛮期待技术音频这一岗位的出现,能让更多的人关注到编程能力对音频设计实现的重要性,让更多的人看到从技术音频转向音频程序员这一条职业发展路径的可能性。
但无论你的方向是什么?作为一名音频设计师,我认为首先还是应将自己视作一名游戏开发者。
03
游戏音频设计的发展方向展望
去年年中的时候,与朋友做了一期名为「2020了,游戏还能给我们带来什么」的播客节目,作为一个坚定的技术派,我在其中表达了一个观点,新体验的产生很大程度上依赖于硬件性能的提升和开发工具的进化。如果把问题具体到游戏音频设计,我认为值得展开讨论的话题就是,基于硬件软件不断发展的前提下,游戏音频设计自身会发生哪些变化?从业者在开发流程中会运用哪些新方法?玩家在游戏过程中能获得哪些新体验?
最初在列文章大纲时起的英文标题是“What will The Next Gen of Game Audio Design be like”,这是一个疑问句,对此我并没有清晰明确的答案,所以说我只能是结合实际工作中遇到的痛点,来聊一聊游戏音频设计在设计思路、开发工具和终端体验等各个环节上还有哪些可以改进的地方。译成中文的话,就高大上一点地叫“展望游戏音频设计的发展方向”吧。
游戏音频设计的现状
1983年,任天堂推出了风靡全球的 Nintendo Famicom,经典配色的“红白机”。这算是我最早认识的游戏机了,就把它作为标尺来分析一下硬件性能:8-bit 1.79MHz 处理器,2KB 内存,音频方面支持 4-bit 波表合成器和最高 7-bit 15.7458kHz 采样文件,最多可同时播放五个声音。
2013年,Sony 推出了 PlayStation 4 主机,而它的性能已经达到了:八个 64-bit 1.6GHz 处理器,8GB 内存,24-bit 48KHz 音频文件格式成为开发标配,八通道输出支持多种环绕声音响设置,可同时发声数方面也没有了硬性限制。
显而易见,这三十年的硬件发展是非常迅速的,性能水平的提升几乎是以百千倍计的。而就在2020年年底,Sony 和 Microsoft 也都相继推出了新一代的游戏主机,性能方面更是有了进一步的提高。
其实,移动端设备的性能也已经到了非常高的水准,越来越多的游戏开始尝试主机端和移动端的多平台支持。虽然由于手机本身的功能定位和物理机能的限制,在实际表现上与主机相比还有些差距,但游戏开发的思路和目标在这两个平台之间并无明显的差异,只是侧重不同而已:主机端追求的是在极限的性能要求下达到最极致的表现,而移动端则更注重在保证尽可能好的表现下去适配更广泛的机型。
总的来说,从内存和处理器这两个指标来理解,硬件性能的提升对游戏音频设计意味着:更大的内存意味着可以使用更多高质量的声音资源,更快的处理器意味着可以处理更多高精度的实时控制。
因此在这样的硬件性能水平之下,游戏音频设计也形成了目前一套相对成熟的开发流程,借用游戏音频设计入门「中篇」:工作流和分工一文中的图示来说明:在数字音频工作站中制作出高质量的声音资源,导入音频中间件中进行统一管理和进一步处理,并与游戏引擎深度结合来构建实现逻辑,最终以音频数据的形式与游戏中其它元素配合来实现各种丰富的条件触发和实时变化。
以上,从硬件性能和开发流程这两个角度入手,简单阐述了游戏音频设计的现状是怎样的。接下来我将以在实际项目中遇到的3个例子,来聊一聊游戏音频设计目前尚存的一些问题,以及可行的改进方案。
程序化音频
在第三人称射击游戏类型中,玩家能够清楚地观察到整个角色的各种行为,因此角色在动作表现上的细节就显得尤为重要,特别对于写实风格的游戏来说更是如此。针对此类角色动画的开发需求,目前常见的做法是基于骨骼动画(Skeleton Animation)和关键帧动画(Keyframe Animation)的。
以 Unreal Engine 为例,首先根据角色表现进行细致的行为分类,比如基础的 Idle、Turn、Walk、Run 以及各种行为之间起停和过渡等行为,通过动作捕捉(Motion Capture)的方式采集原始动作素材并制作出大量的动画序列(Animation Sequence),再在游戏引擎中运用混合空间(Blend Space)和状态机(State Machine)等功能对动画序列进行整合,实现各种行为的触发和转换。在这样的开发工序下,角色衣服和脚步等 Foley 相关的声音一般是以动画通知(Animation Notify)的形式整合进动画序列中,只要动画序列被触发,其中相应的声音就会被播放。
[ 状态机截图(供参考) ]
接下来就以脚步声为例来具体分析一下到底需要准备多少声音资源。通常有以下几个重要因素需要考虑:
歩态:与动画行为分类相关联,如走、跑、跳、落地、起停等,如果更细致一些还可以考虑各种步态在前后左右行进方向上的差异,比如向前走和向后退在脚跟脚尖的着地顺序上是不同的;
体型:主要是由体型等相关因素引起的脚步声在整体听感上的差异,比如通常会有男女之分,女性的脚步声可以显得更轻盈一些;
鞋子:穿着拖鞋、皮鞋、运动鞋和登山靴等不同鞋子所发出的脚步声有各自明显的特点,具体种类取决于角色换装的丰富程度;
材质:角色处在水泥、沙石、草地等不同材质上发出的脚步声有明显差异,具体种类一般由游戏中定义的物理材质所决定。
素材变化:即每一个种类的脚步声需要制作多少个随机样本,以保证在高频率触发的情况下不会出现明显的重复感。
根据上述考量因素可以制定出整体所需的数据结构和资源规模。以我们目前一个项目为例来进行估算,一个男性角色的动画序列数量超过了1,500个,其中男性脚步声数据使用到的声音资源文件数量超过了5,000个。
上述这种制作方式可以称为是 Sample-Based Asset Production,即声音资源的来源是海量的音频格式文件,最终的声音效果很大程度上也取决于这些资源本身的质量。梳理一下这种制作方式的特点,以及我对它的一些想法:
1.角色的前进后退和快走慢跑等行为在声音上的细微差别真的可以体现出来吗?优秀的拟音师确实可以表演出这些动作之间的细微差异,并以录音的形式明确细致地记录下来。也正是如此,使用样本资源是目前最主要也最有效的制作方式。
[ 拟音现场录制重装倒地的声音(泥地) ]
[ 拟音现场录制重装倒地的声音(干草) ]
2.声音表现的丰富程度和细节变化重度依赖于声音资源的数量。通过细分行为结构和堆叠海量数据的方式,确实可以把细节品质推到极致,但在资源有限的实际开发环境下,如此巨大的工作量往往是无法承受的。
3.这种工作量是贯穿在整个工作流程中的,包括声音资源制作、数据结构搭建、音频数据整合等。通过规范化流程和自动化工具确实可以减少其中一部分的重复劳动,提高生产效率,比如对动画序列进行检测并在脚着地时刻自动添加音频数据,但是这并没有从根本上改变整个生产方式的核心思路。
4.在此基础上,可以引入游戏中的动态参数对声音资源做进一步的实时处理,比如使用角色的速度和斜率参数对同一资源的响度、音调和低通/高通滤波等属性进行实时调节,来模拟在不同坡度上行进的脚步声变化。但这种实时调节的效果只能算是一种低精度模拟,因为对这些音频属性的调整并不能改变样本自身的波形特征,换句话说就是不能体现出动作本身之间的真实差别。
归根结底,这种 Sample-Based 的制作方式其实是试图用足够多的离散数据去匹配高精度的连续变化,在我来看这其中是有很大的改进空间的。游戏开发的技术性特点是所有逻辑都是构建在程序算法之上的,所有表现其实是演算过程的结果,自然地也就有了程序化生成(Procedural Generation)这个概念,简单来说就是通过算法来生成数据。这种思路在游戏开发领域也早有应用,比如开发世界大规模地形和植被的生成、Roguelike 类游戏随机地图的生成等,近几年比较出名的游戏作品《No Man’s Sky》中甚至生成了超过18000000000000000000(Quintillion,18个0)个独特的星球可供玩家探索。
说回到我们的例子上,即使在基于大量动画序列的角色动作制作流程中,其实多少也会涉及到程序化动画(Procedural Animation)的相关运用,比如角色在死亡或失去控制之后进入的 Ragdoll 状态,使用 Inverse Kinematics Rig(简称“IK Rig”) 让角色在与其它物体接触时的动作表现更加自然,采用动作匹配技术(Motion Matching )方式来更方便快捷地实现角色 Locomotion 行为等。现在甚至已经可以运用人工智能、神经网络等相关技术,在不依赖于动画序列等数据的前提下,让角色产生非常自然且自适应各种状态的动画表现。
试想今后在这样的工作流程中,现有形式的音频数据都没有类似于动画序列这样的载体去依托,我们又该如何去设计和整合角色的动作声音呢?因此相对应地在音频设计领域,自然也会有程序化音频(Procedural Audio)的设计思路。
程序化音频这个概念虽不是一个新事物,但目前在业界似乎还没有大规模的讨论、应用、以及相应的 Wiki 页面。在此我暂且不对程序化音频的学术定义展开讨论,仅结合上述角色脚步声设计的案例,来梳理一下我对程序化音频的理解,以及实际运用的可行性思路:
1.首先,程序化音频的思考重点是物体为什么发声和怎样发声,而非简单地只考虑具体的声音表现。如果从相对宽泛的尺度下去考量,现在的游戏音频设计其实已经包含了许多程序化音频的设计思路。
2.有一点需要明确的是,程序化音频并不是说要完全抛弃样本素材的使用,这一点与物理建模声音合成(Physical Modelling Synthesis)是有本质区别的。基于物理模拟的声音合成是指对物体的物理属性进行解构并通过算法建模的方式来生成声音,学界在这方面已经有了多年的研究和成果,之后是有机会作为程序化音频设计思路中的一项技术而被实际运用在游戏音频设计工作流中的。但就目前的实际开发而言,使用样本素材的方式在声音质量、运算速度和性能消耗等各个方面都还是有绝对优势的。
3.引入程序化音频设计思路的主要目的是,使用有限的声音资源来实现尽可能丰富且动态的声音表现。在目前的游戏音频设计工作流中许多方法其实是与此契合的,比如使用来自引擎中的动态参数来实时调制声音的属性,这仍然会是程序化音频中的一个重要手段。
4.对于角色脚步声设计中的步态因素而言,我认为目前运用程序化音频最主要的障碍是还没有一个有效的模型从更为解构的角度去描述脚步的结构与状态。比如平台解谜游戏《Inside》里的角色脚步声设计就做了一次有趣且成功的尝试,将脚步声拆分成脚尖(Toe)和脚跟(Heel)两部分,然后通过角色速度等参数来实时控制这两部分的播放间隔、响度和音调等属性,来无缝衔接地表现角色在不同速度下行进的脚步声。尽管这种解构模型的精度还是相对简单,但是对像《Inside》这类横版移动和艺术化美术风格的游戏类型来说确实已经足够而且是有效的。而对于写实风格的第三人称射击游戏来说,我们在脚步声解构模型上还需有更进一步的思考与探索。
5.材质(Material)是游戏引擎中一个基础且重要的系统,目前在音频设计方面对其的应用还是比较简单和直接的,即一种材质映射一组包含若干随机变化的样本素材声音,这也是脚步声的声音资源数量和结构复杂程度会随着材质种类的增加而成倍扩大的主要原因。如果引入程序化音频的设计思路,我们可以从材质的硬度、厚度和粗糙度等物理属性去分析,并结合物理建模声音合成的技术,这样就可以使用尽可能少的声音资源通过参数控制和排列组合的方式去实现尽可能多的材质声音表现。
6.最后,从务实的角度来讨论一下为什么程序化音频还没有被大规模地运用在实际开发中?
我认为可能的原因有2点:
1)目前绝大多数游戏类型的开发规模和资源数量还是可控的,使用样本素材是最为直接有效且相对廉价的制作方式。受限于人员技术背景和人力成本等因素,游戏音频团队投入时间精力去从事程序化音频的基础研究或许不是一件划算的事情;
2)尽管学界可能在相关领域已经有了研究进展和成果,但由于缺少实际需求的驱动,因此还未形成一个相对完整的解决方案。
声学环境建模
在强竞技的写实风格射击游戏中,玩家对声音的关注点不仅是枪声听起来爽不爽,更会对枪械射击和人物动作等声音的空间感和方位感提出更高的要求,因为这些声音在符合物理常识和听觉习惯的情况下能够给玩家提供更多的战局信息。所以在游戏音频设计中,我们需要解决的一大问题就是如何在游戏世界中重建一个拟真的声学环境,让声音在其中传播时听起来真实可信。
声学环境建模本身就是学术研究中的一大方向,在建筑声学等领域已经有了非常多的研究成果和实际应用,我在这方面没有任何的研究经验,因此仅从游戏音频设计的角度来讨论一下目前常见的解决方案。
首先从响度的角度来考虑,一个声音在从激发到消失的过程中可以被分为三个部分——直达声(Direct Sound)、反射声(Early Reflect)和混响声(Late Reverb),这三部分声音会以动态地生成、变化和混合,来形成声源在空间中的整体效果。同时考虑声音在传播过程中的两个行为特征,衍射(Diffraction)与透射(Transmission),这两者与空间的几何体信息是强相关的,需要配合听者与声源的空间信息和相对关系共同参与运算。简单理解,以上5点就是在游戏中重建声音传播现象时可以被设计和控制的要素。
以音频中间件 Audiokinetic Wwise 的 Spatial Audio 解决方案为例,游戏音频设计师可以从以下几个方面入手:
1.在 Wwise 中对各类声音定义不同的 Attenuation 设置,其中包含了声音可传播的最大距离以及基于距离变化的响度、低频和高频的衰减曲线,主要定义的是直达声这一部分的传播属性。另外还会包含声音在不同距离上响应混响效果的曲线,后续被用于混响声部分的计算。
2.在 Wwise 中创建 Auxiliary Buss,并在各条 Buss 上配置不同效果的 Reverb 插件来模拟不同空间的混响效果。这些 Buss 之后会被映射到引擎中所定义的空间中以确定各自不同的混响属性,并实时计算生成混响声的部分。
3.在 Wwise 中创建 Reflect Buss,通过 Reflect 插件来完成反射声部分的实时计算。反射声是由引擎中所定义的建筑或物体表面反射引起的,与空间几何紧密相关,因此 Reflect 插件中定义了反射声的最大响应距离以及基于距离变化的响度、低频和高频的衰减曲线等属性。
4.在 Wwise 中创建各种 Acoustic Texture,用来模拟不同材质对反射声的吸收程度。这些 Texture 之后会被映射到引擎中所定义的建筑或物体表面上,配合 Reflect 插件共同实现更精细的反射声效果。
5.在 Wwise 中设置全局的 Obstruction 和 Occlusion 曲线,分别对应衍射和透射的效果。直达声在传播过程中,遇到表面边缘发生转折和直接透过墙体时会分别引起不同程度的 Obstruction 和 Occlusion 计算,得出的数值会在 Attenuation 设置的基础上进一步影响直达声的响度以及低频和高频的衰减。
6.在引擎中根据地形和建筑物模型来定义各个 空间(Room),并在其中配置相应的 Reverb Buss、Acoustic Texture 和墙体 Occlusion 等空间属性,以及在门窗等空间开口处定义 Portal 当作声音传播的通道。
7.定义空间主要有两种方式:1)使用 Spatial Audio Volume 组件手动绘制立方体之类的简单几何图形,2)使用 Geometry 组件直接调用建筑物模型的 Static Mesh 信息。
完成以上这些设计与整合工作之后,引擎就可以根据听者、声源与几何体的空间信息和相对关系进行实时运算来模拟各类声音在不同空间中的听感效果。
以下是我对上述这种解决方案的理解:
1.从对声学环境建模的角度来看,这种方案是建立在 Room & Portal 基础上的,将游戏空间划分为一个个相对独立的 Room,并通过 Portal 将其连接起来。虽建模精度有限,但这种简化的模型在实际表现上确实是有效的,在尽可能降低性能消耗的同时也能够体现出声音传播的特点。
2.尽管这种建模与还原是有效的,但与真实的声音表现相比还是有很大差距的,我认为主要瓶颈还是在于性能有限。比如,混响声其实是由无数漫反射混合形成的效果,但在实际开发中我们还无法从这个更本质的角度去进行模拟,大量的射线检测(Raycasting)极耗性能,只能通过混响插件来实现,而插件本身对混响的建模也是简化的,即使是使用效果更好的卷积混响(Convolution Reverb),目前也存在可控动态参数有限的问题。
3.再比如,目前我们通常只能用简单几何体去近似拟合,也不会对所有材质表面都定义反射属性,更不会对所有声音都进行反射计算。而真实环境中声音的细节表现,恰恰就体现在这些无序的、不规则的声音相互影响之中的。
4.也正因为性能有限,这种方案需要人工定义 Room 和 Portal,且对于复杂模型还需要考虑组合拼接,从工作量的角度来看也是一个不小的人力成本。
5.当然,这种由于性能有限而引发的还原精度降低和工作成本增加的现象,其实在游戏开发中是普遍存在的,比如对模型设置 LOD(Level of Detail)来调整不同视距下的模型精度等。
除了等待硬件性能提升之外,我们能不能换个思路来解决游戏中声学环境建模的问题呢?Microsoft 在2011年提出了一种叫做 Wave Acoustics 的模拟方法,用一种类似于光照烘焙(Static Light Baking)的思路,将复杂环境中声波传播的真实效果进行演算并记录下来,并从中提取重要参数用于设计控制和实时运算。这种方法以不依赖于大量射线检测的方式提高了声学环境的模拟精度,同时也省去了音频设计师手动定义 Room 和 Portal 的大量工作。当然,这种方案目前也存在一些需要改进的地方,比如如何进一步减少烘焙文件的存储大小和如何实现空间信息动态变化等问题。
目前此方案正式命名为 Project Acoustics,并已在《Gear of War》、《Sea of Thieves》和《Borderlands 3》等项目中经过验证,感兴趣的朋友可以前往官网查阅详情,或者直接试用 Unreal 或 Unity 整合方案。
限于本人研究深度有限,暂且不论 Room & Portal 和 Wave Acoustics 这两种方案孰优孰劣,至少作为一线工作者是非常乐于见到新技术的出现的,不断从实现效果和工作效率上带给我们新的可能。
空间声与双耳声音频
目前主机平台上的大多数游戏都会按 5.1 环绕立体声以上的重放标准来进行最终的混音,而绝大多数玩家是没有这样规格的重放条件的,主要还是以双声道立体声音箱、耳机甚至只是电视机扬声器居多。因此,无论我们在音频实现上采用了多么先进的技术,或是在混音阶段使用了多么高端的环境与设备,最终都要考虑一个非常重要且实际的问题,那就是如何保证玩家在规格各异的终端设备上也能听到高质量的声音重放效果。那么耳机作为一个大多数玩家都能获取的设备,因而也就成了我们的研究重点,值得去研究如何在耳机上实现一个更加立体且逼真的听觉效果。
针对这个问题,我们首先要理解目前游戏中是如何处理声音定位的。
在游戏的三维世界中,听者与各个声源都有各自的坐标,任意两者之间的相对关系经过向量计算便可得出,基于听者而言的声音定位信息是简单且明确的。这种处理方式与游戏开发中基于对象的编程逻辑类似,也可以理解为是 Object-Based Audio。游戏本身的动态和交互特点,要求声音必须包含完整的定位信息用于实时计算,因此在游戏开发阶段,我们更多考虑的是听者与声源之间相对关系的变化,而非特定声道上具体的重放内容,这一点与音乐和电影等基于声道(Channel-Based)的声音制作思路是完全不同的,我认为也是其优越性的体现。正因为 Object-Based Audio 具有这样的特点,Dolby Atmos 等环绕声技术也引入了类似的设计思路,用于实现更丰富立体的电影声音重放效果。
尽管 Object-Based 的方式保留了声源完整的空间信息,我们最终还是要把声音映射到只有两个声道的耳机上进行重放,目前最常见的方式是 VBAP(Vector-Based Amplitude Panning)。VBAP 的优点在于无需对声场做额外改动就能映射到各种声道配置的重放系统上,然而它的缺点也是明显的,玩家听到的并不是真正的全方位的声场,声源相对于听者在前后方向和高度上的差异被压缩了,直观地来说就是原本的三维空间被压扁成了一个二维平面。
[ VBAP示意图(来源:http://impala.utopia.free.fr/) ]
所以对于上述耳机重放的问题,我们可以结合两种技术来有针对性地解决。先是使用空间声(Ambisonics)技术将声源的空间信息映射到一个立体的球形声场中,然后再使用双耳声音频(Binaural Audio)中的头部相关传递函数(HRTF,Head-Releated Transfer Function)对球形声场中的声源进行滤波处理,最终实现空间感更加准确且适合耳机重放的声音定位效果。
[ HRTF示意图(来源:www.lowbeats.de) ]
对此我的理解是:
1.Ambisonics早在70年代就已发明,只因此前 Channel-Based 的制作方式占据主流,导致其没有太大的用武之地。直到前几年 Virtual Reality (虚拟现实,简称“VR”)的兴起,Ambisonics 对整体声场捕捉和还原的特点才重新被人重视,Ambisonics 话筒配合全景摄像机的拍摄方式很好地顺应了 VR 影片的制作需求。
2.在游戏音频设计中,Ambisonics 的应用远不止使用话筒采集 Ambisonics 声音素材,更重要的是 Ambisonics 可以作为一种中介空间表示法(Intermediate Spatial Representation)来模拟声场,为后续使用 HRTF 进行更精准的双耳化定位提供了可能。目前音频中间件 Audiokinetic Wwise 也已将 Ambisonics 整合进自身已有的 Spatial Audio 工作管线中。
3.双耳声音频(Binaural Audio )也不是一个新技术,Binaural Recording 录音方式早已出现且被广泛使用,现在流行的所谓 ASMR 视频其实就是使用 Binaural 话筒录制来营造一种更亲近的听觉体验而已。其原理非常简单易懂,就是在靠近人耳鼓膜附近布置话筒或者使用人工头模型话筒来录制声音,这样就能把声音受耳道、耳廓、头型和躯体等部位的影响更精确地捕捉下来,而人之所以能辨别声音方位,与受到这些部位的滤波影响而产生细微变化有很大的关系。
4.在游戏音频设计中,Binaural Audio 的应用也远不止是使用 Binaural 话筒采集声音素材,最主要的是我们能从以这种方式将人体部位对声音的滤波影响提取成 HTRF,这样就可以对游戏中实时变化的声音进行双耳化处理。
5.目前 HRTF 数据采集需要在高标准的声学环境下使用话筒阵列来进行,费时费力成本高,因此常规的 HRTF 数据只能对有限样本进行采集再处理成笼统的分类预设。然而由于个体器官构造的差异性,这些数据无法精确地匹配到每一个个体。所以,如何更方便快捷地采集个人 HRTF 数据可能会是之后值得探索的一项技术。
总之,耳机是目前普通消费者体验高质量声音表现最易获取的设备,针对耳机的声音重放体验肯定会受到越来越多的重视,因此在开发阶段专门针对耳机重放做特殊的声音定位和混音处理也是尤为必要的。
再创造,而非纯模拟
上述三个例子分别从资源生成、声学建模和终端体验三个角度展开,讨论了游戏音频设计的发展方向和进展,也从都侧面反映了对技术进步的一致要求:设计工具更可控、运算性能更快速、呈现效果更精确。
上文通篇都是对技术本身的讨论,其重要性不言而喻,但纯粹追求技术手段的发展更多属于科学研究的范畴,而游戏音频设计是技术与艺术的结合,技术手段要服务于艺术表达,游戏作品的好坏最终取决于玩家的体验和评价,而非技术手段的先进与否。
科学研究的技术成果提供了模拟现实的工具,而游戏开发者则应该思考如何将这些工具运用到虚拟世界的再创造中去。当技术发展到能让我们越来越接近真实的时候,我们又该如何去定义虚拟世界中的“真实性”呢?