“零代码”开发小游戏—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

评论

留下回复

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

更多文章

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

阅读文章第一部分。

7.9.2021 - 作者:赵茉茉

Wwise Audio Lab (WAL) 配套更新

Wwise Audio Lab (WAL) 是一个采用 Unreal Engine 4 开发的类似游戏的 3D 开源环境,其可通过 Wwise Launcher 进行下载。在 WAL 中,用户可对...

26.4.2022 - 作者:戴米安·卡斯特鲍尔(Damian Kastbauer)

关于如何在团队工作环境中使用 WAAPI 和 Python

在本文中,我想说说自己很长一段时间以来是如何使用 WAAPI 的。这当中用到了 Python、命令扩展 (Command Add-on) 和一个小的辅助程序 (Helper) 库。藉此,能以比...

10.5.2022 - 作者:尤金•乔尔内 (Eugene Cherny)

如何解决手游音频开发面临的难题

本文将试着阐明我们在 Rovio 的同人如何使用 Wwise 及其他工具进行免费 (F2P) 手游音频开发,以及都采用了哪些策略来改进工作流程并提升工作效率。...

23.2.2023 - 作者:约翰•乌瑟 (Can Uzer)

Sound Haven Highway | Step Up Your Sound Game Jam

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

24.7.2024 - 作者:Petricore

《Alan Wake 2》背后的声音设计 | 第 3 部分 – 音频 QA 的作用

《<Alan Wake 2>背后的声音设计》系列博文 《<Alan Wake...

2.4.2025 - 作者:Adam Butterworth

更多文章

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

阅读文章第一部分。

Wwise Audio Lab (WAL) 配套更新

Wwise Audio Lab (WAL) 是一个采用 Unreal Engine 4 开发的类似游戏的 3D 开源环境,其可通过 Wwise Launcher 进行下载。在 WAL 中,用户可对...

关于如何在团队工作环境中使用 WAAPI 和 Python

在本文中,我想说说自己很长一段时间以来是如何使用 WAAPI 的。这当中用到了 Python、命令扩展 (Command Add-on) 和一个小的辅助程序 (Helper) 库。藉此,能以比...