“零代码”开发小游戏—UE4蓝图与Wwise结合的设计思路 - Part 2

游戏音频 / Wwise 技巧和工具

请阅读本文第一部分。

(接上)说到FlipFlop,《My Show》的“音乐玩法”中对其还有大量的应用(太好用了):

1

游戏里可以通过点击1-9按钮或按电脑键盘中的1-9数字键控制不同的乐器分轨,每一次按下按钮/键盘将会轮流进行播放/停止该分轨的行为。

键盘中数字键1-9蓝图如下(屏幕上虚拟数字键同理):

2

我用FlipFlop做翻转函数,按序轮流进行。

A:播放该分轨、将白色按钮旋转45°并将对应卡通人物可见度设为1(出现);

B:结束该分轨、将白色按钮旋转-45°(还原)并将对应卡通人物可见度设为0(消失);

相应的Wwise事件(以8为例,其他同理):

3-1

4

音乐中的分轨受RTPC控制音量,X0为静音,1为正常音量。

5

Wwise201的音乐很棒,欢迎大家去官网下载Wwise201相关的教程和音频资源)

On Pressed / On Release按下/释放按钮

6

在《My Show》的乐器演奏中,我通过按键的时长来控制音符时长,模拟真实乐器长按和短按的演奏实况:

猫和老鼠gif

我将所有乐器的乐音收集得较长,比如钢琴上的每个音都保留着手指长按在琴键上直至完全没有声响为止。接着为每个键位做一一对应的Stop Event放在Release动作上,fade out时长设成0.2秒,模拟手指离开琴键时乐音自然终止。这里不能做Stop All之类的Action,比如在按着B键的同时释放了A键,那B键的乐音也被中止了。

吉他的Release动作除了加上Stop Event外,同时还播放乐音相应的“护弦杂音”,由于所有乐器共用一套键位系统(对应乐音+Switch切换),切换到吉他页面时会分配一个State On去将吉他特有的“护弦杂音”播出来,不会影响其他乐器的Release(其他乐器为State Off)。

效果如下:

国内观赏视频通道

每个键位(A-Z)的通用Release动作如下图:

 7

“护弦杂音”的ActorMixer中,State参数如下图:

8

游戏中选择“吉他”时触发的事件如下图:

9

游戏中选择其他乐器时触发的事件如下图:

10

以后加入更多乐器后,将会按需添加更多State去控制一些特殊奏法Press/Release的相关杂音或效果。

以上是游戏中用过的音频功能相关的蓝图,还有用到一些与非音频相关的节点,下面简单罗列几个,有兴趣了解更多详情的欢迎找我一起讨论:

Play Animation(播放界面动画)

 

11

 

Remove from Parent(从父级中清除目标)

 

12

 

Create a Widget+Add to Viewport(创建界面并显示在屏幕)

 

13

 

Delay(延迟)

 

14

 

Lerp(算法:线性差值)

 

15

 

Set Visibility(设置可见性)

 

16

音频功能的实现

设置面板

进入设置面板后,所有音乐将经过LowPass Filter,营造远离舞台现场时的听感,按返回键时恢复。

 17

 18

乐音复用系统

以钢琴示例:在得到强和弱两版C2-C5的“自然音”后,“变化音”均采用自然音“Pitch±100”(调高或调低100音分)来实现;

 19

20

“和弦模式”则结合Blend Container(混合容器)与“Pitch±100”将单音组合成和弦,有效节省包体大小,提高后续工程可控性。

21

PS:《My Show》中,Pitch调整的最大幅度目前是100音分(半音),不会影响整体音质表现,但高低八度没有采用pitch±1200来实现,因为会严重影响音质、时长和整体表现。接下来我的优化方案是更充分利用复用系统,比如每个八度只收集3-5个乐音后再按需调整pitch

多语言切换

22

设置本地化也算是UE4一个优势,无论是中/英文字 还是中/英语音,都在官方集成封装好了,直接用就可以,很方便。23

背景音乐“避让”

运行游戏后开始循环播放BGM,当我们进入一些特定窗口时BGM转为在后台静音播放(比如开始乐器弹奏或音乐玩法),每一个返回键(设置界面除外)都将BGM音量还原至正常,形成一个常规的“避让”系统,避免了音乐的频繁从头播放,减弱重复感。

24

结语

以上是我用UE4蓝图开发小游戏的设计思路与经验分享。所谓的“零代码”也算是一种代码,蓝图是一个将代码可视化的系统,确实对非程序员很友好。目前市场上还有GameSaladGameBuilderGameMei等宣传为“0代码低门槛开发游戏”的工具和平台,但做出来的游戏功能有很大的局限性。开发独立游戏时最好还是具有一定的编程基础,可尝试不同的开发引擎,然后做出适合自己和项目的选择。

在制作游戏的过程中,我觉得开发小游戏比玩游戏还开心,从中学习到了很多,也希望能给同样在摸索UE4引擎的小伙伴们一点微薄的帮助。后续我将会再发表更多关于UE4Wwise结合的经验分享,谢谢~

伍岚珊

音频设计师

腾讯游戏光子工作室

伍岚珊

音频设计师

腾讯游戏光子工作室

毕业于星海音乐学院现代音乐系,曾任职于西山居游戏,现任光子工作室音频策划。从事音频功能研发与音频交互设计,致力推广音频中间件与商业引擎的结合。

 @CoffeeWu2

评论

留下回复

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

更多文章

利用 Wwise 将两个 Audio Device 整合到 UE 游戏中

大家好,我叫埃德·卡辛斯基,是一名来自俄罗斯圣彼得堡的声音设计师和音乐家,目前在做一个非常有趣且重视声音表现的项目:这是一个名为《牧师与鬼驱人(Priest vs....

26.8.2020 - 作者:埃德·卡辛斯基 (Ed Kashinsky)

Impacter 交叉合成的可视化展示

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

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

利用Wwise的基础功能构建空间音频效果

各位同行老师朋友大家好,我是JYUN,给大家拜个晚年。

2.3.2022 - 作者:谢玮

Wwise 2023.1 对 WAAPI 的更新

Wwise 2023.1 包含自 2017 年引入 API 以来对 Wwise Authoring API (WAAPI) 最大幅度的更新。如果还没看过 Wwise 2023.1...

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

WAQL 2.0

自 Wwise Authoring Query Language (WAQL) 的第一个版本发布以来已经有几年了。在此之后,几乎没什么改动。最大的改动就是把 WAQL 集成到了 Wwise...

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

Wwise Spatial Audio 2023.1 新增功能 | Reverb Zone

Reverb Zone 简介 在 Wwise 23.1 中,我们为 Wwise Spatial Audio 增添了一个名为 Reverb Zone 的工具。Reverb Zone 本质上来说是...

10.1.2024 - 作者:托马斯•汉森 (Thomas Hansen)

更多文章

利用 Wwise 将两个 Audio Device 整合到 UE 游戏中

大家好,我叫埃德·卡辛斯基,是一名来自俄罗斯圣彼得堡的声音设计师和音乐家,目前在做一个非常有趣且重视声音表现的项目:这是一个名为《牧师与鬼驱人(Priest vs....

Impacter 交叉合成的可视化展示

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

利用Wwise的基础功能构建空间音频效果

各位同行老师朋友大家好,我是JYUN,给大家拜个晚年。