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

游戏音频 / 声音设计 / Wwise 技巧和工具

最近在MIGS做名为《助力你的声音设计师》的演讲时,我们有两个目的。我们想讨论即将发售的游戏《Anamorphine》的制作中我们开发的音频工具集,同时也想讨论音频在我们工作流程中扮演的打破传统的角色。

 

 

当Artifact 5让我加入时,离发布《Anamorphine》还有3年时间——他们当时有一个正在申请筹资的新作需要帮助,而它的成功也为公司带来了种子资金。作为项目的声音设计师,这对我而言是独特的机会——声音设计师这样早加入项目在游戏开发中是很罕见的,这也让我的声音工作流程能够融入主体制作管线中,而不是像业内常做的那样到临近结尾才加入进去。

这反过来也让程序员们能和我一起合作来构建并迭代开发一组自定义的Unity-Wwise集成工具,随着集成工作越来越多这些工具越发显得宝贵。 这些工具是在一个我们叫做“Audio Box”的组件大伞下面工作的,让我能在工作流程中先构想出声音设计或互动创意,然后将其创建出来、集成好,而且可以先在游戏中测试好,再在原始素材上迭代。我成功地从头到尾走通了这个流程,成为了我设计流程的一部分。因为有条件在Unity中独立工作,所以我不需要等程序员来完成音频任务,这些任务与主要玩法相关代码相比优先级要低一些。另一方面,程序员也不需要担心百忙中会再塞进太多音频需求,而最终的结果就是一个无缝整合到玩法中的复杂精细的音频系统。

显而易见,Wwise已经有了一些集成工具,但它们只能完成基础集成任务,而且分散在不同的工具和组件之中。 Audio Box让我能控制所有这些已有功能还加上很多本来没有的功能,直接从以Audio Box为中枢来控制整个玩法部分。比如,《Anamorphine》是一款核心机制包括很多无缝场景过渡的游戏。我需要声音像图形场景一样无缝过渡,而Audio Box让我能在中央Audio Box控制器中移动、变化、控制音频来适应复杂过渡。

我们来实际看看该工具集吧。

AUDIO BOX

Picture1.png

Audio Box是一个中枢,它可能有也可能没有Trigger Collider(触发器碰撞体),它控制着游戏音频功能部分。 你可以看到上方Audio Box引用的游戏对象,显示为紫色圆形和线段。

  • Audio Box包含一系列组件,每个组件都有Delay(延迟)Trigger Only Once(只触发一次)选项。
  • Delay 让我可以为触发事件设置延迟时间,而Trigger Only Once对于预防bug非常有用。
  • 我可以在每个audio box中放入很多功能组件,而且我可以把几个audio box放到一个游戏对象上,这让我能通过功能集来整理多个Audio Box。

发送事件

最重要的是Audio Box让我能触发Wwise Event。我可以使用Trigger Collider(On Enter以及On Exit),On Start和On Event来做到这一点。这和Audio Box使用的另一个工具集相关联,该工具集叫做Event Tag System(详情见下文)。

Picture2.png

我发送事件的方式中很特别的一点是可以使用AkAmbient或AkEvent组件来直接引用已有的游戏对象, Audio Box会拉取它包含的事件并按照编程进行触发。用一个发送事件组件来引用多个游戏对象能创造奇迹——为各个游戏对象触发各自对应的事件。这让我能做到一些事,比如在玩家进入环境区域时触发环境,或者当玩家触发单个游戏事件时能触发一系列声音事件。通过取消勾选“Event”复选框,我也可以不用引用任何已有游戏对象就能触发事件,只要在Audio Box中的一个下拉菜单中选择事件即可。

Picture3.png

 

设置RTPC

我也可以用Audio Box来建立和调整RTPC。使用ToggleAdd函数来更改参数时可在 Absolute(绝对)和Relative(相对)之间切换。根据我在组件中指定游戏对象与否,它们可以对参数进行全局控制或游戏对象范围的控制。

Picture4.png

我也可以触发State和Switch

 

Picture5.png

最有趣的一点就是还有一些工具能根据玩家位置来变换参数值。

Curve Over Distance(距离曲线 设置了一个参数梯度,其中碰撞体的中心代表刻度的一极,边沿代表另一极。玩家在这个触发区域内的移动会相应改变参数值。

 

Picture6.png

Distance Slider(距离滑在我设置的任意两点上设置了参数的极值,在任意点离开碰撞体就会将最终参数值设置为它的当前值。

Picture7.png

 

依附/朝某对象移动

Attach and Move(依附并移动)选项让功能性更上一层楼,这点对于我在 《Anamorphine》中的工作也十分重要,因为它们能移动音频游戏对象穿越过渡和场景。

  • Attach(依附)可以将我选择的游戏对象依附到另一个游戏对象上(只要它们位于同一个场景中)。
  • Attach to Player(依附到玩家上)让我能将任意游戏对象依附到玩家身上,无论角色处于什么场景中。
  • Move to(移动到)Move Toward Player(向玩家移动)会将一个游戏对象以我选择的速度移向另一个游戏对象,或移向玩家。

这些工具合起来让我能根据玩家的行动让3D定位的音频声音相对于玩家移动。

在下方的截图中,你可以看到,我已经设置了无缝场景过渡,使用了几种之前讨论过的Audio Box工具来分解前一场景的声音并将其无缝融入下一个场景。我通过代码场景触发的Event Tag来触发Attach功能(而不是在Trigger Exit上),这样这些声音就在玩家被传送前依附到玩家上。你可以在MIGS视频中听到它的一个版本。

Picture8.png

Picture9.png

事件标签系统

前面展示的“On Event”触发功能联系到一个次级功能集,叫做Event Tag System(事件标签系统)。它让我能根据很多其它游戏内触发器(如动画事件、故事决策点等等)来触发音频。

Event Tag System 是一个简单的事件系统,它会将事件和行动配对。Unity 内的组件必须内部支持事件或动作,这样它们才能使用标签)进行注册,这个tag通常是一个如下形式的路径:

Events / Apartment / Teleportation / Before

动作和事件可以有“多对多”的关联,也就是说单个事件或动作可以通过多个标签进行注册,而单个标签可以关联到多个动作或事件。

场景之间的互相引用在Unity中是不允许的,而这个系统让我们能绕开这个限制,与其它专业的场景设置中触发的事件进行互动。这就让各个专业(美术、程序和声音)能在各自的场景中工作,最大程度减少Git冲突问题,让并行工作流程成为可能。

总结

Audio Box与项目一起有机生长,但慢慢开始定义了声音工作流程,并且对于作为声音设计师的我成为了宝贵的资源。随着我想到新的需求,程序员们相应扩充和调整 Audio Box。新的调整非常灵活,经常改善我整体的工作流程,而不仅是针对它的设计场景。

因此,项目早期的一点微小努力带来了整个团队的巨大收益,音频工作流程也伴随着项目的成长,高效地发挥着作用,与之形成了一个整体。

此外,通过让声音参与到游戏设计的预研阶段,整体玩法、叙事和游戏感的决策都听取了声音方面的意见,也利用了声音的强项。Audio Box在开发的早期就成了型,加上注入了各种游戏上的点子想法,最终形成了长于沉浸和情感并且在美学上统一的游戏体验。

  

Subscribe

比特里克斯.摩尔什(BEATRIX MOERSCH)

比特里克斯.摩尔什(BEATRIX MOERSCH)

比特里克斯.摩尔什(BEATRIX MOERSCH)是加拿大蒙特利尔的一名声音设计师和作曲家。在过去的一年里,她担任了《黎明杀机》的首席声音设计师,为游戏中出现的生化危机系列的追踪者、猛鬼追魂系列的钉子头和午夜凶铃系列的贞子等角色制作和整合声音。Beatrix很早就开始实验声音艺术创作,十多年来,她一直在创造声音设计来配合视觉体验,并从2014年开始在游戏行业从事专业工作。

评论

afd decheng

June 01, 2018 at 03:24 am

不错,非常不错。

留下回复

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

更多文章

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

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

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

Impacter 交叉合成的可视化展示

欢迎继续阅读我们的 Impacter 插件系列博文。在前两篇博文中,我们主要介绍了插件的相关物理参数,以及如何与游戏的物理系统紧密结合。在这篇博文中,我们将着重探讨 Impacter 的交叉合成功能。...

19.1.2022 - 作者:瑞恩•多恩 (Ryan Done)

Tell Me Why | 音频日志 – 第 1 部分:环境声和 VO

《Tell Me Why》是一款由 DONTNOD 开发、由 Xbox Games Studios 发行的单人叙事冒险游戏,支持的平台包括 Xbox 主机、Windows 10 和 Steam。...

23.3.2022 - 作者:路易斯•马丁 (Louis Martin)

为独立开发商提供免费 Wwise 授权 – 支持所有平台,无限声音素材(缘由及方式)

大家好!我来自 Audiokinetic 授权团队。四月份我制作了一段视频,今天我们来对此做下跟进。在 2022 年 4 月 1...

16.2.2023 - 作者:麦克•德拉默史密斯 (Mike Drummelsmith)

深入探究《Seashell》中的音乐和音频元素

我叫李维•邦德,目前跟几位同事以 dBXY Collective 之名为游戏制作音频。我们跟独立开发商 High Tea Frog...

5.4.2023 - 作者:李维•邦德 (Levi Bond)

《Spacefolk City》的音乐设计

游戏简介 《Spacefolk City》是一款专为 VR 平台打造的城市建造类休闲小游戏。在游戏中,玩家要跟奇异的 Spacefolk...

21.2.2024 - 作者:亚历克斯·梅 (Alex May)

更多文章

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

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

Impacter 交叉合成的可视化展示

欢迎继续阅读我们的 Impacter 插件系列博文。在前两篇博文中,我们主要介绍了插件的相关物理参数,以及如何与游戏的物理系统紧密结合。在这篇博文中,我们将着重探讨 Impacter 的交叉合成功能。...

Tell Me Why | 音频日志 – 第 1 部分:环境声和 VO

《Tell Me Why》是一款由 DONTNOD 开发、由 Xbox Games Studios 发行的单人叙事冒险游戏,支持的平台包括 Xbox 主机、Windows 10 和 Steam。...