AtomCraft的随机化功能

这篇文章介绍了如何使用AtomCraft的随机化功能来避免游戏音频的重复性。

和现实世界不同,游戏中只提供有限的交互场景,这就导致了重复。游戏音频是跟随视觉和玩家行为播放的,因此一种声音可能会不断地反复播放,玩家会因此感觉厌烦,并破坏了游戏的沉浸感。因此,声音设计师的一个重要任务就是设法避免重复性。

声音设计师和音频集成工程师必须在项目中使用有限的内存来最大化音频体验,因此AtomCraft所提供的强大的随机化选项就成了游戏音频实现的一个关键成功因素。有了这些功能,ADX2就可以由一个音频文件产生几乎无限的变化,这篇文章将向你介绍如何在你的游戏中使用AtomCraft的随机化功能。

AtomCraft中的音频随机化

AtomCraft的音频随机化功能非常丰富,从音量到音高、EQ、声相,甚至是AISAC实时控制,所有参数都可以被随机化。此外,随机化可以在Cue树状结构的任意层级进行。例如,我们可以为每个声音和每条轨道设置不同的随机化参数,还可以让轨道和Cue同时应用随机化,如下图:

有了这些随机化参数,音频引擎就可以使用一组很小的音效来产生无限多的变化。AtomCraft也支持Cue的嵌套,这为随机化提供了更多的可能性,下面让我们具体看一看。

 

AtomCraft支持5种类型的随机化

1 – 音高

AtomCraft支持对多个音频片段、轨道和Cue同时进行音高随机化。

在上面的例子中,我们选择了第一条声音片段并设置了音高的随机化范围。我们可以对第二个音频片段(“glass.wav”)应用不同的随机化设置。

设置音高随机化范围非常简单和直观,只要按住滑块并上下移动鼠标就可以了。随机范围会在滑块上显示为一个绿色的区域。

2 – 音量

和音高随机化一样,我们也可以对Cue中的每个元素添加音量随机化。

3 – EQ

我们也可以为每次播放一条音轨或声音片段时加入EQ的随机变化。

在上面的例子中,我们为轨道的频率切除和Q系数设置了一个随机化范围。这意味着当每次播放该轨道的音频片段时,EQ的设置都会产生少许不同。这种方法对于为你的游戏音频实现加入大量变化非常有效。

EQ随机化可以应用于轨道上,也可以应用于每个音频片段上。要为音频片段添加随机EQ,首先点击FX2标签,取消选择“Refer to Track Settings”(使用轨道设置)选项,然后再选择你需要使用的滤波器类型,最后调整参数。

4 – 声相

对于2D环绕,我们可以为每个音频片段、轨道和Cue添加随机的环绕声相。

在上面的例子中,我们对一个音频片段添加了一个随机环绕声相,当每次请求播放时,声音都会出现在环绕声场中的不同位置。

5 – 带随机和自动调制的AISAC控制

最后,我们可以用两种不同的AISAC自动控制类型为Cue中的每个元素添加另一种随机化效果。

在上面的例子中,我们对轨道添加了一个“Random”(随机)类型的AISAC控制。你可以看到,AISAC可以在每次播放声音时根据映射曲线产生新的随机参数值。例如,你可以通过这一设置在特制值的范围内产生随机变化。

要使用这一功能,首先选择一条轨道,添加一个AISAC,并在AISAC控制类型中选择“Random”,然后编辑曲线。

第二种控制类型是“Auto Modulation”(自动调制),当选择这种控制类型时,AISAC的值会在指定时间内跟随曲线自动变化。

要使用这一功能,首先选择一条轨道以及一个AISAC,选择曲线是循环的还是一次性的,然后画一条曲线并告诉引擎你需要这些参数在多长时间(单位:毫秒)范围内变化。

AtomCraft的嵌套功能

AtomCraft中的Cue和子序列嵌套功能可以提供更高级的随机化逻辑。而且,由于因此Cue可以引用其他的Cue,因此当这些Cue的类型为“Random”或“Random no Repeat”(不重复随机)时,我们可以产生更多的变化。

子序列的功能和Cue是一样的,你可以把它当成是把一整个Cue放进了一条轨道里,子序列里面可以直接添加、编辑和随机化自己的轨道和波形。和Cue一样,子序列也可以嵌套。每个子序列可以包含要随机化的音效,也可以在子序列之间应用随机化,如下图。

示例工程

如果你想实际听一听一些如何通过随机化在游戏中避免音频重复的例子,可以在下面下载我们为你制作的示例工程。

Randomization

(注意:这个功能需要AtomCraft 2.24或更高版本)

在这个工程中我们演示了AtomCraft中所支持了5种随机化。我们还演示了Cue和子序列的嵌套,这个功能能够帮助我们进一步减少音频的重复。

这个功能分为3个Cue文件夹。第一个文件夹名叫“Randomization_Functions”,用来演示一些参数随机化的功能。第二个文件夹用来演示嵌套功能。

随机化功能

前面4个Cue演示了我们之前介绍过的几种基本的随机化方法,包括:音量、音高、EQ和声相。

“Auto-AISAC”Cue演示了如何使用“Random”AISAC控制类型在指定值的范围内制造随机变化。在这个例子中,我们用音阶来限制随机值的范围。

Cue嵌套

在这个例子中我们演示了如何使用Cue嵌套功能对一个简单的霰弹枪音效的顺序Cue进行随机化。(如果你要进一步了解AtomCraft中的Cue类型,推荐观看这个教学视频)

程序员只需要使用“Main_Cue”,这个Cue中定义了霰弹枪音效序列:开火、拉栓、弹壳掉落。

每一个被引用的Cue都放在单独的轨道中,声音采样、音高、音量和EQ都进行了随机化。

子序列嵌套

在这个例子中,我们演示了如何使用子序列嵌套功能对上面这个霰弹枪序列进行随机化。在这里,我们只需要建立一个Cue。

每个被引用的子序列都被放在单独的轨道中,声音采样、音高、音量和EQ都进行了随机化。

以上就是关于AtomCraft中非常强大的随机化功能的介绍。


感谢Watson Wu(http://www.watsonwu.com)提供了示例工程中所使用的音频素材。

还是那句话,如果你想进一步了解ADX2的某个功能,赶快告诉我们吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据