menu
 

“零代码”开发小游戏—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中的应用探讨

引言...

18.11.2019 - 作者:王润琦

怪物语音制作分享

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

8.6.2020 - 作者:李敬平

Impacter 插件简介

概述 Impacter 是在原有 SoundSeed Impact...

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

在 Wwise 中设定 Audio Object

未来遥不可及,往日似水流年。亦如费里斯•布勒 (Ferris Bueller) 所说:“生活快速向前,时光转瞬即逝。如不偶尔驻足停留,就可能会错失良辰。”距离 Wwise 2021...

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

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

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

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

Wwise Spatial Audio 2023.1 新增功能 | 对 Aux Send 模型进行的完善

如果各位了解过 Wwise 2023.1 的新增功能,可能会注意到文档中有这么一句话:“对 Aux Send 模型进行的完善”。这个到底是什么意思呢?今天我们就来详细说说。在此,我会简要介绍对...

14.12.2023 - 作者:内森 哈里斯(NATHAN HARRIS)

更多文章

关于局部线性与联动控制在Wwise中的应用探讨

引言...

怪物语音制作分享

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

Impacter 插件简介

概述 Impacter 是在原有 SoundSeed Impact...