《Tell Me Why》已在 Xbox 和 PC 上发布,并且完全支持 5.1 环绕声。要知道,叙事游戏的开发涉及到最终混音的具体方法。对此,我们不能依赖于完全系统化的处理方式。因为每个过场或叙事时刻都是独特的,它们会向玩家传达特定情形下的情感。为此,我们需要不断调节音频以确保玩家感到轻松自在且不被干扰。
混音工作流程
这种做法跟电影的线性混音有不少相似之处。为了探明尽可能多的细节,我们深入了解了混音流程。
在做进一步的探讨之前,我们先来看看下面的游戏序列。这对理解下文的各个要点会很有帮助。
(国内观赏视频通道)
过场工作流程
我们希望在混音决策上拥有尽可能多的自由。最终,我们选择了采用基于分轨的工作流程。其结构如下:
分轨名称 | Channel | Positioning Type | Reverb Type | Center % |
Dialog | 3.0 | Listener Relative | Runtime | 75 |
Foley | 3.0 | Listener Relative | Runtime | 75 |
SFX | 5.1 | Balance-Fade | Baked + Runtime | 0 |
Footsteps | 3.0 | Listener Relative | Runtime | 75 |
Ambience Bed | 4.0 | Balance-Fade | Baked | 0 |
因为可在引擎中调节各个分轨的电平、EQ、混响,这一工作流程不仅给我们的工作带来了极大的灵活性,还减少了在 Reaper 和 Unreal 中反复操作耗费的时间。
Footsteps 过场管理
最终,我们决定直接通过 Unreal 中的动画序列管理过场当中的脚步声。同时,借助自定义工具在脚骨撞击地面时生成 UE Notify。
此通知遵从地形材质并会触发相应的脚步声 Switch 材质。这样的话,我们就不需要在 Reaper 中手动同步脚步声了。只需设置正确的姿态 Switch 并在检测到过多碰撞时清理不想要的通知即可。
UE Sequencer 中的 RTPC Track
在以上示例视频中,可以听到时钟的电平会随着 Alyson 的压力增大而增高。在这种情况下,我们希望能直接在 Sequencer 中驱动各条总线的电平。
对此,我们可以使用 Unreal 曲线来在过场当中进行精准的自动调节。Wwise 中的 RTPC 被设为了绝对 dB 值,这样便无需费心实施莫名的 dB 换算。为了增强对白的“临场感”或营造前面所说的紧张感,我们在很多环境声总线和音乐总线上都运用了该功能。
确保对白协调一致
如何处理多种对白?
对白是《Tell Me Why》中的核心元素,玩家可藉此了解很多必要的宝贵信息。
游戏中集成了四种对白:
Cinematics:在过场当中播放的对白。玩家无法控制导航和摄像机。
Inspector:玩家无法自由移动。玩家仍可控制摄像机并与里面的对象进行交互,但要退出 Inspector 才能在游戏世界中自由移动。
Exploration:玩家可以完全控制导航和摄像机。
Bond:与 Tyler 和 Alyson 的记忆有关的对白。
这四种类型的对白需要由引擎中的多个集成系统来实现。为此,我们必须找到合适的 Wwise 设置来确保整个游戏当中的所有对白协调一致。
对白类型 | Channel | Listener Pos | Center % | Runtime Filter Over Distance |
Cinematics | 3.0 | Balance-Fade | 75 | High Shelve EQ |
Inspector | 3.0 | Balance-Fade | 75 | 不适用 |
Exploration | 5.0 | Listener Relative | 75 | High Shelve EQ |
Bond | 4.0 | Listener Relative | 0 | LPF |
Cinematics 和 Inspector
《Tell Me Why》中设置了很多游戏和过场之间的无缝过渡。我们需要在 2D 和 3D 之间找到一个折中点,以避免这两种游戏模式之间出现太多差异。
为此,我们使用了由 Azimuth 内置参数驱动的 Balance-Fade 空间化来修改目标音频的前部声像摆位。这种做法足以应对游戏中的大多数情况。
但是,有时需要对最小/最大声像摆位值进行微调,以确保更加贴合特定摄像机画面的帧大小。
我们可以在示例视频的 1 分 12 秒处听到对声像摆位值进行调节的效果。随着警察的对白被越来越多地处理,我们还在运行时为语音应用了 Hardpan 效果。
Exploration
我们选择了针对 IA 和 Player 在 3D 环境下设置所有 Exploration 对白。藉此,可在 IA 和 NPC 进入周围区域时给玩家以准确而真实的感受。为了实现这一点,我们还将声道配置设为了 5.1。
至于基于距离的滤波,我们希望将 Parametric EQ 设为高架形状,以此来处理相对于距离的高频衰减。我们只针对声笼使用了低通滤波器,因为 Wwise 中 LPF 的斜率对这种反馈非常有效。
对于有些情况,我们选择了在 NPC 处于听者身后时对 NPC 对白加以处理。在 NPC 处于听者身后但距离不远时,即便其没出现在画面上,我们也会听到它的声音。从我们的角度来看,这有点奇怪而且令人困扰。对此,我们选择了在处理 NPC 对白时通过 Azimuth RTPC 来控制混响发送电平。
Bond
Bond 对白会在 Wwise 中实时进行处理,以便调节整个游戏中 5 种语言的大量语音台词。对此,我们需要能够轻松应对所有这些不同文件的宽泛音频频谱的处理方法。
之所以实时进行处理还有一个原因,就是 Bond 对白通常发生在游戏导航期间。对白可懂度是 Bond 玩法机制的一部分。在玩家走出代码中指定的范围时,我们需要实时地变换对白。
(国内观赏视频通道)
最终,我们应用了少量的混响和延迟。同样,针对干声和湿声电平使用了 LFO 来为效果带来更多变化。
如何在温情时刻确保玩家不被干扰?
由于在过场和游戏当中都会播放环境声,我们经常要处理过场中播放的随机效果。没人会想在 Alyson 和 Tyler 之间的温情时刻听到乌鸦或电锯的声音。为了避免这种情况,代码会向 Wwise 发送状态以确定玩家是否处在过场状态。在此基础上,我们会将该状态应用于音量来移除过场当中不想要的声音。
过场当中还有一个常见的麻烦问题,就是镜头反转过程中 3D 声音和氛围背景声音量的不一致。
对此,我们有很多解决办法。
第一个是专门的 Sequencer Track,其允许在过场当中锁定听者的位置。这样即便摄像机逐渐远离也可保持听者的位置和旋转。
不过,有时候有些过场需要听者像平常一样跟随摄像机。在这种情况下,我们会使用上述过场状态来驱动 RTPC,使其在 Wwise 中随着 Speaker 声像摆位比率变化。藉此,可选择在过场当中想要对哪些声音实施空间化处理。
居家办公的活动限制和混音检查
在《Tell Me Why》的开发过程中,由于疫情而导致活动受限是个不可忽视的问题。在三个月的时间里,我们只能在家办公而不能到混音室工作。为此,我们不得不考虑采用一种变通方法来完成最终混音。
通常情况下,我们会用经过校准的扬声器在 75 dB SPL 下实施最终混音。75 dB SPL 的数值适合专业的混音室,但在家里弄出这么大动静肯定会扰邻。显然,戴耳机也不行,耳朵会受不了。最终,我们选择了将 Wwise Loudness Meter 作为主要依据。
我们决定在可能的情况下尽量同时监控四条主要总线的响度。Wwise 中的 Loudness Meter 方便选择要分析哪条总线,进而检查不同场景之间的环境声和对白是否协调一致。这一变通方法比不上专职审查和混音,但也不失为一种高效的最终混音方案。它帮助我们在居家办公后期完善了最终混音。
母带制作
动态范围
在《Tell Me Why》这款游戏中,音频动态不怎么好管理。游戏中的很多环境都非常安静。为了保留配音的各种细微变化,我们不想为对白应用太多压缩。在混音室的宽大显示器上试听时,安静的环境(如房间底噪或空气底噪)比较容易管理。但是,我们发现在混音室的显示器上所作的设置并不适合小型电视扬声器。
在制作初期,我们决定想办法确保在所有常见玩家音频设置下都能获得预期的效果。为此,我们使用了一个基于状态的简易系统来调节主要总线的音量和压缩阈值。目的在于不仅修改这些主要总线的电平,同时控制各自的动态并调节彼此的平衡。
该系统允许我们只在小型扬声器配置下增大环境声的音量。然后,玩家只需在选项菜单中选择扬声器配置即可。
有三种扬声器配置可供选择:
Low:适合内置电视扬声器。
Medium:适合中等大小的扬声器,如电视条形音箱或小型 2.1 套件。
High:适合较大尺寸的扬声器,尤其是在环绕声配置下。
以下示例展示了对与动态范围选项相关的总线音量的修改:
Ambience 总线 | Music 总线 | Foley 总线 | |
Low | + 6 dB | + 2 dB | + 2 dB |
Medium | + 3 dB | + 1 dB | + 1 dB |
High | 无 | 无 | 无 |
以下示例展示了对压缩器阈值的修改:
另外,我们还提供了 Headphone Mode,其可更改默认的声像摆位规则,并借助 SpeakerPanning 功能为与 Bond 相关的声音添加更为精准的空间化效果。
由环绕声到立体声的下混
另外还有一个必须解决的常见问题,就是环绕声和立体声配置之间的感知差异(尤其是对于混响和环境声)。
在环绕声配置下开发游戏时,我们一般会将大量信号发送到后置声道来增强沉浸感。这样做的坏处是在硬件平台应用下混规则时前置扬声器中的信号过多。
Windows 10 和 Xbox 平台使用标准的 ITU 下混系数(如下所示):
对于《Tell Me Why》,我们想抛开这些建议数值,并尝试在受下混影响较大的总线(如混响总线和环境声总线)上应用自定义系数。多亏了前面所说的功能,我们无需再担心立体声下混问题。
为了自动检测平台是在 2.0 还是 5.1 / 7.1 环绕声下运行,我们使用了 Wwise 中的 GetSpeakerConfiguration 函数。之后,状态会获取这一信息并驱动所要修改的属性。该系统可实时运行,并会遵从玩家在其硬件上所作的全部更改。
为了进一步完善系统,我们开发了定制插件来处理总线的离散声道。在此基础上,只需将插件插入到所要处理的总线上并应用音量衰减即可。在以下示例中,我们为混响总线的后置声道应用了 12 dB 的衰减。
以下是在运行时执行测量获得的结果。由此可见,自定义系数帮助我们在中置和后置声道大量馈入环绕声信号时有效减少了音量过载。
|
路易斯•马丁(LOUIS MARTIN) |
评论