《Moss: Book II》:借助音频增强 VR 体验的沉浸感

游戏音频 / VR 体验

Img1

《Moss: Book II》是《Moss》系列的第二部作品,是一款专为 VR 平台打造的动作冒险类解谜游戏。该游戏结合了第三人称和第一人称玩法。在游戏中,玩家将与名叫 Quill 的英勇小老鼠一起设法拯救《Moss》世界。在使用熟悉的动作冒险控件指导 Quill 进行战斗和操控平台时,玩家还要扮演 Quill 的朋友和关键盟友 Reader。作为 Reader,玩家可亲身接触游戏世界并与游戏空间中的物体互动,来帮助 Quill 解开谜题、击败敌人并前往她想去的地方。 

img2

除此之外,玩家还可接触 Quill 本鼠并与其互动。比如,跟她击掌、爱抚她、给她的武器蓄能来让她在战斗中占据上风。藉此,与 Quill 建立奇妙的情感纽带。

Polyarc 的《Moss: Book II》音频团队由三名内部人员和两名兼职人员组成。三名内部人员为音频主管克里斯汀•奎恩 (Kristen Quinn)、高级声音设计师金轩 (Sun Kim) 和配音导演兼音频工程师斯蒂芬•霍德 (Stephen Hodde)。

另外两名兼职声音设计师为凯尔•范德•斯伦特 (Kyle Vande Slunt) 和伊莉斯•凯茨 (Elise Kates)。

互动装置

在为 VR 游戏构建音频时,可以尽情体验进入游戏世界并与物理空间中的不同装置互动的沉浸感。在这里,我们来详细说说游戏中的两个互动装置:摆锤和水轮。另外,还将展示《Moss》和《Moss: Book II》游戏中的装置设置。为此,斯蒂芬创建了一个自定义组件以便查看常用事件并在构建装置时找到所需的数据。

摆锤

img3

我们采用了与《Moss》相同的方式构建装置。在 Blueprint 中,全部由逻辑驱动。摆锤悬挂在天花板的一个点上。蓝球代表玩家的控制器/Reader 的手。玩家可以伸手抓住摆锤并沿弧线摆动。如果摆锤够近,Quill 可以跳到平台上。而且,平台还可随 Quill 摆荡。在玩家松开摆锤时,它会来回摆动,直至静止。作为 Reader,玩家可在最高处或最低处松开摆锤。对此,装置会给予不同的响应。除此之外,还可抓住它并随时中断摆动。

摆锤会从三个不同位置发出声音:天花板上的支点、底部平台和平台上的连接处。在平台关卡,会在 Blend Container 中播放以下内容。

Swing Tension – 摆动时施加在装置上的金属应力和压力。为了方便进行不同的调整,拆分成了中频和低频循环
Foliage – 附着在平台上的植物发出的声音
Wind – 平台在空间里摆动时散布的空气共振

img4

img5

所有这些装置都是为了增强玩家的沉浸感。为了让其动态互动,我们需要计算平台速度和当前摆角。要从平台的中心进行计算,用摆动的距离除以到达该处所花的时间即可。随后,可将其作为 RTPC 发送给 Wwise。 

img6

我们来看下如何在 Blueprint 中计算角度。

img7

在达到最大速度以及靠近天花板的顶部组件处于极位角度时,会播放金属嘎吱作响的声音。这样在处于弧线最远端时,玩家的紧张感就会增加。0 = 最左或最右;1 = 正中。  

img8

除此之外,还要充分考虑玩家与装置互动的各种方式。为此,我们设置了抓住、松开摆锤和任其闲荡的声音。

下面举例展示了摆锤在游戏中最终听起来的效果:

水轮

img9

其中一个大山关卡中有个可互动的大型装置,我们称之为水轮。在扯断固定的绳索时,其会滚落并坠入下面结冰的池塘。这时,它本质上是一个金属轮子,玩家可在其漂浮在水中时转动。

对于《Moss: Book II》,我们希望简化装置的实现并建立对事件和常用数据的访问。为此,史蒂芬创建了一个可添加到任何装置的专用音频设备组件。该组件可以提供各种事件及常用 RTPC。借助阈值,可控制循环的开始点和停止点。对于水轮,我们第一次使用了这个新组件。

img10

藉此,可访问以下事件:

img11

Interaction Enabled – 手可以与装置互动(这时可以抓住装置)
Interaction Disabled – 手不能再与装置互动(这时会将抓住装置的手弹开)
Touch Begin – 刚刚将心灵之手放入互动空间(还没有真正抓住装置)
Touch End – 将心灵之手从互动空间抽出
Device Grab Press – 用手抓住装置
Device Grab Release – 把手从装置上移开
Idle Loop Start Event – 在开始播放时触发
Idle Stop Loop – 在结束播放时触发
Speed Loops Start – 在 RTPC 阈值以上时开始播放
Speed Loops Stop – 在 RTPC 阈值以下时停止播放

我们只在此装置上使用了闲置启动事件,因为我们希望在其处于非活跃状态、漂浮在水中以及转动时播放内容。对此,我们使用了装置速度来控制闲置和转动内容之间的交叉淡变。 

img12

在水轮处于闲置状态时,会播放水撞击轮子的闲置循环。偶尔也会播放 1 次性的沉闷金属声(表示水轮随机碰撞冰面的声音)。 

img13

在玩家开始转动水轮时,会播放额外的循环(表示金属被抓住的压力)以及装置转动的声音。

Metal Scrape – 大型金属装置刮擦冰面的声音
Underwater Loop – 水被水轮拖到表面之下时的水听器录音(表示水从水轮下面发出的声音)
Water - 1shot – 水花飞溅声(在水流搅动声之上增添变化)
Turn Water Loop – 持续不断的水流搅动声

借助装置组件,可以输出所需的数据并访问想要的事件。所以,在 Blueprint 内设置起来要简单很多。

下面举例展示了水轮在游戏中最终听起来的效果:

最后总结

各种装置在这个游戏中扮演着非常重要的角色。为了令其真实可信,我们构建了动态音频系统。其中,内容会基于装置行为和游戏中的玩家动作而变化。通过创建专用的装置组件,我们可以缩短实现的时间,把更多时间花在内容上。这样就可利用多出来的时间对系统进行调整。我们希望自己的努力能给玩家带来愉悦的体验,尽情感受进入游戏世界并与装置互动的沉浸感。在此,很高兴将《Moss: Book II》难忘的开发经历分享给大家。最后,感谢各位阅读这篇博文。 

Polyarc 音频团队

Polyarc 音频团队

Polyarc 成立于 2015 年,致力于借助 VR 和 AR 技术打造前所未有的玩家体验,注重在创新当中加强各方合作、自由表达创意并突显玩家价值。在 2018 年,Polyarc 自行发行的 VR 游戏《Moss》广受好评,并获得了全球 80 多个行业奖项和提名。《Moss: Book II》是《Moss》系列的第二部作品,于 2022 年春季推出,以白金销量的《Moss》中讲述的故事为背景。Polyarc 团队由才华出众的开发者组成,参与开发过《Destiny》、《Halo》、《Red Dead Redemption》和《Guild Wars》等多款知名 AAA 系列游戏。

hhttps://www.polyarcgames.com/

评论

留下回复

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

更多文章

《Clocker》的声音设计 - Part 1

大家好,我是谭宇,来自一罐盐声音工作室(Salt Sound Studio)。下面将通过这篇博客跟大家分享一下我们的项目...

23.9.2019 - 作者:谭宇

怪物语音制作分享

怪物语音声音设计大致分成两类,一类是不同状态下的嘶吼和喉音(Short...

8.6.2020 - 作者:李敬平

Waapi 批处理工具:CA_Waapi_Tools

引子 相信很多声音设计师在使用 Wwise设计软件进行音频整合的时候,会遇到一些重复性很强的工作,比如:大量的导入/替换样本,生成事件,设定 Switch...

23.12.2020 - 作者:楼哲文

Wwise Unity 速查表

今天我们来说说 Wwise Unity Integration。这些年来,相关学习资源越来越丰富,随时都可以拿来参考。就拿 Audiokinetic 官方资源来说,YouTube...

19.1.2021 - 作者:麦斯·麦雷蒂·桑德鲁普 (Mads Maretty Sønderup)

游戏音乐不应仅仅局限于音乐本身 – 第 2 部分

什么是游戏音乐?什么是互动音乐?这些问题的答案并不像看起来那么简单。对此,奥利维尔·德里维耶 (Olivier Derivière)...

20.4.2021 - 作者:奥利维尔·德里维耶 (OLIVIER DERIVIÈRE)

Sound Haven Highway | Step Up Your Sound Game Jam

本文是在第二届 Step Up Your Sound Game Jam 之后撰写的。在这次一年一度的 Android 手游 Game Jam 上,参赛团队要结合 Wwise 使用 Dolby...

24.7.2024 - 作者:Petricore

更多文章

《Clocker》的声音设计 - Part 1

大家好,我是谭宇,来自一罐盐声音工作室(Salt Sound Studio)。下面将通过这篇博客跟大家分享一下我们的项目...

怪物语音制作分享

怪物语音声音设计大致分成两类,一类是不同状态下的嘶吼和喉音(Short...

Waapi 批处理工具:CA_Waapi_Tools

引子 相信很多声音设计师在使用 Wwise设计软件进行音频整合的时候,会遇到一些重复性很强的工作,比如:大量的导入/替换样本,生成事件,设定 Switch...