《Lumote》:利用 Wwise 驱动游戏视效

游戏音频 / 声音设计

各位 Wwise 用户,大家好!我是保罗·鲁斯卡,目前在 Studio X Labs(加拿大温哥华)担任音频总监。稍后,我们将推出一款独立 3D 平台解谜游戏:《Lumote》(发行平台:PCSwitchPS4XBox One)。在本文中,我就以此为例说说如何利用 Wwise Meter 插件驱动游戏视效(如粒子、灯光、摄像机抖动和网格扭曲)。由于《Lumote》是一款独立游戏,我被给予了大量的时间和自由来尝试和探索怎样将 Meter 插件有效地运用于游戏的画面和叙事。在设计声音元素来专门驱动视效的过程中,我发现很多地方都可以借助这种方式打造独特的视听体验。

lumote2

Lumote》是一款绚丽多彩的 3D 平台解谜游戏,已于 2020 年 2 月 20 日在 Steam 上发布 2020 年晚些时候,还将进一步推出 SwitchXBox One PS4 版本。

概述

一般来说,在动画设计师或视效美术师完工之后,游戏音频团队才会开始着手制作各种各样的声音。作为声音设计师,我们需要确保所构建的音频与最终动画和视效协调一致。为此,我在《Lumote》的开发中使用了 Wwise Meter 插件来采集所创建音频素材的波形,以便生成 RTPC 值数据并馈送给游戏引擎,进而驱动各种视效和动画系统。对于一个只有四名开发人员而没有动画设计师的团队,我们必须在方法上做出一定的调整。很快,我们发现通过让音频驱动游戏的视效系统,其实很多画面场景都可以采用程序化的方式生成。藉此,便可为玩家提供自然而流畅的游戏体验。虽然我拥有各种各样的游戏音频制作技能,但这种以波形驱动视效的方式还真没试过。

在展开之前,我们先来看下本文都涉及哪些主题:

  1. 《Lumote》简介
  2.  开发团队
  3. 《Lumote》的音频设计
  4. Meter 插件设置
  5. 《Lumote》中有关音频驱动视效的示例

关于《Lumote

Lumote》的世界中存在 Blue Red 两种相互对立的 Power,它们分别由 Lumote Mastermote 控制。玩家负责操控 Lumote 不断前行。在游戏中,玩家只有两种能力:Possession Jump。利用 Possession 能力,Lumote 可以操纵游戏里的居民 Mote,并借助其特有的能力解开一道道谜题(难度会不断加深)。根据具体是哪种 PowerBlue Red)在操纵 Mote,其行为会对 Lumote 产生帮助或阻碍作用。最终,玩家要想方设法深入地底并从 Mastermote 手中夺回控制权。

lumote3

Lumote》是一款 3D 平台解谜游戏,玩家可在其中展开 6 小时的地底冒险之旅。该游戏采用凯尔·罗恰和亚伦·阿恩特所编写的定制游戏引擎 rEngine 开发。

Lumote》的世界分为三个生物群落,每个生物群落设有三座塔楼。玩家需要先将其 Power Red 转化为 Blue,方可操纵 Lumote 继续前行并解开后续谜题。每座塔楼代表了一种 Mote 类型和特定的游戏机制,玩家必须完成其 Power 转化才能获得控制权。游戏中有五种 Mote 类型:Small DumbatLarge DumbatHover MoverJellyfish Divertor。每种 Mote 都有自己独特的能力,Lumote 必须全部掌握才能通关。

Lumote4

Mote 的早期概念创作图:其中有一些很棒的角色设计,在谜题设计中效果非常不错。 

 

开发团队

Lumote5

从左向右:
米歇尔·罗恰 - 谜题设计 & 代码编写
凯尔·罗恰 - 代码编写 & 美术
亚伦·阿恩特 - 代码编写 & 渲染
保罗·鲁斯卡 - 音乐创作、声音设计 & Wwise 整合             


为了方便远程办公,我们统一采用了 Perforce 开发环境。在整个项目中很少会面,主要通过 Slack 进行沟通。大家都是各忙各的,有必要随时发消息。现在想来,这样的工作流程确实挺好。它给了我时间和自由来尝试和探索如何利用音频驱动视效。作为开发商/发行商的 Luminawesome Games 同样位于加拿大温哥华,这家独立工作室由电子游戏行业的资深人士组成。公司团队里的每个人都参与制作过 AAA 游戏,并因而将很多开发经验带到了《Lumote》中。其中凯尔·罗恰 (Kyle Rocha) 和米歇尔·罗恰 (Michelle Rocha) 曾在 2014 10 月凭借迷你游戏《Bump》跻身 Unreal Game Jam 优胜团队。他们特别喜欢游戏中的相关设计概念,于是决定将其打造成一个完整的游戏。到 2015 年的时候,亚伦·阿恩特 (Aaron Arnt) 加入了进来,并决定抛开 Unreal Engine。为此,凯尔和亚伦专门为《Lumote》编写了定制图像引擎 rEngine。之后我在 2016 3 月也加入了项目团队,负责音乐创作、声音设计和 Wwise 整合。

Lumote》的音频设计

对这款游戏来说,声音设计的主要目标是塑造一个充满生机和活力的游戏世界,让玩家可以愉快地与之进行互动。为此,我们需要赋予《Lumote》以鲜活而奇幻的视听体验。作为一个没有动画设计师的小团队,我们必须尽可能地优化自身的资源。在明确了这一点之后,我们很快发现其实 Mote 的好多动画都可以借助相应的声音设计来以程序化的方式生成。通过使用Metering插件,我们能够在与游戏对象分贝表相关联的Wwise音频文件结构中获得一个RTPC值数据流。。为此,凯尔在 rEngine 中编写了相应的视效代码,以便从 Wwise 获取 RTPC 输出,并发送给灯光、粒子辐射、摄像机抖动和网格扭曲系统。如此一来,《Lumote》的视效呈现就完全变成了对游戏对象 Wwise 文件夹所触发波形的转换。当然,这也意味着我必须围绕视觉效果来展开音频设计。下面便是我当时的一些具体想法:

Lumote6

将连续脉冲声应用于灯光系统,来生成频闪效果。将同样的声音应用于粒子系统,来生成流淌效果。注意,一定要提前想清楚音频波形会如何转换为视觉动画,对角色反应来说更是如此。

 

国内观赏视频通道

其中最为耗时的部分是设计五种 Mote,因为它们全部都要传达角色的 State 以及对 Lumote 的反应。除此之外,《Lumote》的音频设计还有一个难点,就是必须按照 Power 类型(Red Blue)为每种 Mote 制作两套不同的声音。在游戏中的任意给定时刻,周围建筑和 Mote 携带的既可能是 Red Power(由 Mastermote 支配),也可能是 Blue Power(由 Lumote 支配)。因此,每种 Power 都要有自己独特的音频处理方式。如此一来,对于每次游戏互动,都得依据 Power 类型构建两种声音设计版本。为了让所有这一切能够正常运行,我必须尽可能高效地为游戏设计两套声音。另外还要确保 Mote 的声音跟音乐和谐地融为一体,因为很多 Mote 的语音都是通过采样乐器(笛子、铃铛、口哨)生成的。我想让音乐听起来有种身处水下世界的奇幻感,而与这种景象最为相配的唯有氛围音乐。但要保证氛围音乐不会分散玩家的注意力,因为其需要集中精力来解开空间 3D 谜题。另外在角色反应当中,Lumote 只是发出声音,并没有言语表达。也就是说不需要对录音实施本地化处理,不过这也意味着游戏的叙事将会是非语言的,因而只能通过声音和音乐来加以展现。 

为此,我参考了像《Inside》、《Limbo》、《Ori》和《The Blind Forest》这样的游戏。它们都巧妙地运用了精心设计的非语言叙事,来吸引玩家兴趣、营造紧张氛围并刻画动人瞬间,以此传达主角的情绪状态。

虽然《Lumote》的核心解谜玩法采用的音频 Event 序列十分简单,但是我发现在游戏中依然可以融入大量的细节和变化(比如在 Lumote 支配并改变 Mote Power State 时)。  

Mote 的核心音频 Event 循环:
Idle – Hello – Goodbye (Blue or Red)
Idle – Hello – Possession Start – Energy Change - Move Start – Move End – Possession End – Idle Start
 
Lumote 的核心音频 Event 循环:
Walk
Jump
Double Jump
Land ( RTPC 依据落地距离驱动)
Possession Start
Possession End
Mote Hello Reaction

 

Lumote 随着 Power State 的变化对每种 Mote 都有不同的反应。比如在面对 Red Mote 时忧虑不安,在遇见 Blue Mote 时热情亲切。

 

Meter 插件设置和 Wwise 设置

我的目标是设法创建一个 Wwise 工程,确保能够利用最少的编程支持来最大限度地控制各种游戏音频素材。为此,凯尔和我依据共用 Common Event 的游戏对象分组,在纸上初步设计了音频 Event 分层。如此一来,早在我开始制作音频之前,就可确保将 80% 的音频 Event 传给 Wwise。下面便是我们当时创建的 Switch 类别和 Common Event

Lumote7

在确定通过 rEngine 将音频 Event 传给 Wwise 之后,我开始着手构建相应的文件夹结构,并在其中填充音频素材。由于在音频开发流程之初就已明确由 rEngine 传送 80% Event,我得以专心致志地完成自己的工作,并在很少的编程支持下创建和测试各种音频元素。显然,对于只有四个人的开发团队,各司其职对每个人来说都很重要。

 

lumote8

凯尔创建了一系列 OutputMeter 预设,以便我将其指派给游戏对象,进而驱动灯光、动画和粒子系统。其中 OutputMeter_Voice 花费了 90% 的时间,因为该预设要将 Wwise 生成的 RTPC 值与 Mote 的视效系统关联起来。 

AkGameObject, AkSoundEngine.PostEvent:

我们采用了以下方式将 Wwise 生成的 RTPC 值传给游戏引擎:

1. 为游戏中的每个角色设置 Mote_Type Switch

2. PostEvent 设为 Common Event(如 Common_OnMoveBegin Common_OnMoveEnd)。

3. 结构使用 AK::SoundEngine::Query::GetRTPCValue() Wwise 中回读来自音频文件结构对应的电平表的参数。 

4. 在游戏中对这些电平表参数进行后期处理,来调节正弦波的振幅和频率,以此驱动实际的灯光、网格动画、摄像机抖动和辐射材质参数。

 

有关 Meter 插件的使用体会:

1. 我们使用了 Meter 插件来突出强调 Mote State,并针对各种 StateIdleShockEndBeginPower Change)制作了生物语音。

2. 只要游戏对象的上一音频 Event 没有残留信号,Meter 插件就可以顺利地运行。为此我需要花时间构建 Event 分层,以确保在触发下一视效之前终止播放游戏对象的声音。倘若上一音频 Event 出现音频残留,系统便会接管 Meter 插件,进而阻止其继续将音频 RTPC 传给游戏引擎。另外,我还发现将 Pause Event 用在文件夹上也会导致 Meter 插件被接管。因此,最好在触发下一音频 Event 之前撤底终止同一结构下音频的播放,以确保 Meter 插件能够适时处理新进入的音频信号。

3. 通过在 Mote 子文件夹上添加混响效果,可在不同 Mote State 之间同时实现听觉和视觉的融合。这样有助于将分离的结构下的声音作为一个整体紧密地结合在一起。

4. Impact 与对应的 "Pitch" RTPC 关联起来会产生奇妙的视觉效果。在这种情况下,音效的音高越低,视效播放得越慢,画面展开得越宽。

lumote090

结语

1. 随着我使用 Meter 插件不断试验各种创意,《Lumote》的声音设计也变得越来越完善。在我们将摄像机抖动与 Mastermote 的音频挂钩时,Tower Sequence 一下子变得鲜活了起来。 

2. 要虚心听取各方的奇思妙想,力求为玩家提供愉悦而难忘的体验。同时,扪心自问:游戏中的声音是不是太多了?在音频设计中是否保留了足够的空间来确保玩家可以畅快地游戏? 

3. 尽早完成对 Event 分层和 Switch 类别的初步设计。

5. 想想其他成员都有怎样的创作目标,并尽力借助音频来帮助其加以实现。

 

 

保罗·鲁斯卡 (Paul Ruskay)

音频总监

Studio X Labs

保罗·鲁斯卡 (Paul Ruskay)

音频总监

Studio X Labs

自 1999 年于加拿大温哥华创立 Studio X Labs 以来,保罗·鲁斯卡 (Paul Ruskay) 便一直在这家后期制作工作室担任音频总监。在过去 26 年中,他操刀过超过 40 款游戏的音频制作,其中以《Homeworld》和《Strike Suit Zero》最为知名。

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

创造秘奥之地(Mystralia)魔幻而灵动的音乐音景

《Mages of Mystralia(秘奥法师)》是一款迷人艳丽的动作冒险游戏,主角Zia在游戏中会学习法术技能。作为Borealys...

20.2.2018 - 作者:安托万.瓦尚(ANTOINE VACHON)

《ABZÛ》– 在游戏中为成千上万条鱼设计音频所面临的挑战

看到这幅画面,你首先会想到什么?

30.6.2020 - 作者:史蒂夫·格林 (Steve Green)

游戏声音工作原理与优化的经验分享

前言 我是一名在心动网络从事音频相关工作的技术人员,有的人称我们为音频程序员,有的人称我们为技术音频,也有的称我们为TA(Tech...

2.12.2020 - 作者:吴明辉

关于Wwise插件开发流程

前言...

24.3.2021 - 作者:李昱宸

Impacter 与 Unreal | 利用游戏物理控制 Impacter 插件

简介 Impacter 是最近针对 Wwise 开发的一款撞击建模插件原型(详可参阅这篇博文)。在本文中,我将介绍如何使用 Impacter 来实现声音并整合到采用 Unreal Engine...

14.9.2021 - 作者:肖恩·索拉汉(SEAN SORAGHAN)

游戏音频存档 | 第 1 部分:基本情况

在电子游戏行业,音频的档案保存是件需要审慎处理的事情。无论是钟情于Demo...

9.11.2021 - 作者:范妮•雷比拉德 (Fanny Rebillard)

更多文章

创造秘奥之地(Mystralia)魔幻而灵动的音乐音景

《Mages of Mystralia(秘奥法师)》是一款迷人艳丽的动作冒险游戏,主角Zia在游戏中会学习法术技能。作为Borealys...

《ABZÛ》– 在游戏中为成千上万条鱼设计音频所面临的挑战

看到这幅画面,你首先会想到什么?

游戏声音工作原理与优化的经验分享

前言 我是一名在心动网络从事音频相关工作的技术人员,有的人称我们为音频程序员,有的人称我们为技术音频,也有的称我们为TA(Tech...