基于 State 的 Wwise 混音新功能——控制所有参数!

声音设计 / Wwise 技巧和工具

Wwise 2017.2 已经发布,在大量显著改进和幕后优化之中,包括一个令人激动的新功能——Wwise 中基于 State 的混音功能得到了拓展,能让你更加灵活有效地控制混音。在 2017.1 版本中,你可能注意到了 States 标签页里的几个选项,比如可以控制 Aux Send Volumes(辅助发送音量),甚至可以在持续播放的 Random/Sequence Container 中控制 Duration of Transition(过渡时长)。这个功能在 2017.2 中进行了扩展,同时还引入了通过 State 调整诸多效果器参数的能力。让我们深入了解一下这些功能,再看看它们的用武之地吧。

在 2017.1 之前,States 标签页中允许调整的参数比较少,仅限于音量、音高、低通滤波器、高通滤波器,以及补偿增益。

 

brad1.png

 

到了 2017.2,几乎所有可调整的参数都可以通过 State 来控制了。要想访问这些参数,请在 Property Editor(属性编辑器)的 States 标签页点击 Properties(属性)按钮,打开 State Properties 对话框。在其中,你可以点击选择任何想要使用 State 控制的参数。如你所见,这个列表已经大大扩充了!

 

brad2.png

 

勾选并添加一个属性时,它就会出现在该结构的 States 标签页中。因为有太多属性可用,在工程结构布局合理的前提下,最好的办法是尽可能在较高层级进行混音,并且只选择希望通过 State 控制的参数。为了让一切保持可控且容易管理,每个 State 标签页都会独立保存一组属性;所以,比如 Aux Send Volume 2 在某个结构中是可调整属性,它将不会出现在其它结构的 States 标签页中,除非你在每个标签页中手动选择。

 

brad3.png

 

另外可能更令人激动的是,State 现在也可以用来控制效果器参数了。大部分效果器参数都可以根据各个 State Group 的不同 State 进行改变!

那么,我们来看一个让这些新功能发挥作用的实际例子。比如,假设我们想要根据玩家状态来改变混音。在过去,可以调整音量、音高,以及滤波器,还可能会通过额外的事件触发效果器。但是现在,仅使用 State 就能改变许多细节。我们来探索一下 Wwise 中 State 混音扩展功能的更多技巧。

现在使用 State 除了能控制滤波器,还能调整一个结构发送到不同辅助总线的音量。假设存在一系列辅助总线,我们想在玩家状态改变时向它们发送一些声音。其中有一条叫做“injured(受伤)”,它会添加失真效果,另一条叫做“hallucination(幻觉)”,它带有 EQ 和镶边效果器。比如我们想要 Ambience 总线发送到这两条辅助总线,以便在玩家状态改变时影响环境声。要实现这个效果,只需像往常一样将辅助总线添加到父级总线,然后将它们的音量调到最低,这样在混音中就听不到它们了:

 

brad4.png

 

然后我们在 Bus Property Editor 中点击 States 标签页,并添加想用来影响辅助发送的 State Group,再点击 Properties 按钮打开 State Properties 窗口。选择 User-defined Aux Send Volume 0  和 User-defined Aux Send Volume 1,它们就会显示在  States 标签页里(注:你可能需要把分栏拉宽一点才能看到0和1)。接下来就可以为需要的 State设置每个总线的发送量了。但要记住,因为我们不希望这些总线的发送信号一直被听到,所以已经把它们设置为 -96 了,所以你现在设置的数值是 -96 的相对值。在下图示例中,当玩家处于受伤状态时,Ambience 总线将以 -24(-96 + 72)的音量发送到辅助总线“aux_injured”,而玩家处于幻觉状态时则以 28(-96+68)的音量发送到辅助总线“aux_hallucinating”。

 

brad5.png

 

State 的功能不仅限于控制辅助发送。比如,假设玩家的心跳声是一个循环的 Sequence Container,我们想根据玩家状态来影响该声音的触发速率。这个设置看起来应该是这样:

 

brad6.png

 

接着,我们点击 States 标签页,添加“player_state”State Group,点击 Properties,并将 Duration 作为想用 State 控制的参数。也许在幻觉或疲惫状态时我们想让心跳更快,而在玩家受伤或接近死亡时更慢。因为触发速率已经被设置为 1 秒,那么我们就以 1 为基准进行相对调整。

 

brad7.png

 

所以现在心跳声平时会每隔 1秒播放一次,疲惫时间隔 0.75 秒播放,幻觉时间隔 0.5 秒播放,受伤时间隔 1.5 秒播放,将死时间隔 2 秒播放。超简单!

如果想给心跳声加点花样,比如我们想在不同状态下添加延迟效果,并根据“player_state”State Group 来改变混音和延迟效果的反馈。可以先创建一个新的延迟ShareSet。当你打开一个效果器 ShareSet,就会注意到其中的 RTPC 标签页后面有一个新的 States 标签页。

 

brad8.png 

在 Effect Editor中点击 States 标签页,按下 Properties 按钮,打开 State Properties 窗口,并选择你想在 State 中调整的属性。Properties 窗口只会显示每个特定效果器中允许调整的参数。如下图所示,对于延迟可以调整反馈量,启用/关闭反馈,也可以改变输出电平和干/湿比

 

brad9.png

 

接着我们可以添加“player_state”State Group,并在每个 State 中相应地调整数值。在以下示例中,ch_hero_heartbeat_loop 声音的延迟效果在疲惫时几乎听不见,但当受伤时会稍微能听到一些,而处于幻觉状态时很强并带有明显的反馈,在将死时则会含蓄一些。

 

brad10.png

 

现在已经有了不错的延迟效果,但在游戏中试听新的混音设置时,我们意识到心跳声播放时一直带有这个延迟效果。原来我们忘了在正常的 player_state 时禁用它!解决起来很简单:只要回到 ch_hero_heartbeat_loop 容器,前往 States 标签页,点击 Properties,为该效果器添加 Bypass Effect,并在正常 State 下将效果器旁通。

 

brad11.png

 

你也会注意到,在 RTPC 图标旁有个新图标,当一个参数列入 States 标签页时它会变蓝。这很重要,因为它能让我们一眼看到哪些参数受到了各种 State Group 的影响。需要理解的是,在 State Properties 窗口中选中的任何属性的图标都会变蓝,这就意味着管理属性十分重要,你要尽力保证选中的属性必须至少在一个 State 中进行了调整,这样才能让图标变色在你的结构中具有意义。

Screen Shot 2018-02-13 at 3.14.11 PM.png

以上就是使用 Wwise 这个新功能的基础知识。但这些都只是冰山一角。允许在工程中任何属性上使用基于 State 的混音能力,可以帮助我们实现以前梦寐以求的细节程度,并且现在只用点几下鼠标就能轻松完成很多复杂的任务和事件。

在使用这些新功能时需要注意一些小问题:

与 Wwise 中 State 的其它用法相似,有一些参数是累加的,它们的累计上限即该参数的最大值(比如反馈和干/湿比)。所以,在以上示例中,如果延迟的反馈设置为15,那么在幻觉State下它就会是60(15 + 45)。这一点一定要记住,尤其是可能有多个 State 同时影响单个参数的时候。

而且,ShareSet 现在可以用作效果器参数及其 State 混音参数的整体组合预设。如果你有一个效果器  ShareSet,想在两个不同结构上用不同的方式影响同一个 State Group,那么就需要两个独立的 ShareSet 来针对该 Effect + State 组合的每种情况。这就意味着你需要明智地设置效果器、它们的参数,以及 State,要保证在混音时一直都使用合适的 Effect/State 组合

最后,鉴于一部分参数自身的特殊性,它们无法通过 State 控制。事实是,有些参数会在运行时导致问题,还有些功能在 UI 方面很难实现(目前还没有办法用不同 State 对 2D 或 3D 声像摆位进行控制)。但是,几乎所有效果器属性和 Wwise 内大部分其它属性都可以通过 State 访问和调整。

剩下的问题就只有一个了:你想怎样使用这个功能呢?

混音愉快!

布拉德利.梅尔(BRADLEY MEYER)

音频主管

Sucker Punch Productions

布拉德利.梅尔(BRADLEY MEYER)

音频主管

Sucker Punch Productions

拥有 18+ 年游戏声音设计、系统设计、脚本和集成、配音导演等经验的音频主管和声音设计师。

 @AuralSurgeon

评论

留下回复

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

更多文章

Wwise Authoring API(WAAPI)的三个开源工程

Wwise Authoring API (WAAPI)自Wwise...

29.11.2017 - 作者:伯纳德 罗德里格 (Bernard Rodrigue)

《Yonder: The Cloud Catcher Chronicles》- 音频系列日志 - 第一篇:充满风险的开端

《Yonder: The Cloud Catcher Chronicles》于 2016 年底在 Sony PSX 展会上发布。它是一款由澳大利亚 Prideful Sloth...

15.5.2018 - 作者:史蒂芬·舒茨(STEPHAN SCHÜTZE)

为你的游戏声景调音:声音设计背后的音乐理论

在 2017 年蒙特利尔国际游戏峰会 (MIGS17) 期间,Ubisoft 音频总监文森特·加格农 (Vincent Gagnon) 发表了题为 Music Theory for Sound...

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

SoundSeed Grain 的开发历程

很长时间以来,由于粒子合成器在声音设计上的广泛应用,我们一直都想为 Wwise 开发一款通用的粒子合成器插件。这样就可以利用它生成各种各样的声音,来为游戏设计提供丰富灵活的支持。 我记得几年前曾在...

12.8.2019 - 作者:路易斯-哈维尔 布冯尼(LOUIS-XAVIER BUFFONI)

声音设计师如何利用PD+Heavy进行DSP插件的开发 - Part 1

背景...

9.9.2019 - 作者:侯晨钟

《双生视界》的音频设计

大家好,我是19年上线的TPS少女射击游戏《双生视界》的音频设计师杨刚,负责游戏的音效制作、音乐制作的沟通以及Wwise的接入与管理,今天为大家带来本款游戏的音频设计分享。...

27.4.2020 - 作者:杨刚

更多文章

Wwise Authoring API(WAAPI)的三个开源工程

Wwise Authoring API (WAAPI)自Wwise...

《Yonder: The Cloud Catcher Chronicles》- 音频系列日志 - 第一篇:充满风险的开端

《Yonder: The Cloud Catcher Chronicles》于 2016 年底在 Sony PSX 展会上发布。它是一款由澳大利亚 Prideful Sloth...

为你的游戏声景调音:声音设计背后的音乐理论

在 2017 年蒙特利尔国际游戏峰会 (MIGS17) 期间,Ubisoft 音频总监文森特·加格农 (Vincent Gagnon) 发表了题为 Music Theory for Sound...