如何利用Wwise为TPS游戏构建功能完善的枪声

声音设计

在一个TPSThird Person Shooter)游戏中,什么样的枪声是好的枪声?

这个问题在我接手项目之初整理音频设计大纲的时候思考了很久,时至今日在经历了项目多个大版本并分析从用户体验测试中获得的玩家反馈后,得出了一些结论,借此机会将我的理解及设计思路与大家分享一下。

简要地说,“追求枪声的有机变化及自然的空间感”,就是TPS枪声的主要设计目标。

1.  富有变化的枪声塑造

1.0. 设计动机

对于大逃杀类的TPS游戏玩法,要使得一张地图内玩家在每局中都能得到充足的有新鲜感的体验,高自由度及不可预测性应该是设计中非常重要的目标。同样,对于此类游戏感官体验中至关重要的枪声来说,充足的变化也是首要目标。下面就来聊一下我是如何通过使用Wwise来为枪声做出丰富的变化。

首先,我们把枪声拆解为——火药爆炸、枪体震动、子弹尾巴三个部分,让我们来分别看每个模块的制作思路。

1.1.   火药爆炸

由于火药爆炸是枪械最基础也是最为明显的声音,同样也是能够最直接地体现出不同枪支特点的声音成分,因此为了追求更多细节,我为每把枪都制作了两套声音素材——IndoorOutdoor,也就是进行了室内与室外爆炸声的区分,然后利用游戏场景内设置好的Room驱动Switch变化来进行室内外火药爆炸声的实时切换。

image001

(关于大家普遍关心的连发枪机制实现的问题,想跟大家解释一下:我们使用的游戏引擎为UE4,经过跟程序讨论后决定由他们在引擎侧控制枪的单/连发以及射速,理由是为了避免画面卡顿时出现的音画不同步。这样做,声音设计师只需要给出OneShot枪声的事件就好。然而每个项目由于多种影响因素,开发中连发枪机制采取的具体的实现方式通常存在差异,因此无论是设置Trigger Rate控制枪声间的事件间隔、使用枪声循环样本抑或是其他手段都可以根据具体情况来进行灵活选择。)

(国内观赏视频通道

另外存在这样一种变通的方式:考虑到游戏刷新率低于音频采样速率,为了使画面与枪声做到精准的时间同步,可以在使用TriggerRate/样本循环的基础上,在音频源中枪声Attack起点位置添加Custom Marker,并以此驱动回调函数在引擎侧触发游戏中角色的射击动作来实现枪声机制的设计。

1.2. 枪体震动

由于1P枪体距离玩家比较近,细致、多变的枪体机械声表现能够提升玩家游玩时的临场感。在TPS视角下,除了每次开火导致的随机机械声样本播放这种常规操作外,我还根据腰射、肩射、开镜这三种射击模式下摄像机与1P角色的距离,以及每把枪支开火时剩余子弹数来决定枪体的播放音量——距离越近,剩余子弹数量越少,枪体震动的声音越明显,这也是希望能够建立一定的声音播放规则,鼓励玩家去学习与理解,使他们能够在长期游玩的过程中适应这套逻辑,进而从声音的角度快速判断自己的剩余弹量,间接提升玩家的竞技性。在Wwise中,我通过使用摄像机与1P角色的距离剩余子弹数这两个Game Parameter,影响枪体机械震动声的音量和High-Pass Filter,从而实现1P角色不同状态下声音的变化。

(国内观赏视频通道

1.3. 子弹尾巴

Tail部分主要是为了体现每次射击的空间感和方位感,这样即使在一个不大的房间内配合反射效果同样可以表现出该房间的结构特点。我按照不同的房间大小制作了4Tail样本,根据场景内设置好的Room驱动Switch来进行样本的实时切换。由于项目玩法的特殊性,占领高处的玩家会有一定的优势,所以根据这个特点,我设置了一个能识别玩家高度的RTPC,通过玩家所处位置的高度值实时控制Tail音量以及ReverbDelay的发送量来模拟出在高处较空旷的环境中枪声的特点。

image006

(国内观赏视频通道

 

(国内观赏视频通道

1.4.  关于1P3P角色枪声的差异化处理

在这点上大家或许都有各自的设计思路。此处我依然将枪声的有机多变作为首要目标。为了增强共用了素材的同一把枪的1P3P版本之间听感上的差异,我对3P额外使用了EQ,并在转码设置中将3P声源下混为单声道来增强定位感。

image011

进一步地,在其上层使用混合容器——Indoor增加中距离版本随机样本,为Outdoor增加远距离/超远距离样本,然后依据距离远近改变混合方式,同时配以一定的Pitch变化来表现枪声Tail的音高受空气阻尼影响产生的偏移,尽可能的模拟出真实环境中不同距离枪声的效果。

image013

image015

2.  枪声的空间感塑造

2.0. 设计动机

由于相比于FPSTPS的视野更大,玩家需要获取到更多环境方面的信息。因此我将为玩家提供更细致的反馈作为声音空间感塑造的首要目标。接下来,我将为大家展示如何利用Wwise空间音频进一步提升枪声的空间感。

2.1. “游戏内”的空间感塑造

首先分析游戏场景的结构,制作出相应的环境音效铺底,搭建匹配游戏中美术内容的SoundRoomSoundPortal并根据具体需要对声音开启衍射。

image017

然后在WwiseProjectSettings中设置好声障声笼的全局曲线;在相应场景中测试并选择一个针对该场景的全局值;再为枪声设置Wwise Reflect的辅助发送;再根据场景美术内容去设置不同墙面的反射材质以及声音的穿透值。

image019

同样,每个可进入的Room都需要配置好相应的混响Aux Bus、辅助发送量、枪械的火药爆炸/子弹尾巴的Switch等具体参数。

image021

2.2. “游戏外”的空间感塑造

由于我们目前的开发版本为PC版,所以HRTF功能也同样通过Microsoft Spatial Sound Platform 输出插件来实现到声音设置界面,供玩家选择开启或关闭。

image022

image024

3.  母带处理

Wwise更新到2019.2.4之后,我们如愿以偿地使用到了免费且强大的母带处理插件——Sony Mastering Suite

image026

image028

可以利用其来替换之前同位置的Wwise Peak Limiter,功能更强大,效果更好,具有一定混音基础的朋友们能够比较容易地发挥出这个插件的功效。我们在对Sony Mastering Suite自带的几个原厂预制进行简单的参数调整之后,配合音频程序实现出了游戏内音效模式切换的功能,方便玩家来根据不同的监听设备选择更加匹配的声音表现。

4.  结语

以上这些,就是我在这个项目枪声设计上的一些探索与思考,希望能够为大家带来一些启发,谢谢大家的阅读。

孙大亮

游戏音频设计,作曲

孙大亮

游戏音频设计,作曲

不会做音效的作曲不是一个好的BASS手,希望未来有机会能够主导制作出一款像《塞尔达传说:旷野之息》一样,音乐与音效结合的如此惊艳且有特色的游戏项目。

评论

伟森 洪

November 17, 2020 at 01:45 pm

大亮,写得不错

伟森 洪

November 17, 2020 at 01:45 pm

大亮,写得不错

伟森 洪

November 17, 2020 at 01:45 pm

大亮,写得不错!

伟森 洪

November 17, 2020 at 01:47 pm

大亮,写得不错!

留下回复

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

更多文章

在Unity3D中助力你的声音设计师

27.3.2018 - 作者:比特里克斯.摩尔什(BEATRIX MOERSCH)

如何以音频为职业谋求发展

与其他行业相比,通往音频行业的成功之路可能更为曲折。那么问题来了,如何在音频行业谋求发展?面对众多职业选择,到底从哪里做起呢?...

21.9.2020 - 作者:A Sound Effect

赛博朋克世界的声景塑造 — 以游戏《底特律:成为人类》为例 (第一部分)

30.8.2021 - 作者:赵茉茉

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

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

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

以REV2为基础制作赛车引擎声

前言 汽车引擎声一直是游戏声音设计工作中难度比较大的部分,难度主要来自以下几个方面:...

13.10.2021 - 作者:徐巍

加快 Strata 工作流程 | 第 2 部分 – Open Associated REAPER Project

简介 作为使用 REAPER 和 Wwise 的声音设计师,在 Wwise 中操作时经常会遇到想在 REAPER 中重新渲染声音的情形。为此,通常要手动查找源 REAPER...

26.7.2023 - 作者:Audiokinetic (音频动能)

更多文章

在Unity3D中助力你的声音设计师

如何以音频为职业谋求发展

与其他行业相比,通往音频行业的成功之路可能更为曲折。那么问题来了,如何在音频行业谋求发展?面对众多职业选择,到底从哪里做起呢?...

赛博朋克世界的声景塑造 — 以游戏《底特律:成为人类》为例 (第一部分)