CRIWARE Unity Plugin Manual  Last Updated: 2024-07-12
数据:弹球

范例描述

概述

这是一个CRI Atom Craft中用于弹球游戏的范例项目。

cri4u_samples_criatom_script_data_pinball_main.png

数据信息


中间件 CRI ADX (CRI Atom)
范例 Sample data: Pinball(范例数据:弹球)
存储路径 /CRIWARE/SDK/unity/samples/criatom/script/AtomCraftProject/AtomCraftWork_Pinball
项目文件 Pinball.atmcproj
工作单元 WorkUnit_Pinball


注意
该范例项目的CueSheet管理于"WorkUnit_Pinball"工作单元。
如需编辑Cue并预览它,请邮件项目树中的"WorkUnit_Pinball"并选择"Edit work unit"。
cri4u_samples_criatom_script_data_pinball_workunit.png

数据描述

用于弹球游戏的声音数据。ADX的各种功能将从少量声音素材中创建出多种声音。
各个Cue的声音设置的概述如下。
请将它们作为创建声音的参考,用于你自己的项目中。

一般设置:DSP母线设置

"Reverb(混响)"效果于DSP bus 1设置,"Echo(回音)"效果于DSP bus 2设置。
各个母线的传送设置被设往DSP bus 0 (= 最终输出)。请注意如果不连接DSP bus 0,将听不到任何声音。
该范例数据在各个Cue上使用了大量的混响与回音。
你可以选中各个Cue的音轨,并且查看FX/AISAC面板的FX1标签中的bus send settings,以确认混响和回音效果是如何应用的。
cri4u_samples_criatom_script_data_pinball_dsp.png

cri4u_samples_criatom_script_data_pinball_bussend.png

公用: 限制的声音数量

在该项目的数据中,配置了"Cue limit"以限制每个Cue可同时播放的声音数量。
举例,对于球击打墙壁的声音而言,上限被设为1并设置了后进先出的优先顺序;然而对于球击打对象的声音而言,上限被设为1并设置了先进先出的优先顺序。
这防止数据当短时间从程序收到了大量的回放请求时,同时回放太多的声音。它同样防止某个声音使用程序中声音的最大数量(=音频库的数量)。

cri4u_samples_criatom_script_data_pinball_cuelimit.png

球击打墙壁的声音

球击打墙壁的声音是由Ball Cue创建的。
该Cue将从游戏中,以参数的形式接收球击打墙壁的速度,使我们能够更改它的声音。

cri4u_samples_criatom_script_data_pinball_ball.png

AISAC功能将用于更改声音。
它使用了同样的输入值(AISAC control 0:Any)来微调三种参数。
三种参数分别为音高(蓝色图表),双二阶滤波器的截止频率(红色图表),以及双二阶滤波器的Q值(橘色图表)。
如使用阶梯图表,音高将调整至一个大约值。
如需在工具中预览,你可以将AISAC标签中的光标用于游戏输入。
如需使用AISAC的游戏的描述,请查看 " 游戏: 弹球 " 脚本范例。
如需了解更多有关AISAC功能的信息,请同样查看 " [CriAtom] AISAC " 基本范例。

丢失球的声音

丢失球的声音在BallLost Cue中创建。
该Cue拥有三个功能:
  • 同时回放多音轨
  • 由音轨自动化处理声音
  • 使用Cue link功能调用另一个Cue(声音线路)

cri4u_samples_criatom_script_data_pinball_balllost.png

该Cue含有三个音轨,它们都将同时播放。
如需同时配置多音轨的回放,请将Cue的"Type"设置为"Polyphonic"。
其他Cue(HitTarget以及BGM)同样播放多个音轨。
该Cue最先的两个音轨使用音轨自动化功能来更改音高。
波形数据的蓝色图表表示了音轨自动化设置。
它完全地更改了原来的声音(glass.wav)。
它同样应用了一些混响与回音,使声音更加令人印象深刻。
Bumper Cue也使用了音轨自动化进行相似的声音处理。
在第三个音轨中,另一个由声音线路创建的Cue "aaa",使用了"Cue link"功能来安置。
因此,任何在"aaa" Cue设置中的更改都将影响BallLost Cue。
如需创建一个Cue link,请在工具中选择一个Cue,然后将它拖放至你想要安置的音轨时间上。

当球丢失时的声音线路

在球丢了的时候播放的声音线路是由aaa Cue创建的。
该Cue由一个Cue link,从一个丢失球的声音(BallLost)调用。
该Cue拥有两个功能:
  • 多音轨的随机回放
  • 当播放声音线路时,减小音乐以及音效的音量

cri4u_samples_criatom_script_data_pinball_aaa.png

该Cue含有四个音轨,只有一个音轨是随机播放的。
如需配置回放,将Cue的"Type"设置为"Random & no repeat"。这意味着音轨将被随机选中,但它不会被连续选中两次或以上。
这给当球丢失时所播放的声音线路增加了变量。同样添加了明显的回音效果,使声音线路听起来更加令人印象深刻。
当播放声音线路时,减弱音乐以及音效的音量的配置同样是用了类别与REACT功能。
在一般设定中,有三个类别,"Other", "Voice", 以及 "Music"被创建了。
aaa Cue分配至"Voice"类别。其他的Cue被分配至"Music"和"Other"类别。
REACT已被配置,所以当Voice类别的Cue进行播放时,Music类别的音量将自动减小。

cri4u_samples_criatom_script_data_pinball_react.png

REACT "Music_Voice"已被配置,一次当Voice类别被播放时,Music类别的音量将被减小至0.20。
在REACT设置屏幕的底端显示了各个类别的Cue。你可以选择并在此处播放Cue,以确认REACT是如何影响Cue的。
在该范例中,REACT "Other_Voice"以同样的方式被配置了。当声音线路被播放时,音效的音量将减小。
当声音线路开始播放时,正在播放的音效也将减小音量。
REACT使音量减弱能够完全地在工具中进行配置,即不需要一个编程器的帮助。
如需了解更多有关类别以及REACT功能的信息,请同样查看 " [CriAtom] 类别 " 基础范例。

球击打目标的声音

球击打目标的声音是由HitTargetCue创建的。
它与一个简单的Cue相似,同样的声音在稍微不同的时间点进行播放,但它的声音将会产生变化。
该Cue使用了AISAC,以稍微不寻常的方法来更改声音。
  • 它使用随机AISAC control value(控制值)来更改音高
  • 它同样使用了AISAC自动调音,在回放期间更改音高
两种在该Cue中使用的AISAC实际上不从程序中获取任何输入。
运用AISAC更改的音高(AISAC control 0:Any)将为整个Cue进行设置。

cri4u_samples_criatom_script_data_pinball_hittarget_random.png

音高的随机化不需要使用AISAC。举例,你只要将FX/AISAC面板的FX1标签中的音高滑块上下拖动,就能简单地设置好它。然而,该方法将在音高的随机化范围之内选择任意数值。
对于如在该Cue中使用的hajiku.wav声音来说,音高的细微更改可能会听起来有些奇怪。如需避免该问题,我们使用阶梯图表,以仅允许音高的特定数值,然后随机化AISAC的输入数值。<BR> 在创建AISAC图表(如为球击打墙壁的声音创建)后,control type将被设置为"Random"以及random width被设置为2.00。
随机范围将在AISAC图表的顶端,显示为滑块区域中的绿色区域。
(AISAC控制值是根据程序指定的数值中心,从随机范围内随机选择的。如将random width设为2.00,那么任何由程序为AISAC控制值指定的数字,其数值将会在0.0以及1.0之间。)
使用AISAC所更改的音高 (AISAC control 1:Distance) 将于第一个音轨中设置。

cri4u_samples_criatom_script_data_pinball_hittarget_auto.png

请注意AISAC的control type(控制类型)为"Auto-modulation(自动调音)"。
auto-modulation的type将被设为"Loop"以及time被设为2000 ms。
音高变化的图表为山的形状,其顶端将在横轴的0.5上。
AISAC的自动调音能自动地跟随时间更改AISAC控制值。因此由程序设定的参数将被忽略。
该Cue已被配置,因此AISAC控制值在两秒钟后可从0.0更改至1.0,并且将会重复更改。
因此,如同"砰!"的声音将被创建。
AISAC的自动调音可用于跟随时间(在这里为两秒钟的循环)做出周期性变化。
音轨自动化在某些方面与它相似,然而它更适用于并非周期性的声音变化。

扁板的声音

扁板的声音由Paddle Cue创建。
参数以及混响/回音的随机化再次用于创造声音的变量,另一方面依旧让实施方法在变成方面保持简单的状态。

cri4u_samples_criatom_script_data_pinball_paddle.png

Cue的音量以及音高被随机化,以稍微地更改声音。
滑块两边的绿色区域显示了随机范围。
你可以上下滑动滑块以更改范围。

音乐

音乐由BGM Cue创建。
该项目的BGM并不是一个长的波形数据。相反的,它使用了许多短的波形数据将音乐编为整体。
使用了ADX的块回放函数,来根据丢失的球数更改音乐。
以下部分显示了系统的概述。

cri4u_samples_criatom_script_data_pinball_bgm.png

在该Cue中,七个音轨被分为四个块。
程序将增加块的索引 (从左开始0, 1, 2, ... ) 以根据丢失的球数来播放。
(如需了解更多有关程序的信息,请查看 " 游戏: 弹球 " 范例。)
将各个块的"Number of block loops"设为-1(无限循环), 而"Number of divided blocks" 设为2, 以及"Block transition type"设为"Specified division"。
块已被分割,以增加过渡点的数量,因此由程序发出的块更改请求能够被快速地处理。
音轨5至7用于在块过渡时创建声音。
音轨5和6仅在下个回放事件切换块时进行播放。
如果"Block transition play type(块过渡的类型)"设为"Play at transition",那么音轨的背景将更改为斜纹向上
音频7仅在到达块时进行播放。
如果"Block transition play type"设为"Play at the first transition"那么音轨的背景将更改为斜纹向下
如需更改块过渡的类型,请选中一个音轨并右键。

cri4u_samples_criatom_script_data_pinball_blocktype.png

音轨5至7被标为浅绿色以及鲜红色,因此他们能被很容易地看见。 哪怕更改了块过渡的类型,它们的颜色也不会被自动更改。