包含大量Cue的Cue Sheet处理

如何处理包含大量Cue的Cue Sheet

将ACB文件导入虚幻编辑器时,预设状态下Cue Sheet中包含的所有Cue都作为Atom Cue Asset展开。
因此,如果导入包含大量Cue的ACB文件,编辑器会拖延较长时间从而可能影响作业。
将声音分配给关卡、角色动画和音序器时,Atom Cue 资源是必需的,但是 如果您想以编程方式播放音频或在蓝图上动态生成 Atom Cue,则无需在编辑器中创建 Atom Cue 资源。
如果您不需要使用 Atom Cue 资产来实现应用程序的预期用途, 通过配置以下设置,您可以在导入 ACB文件时跳过 Atom Cue 资源的创建,并缩短所需时间。

如何禁用 Atom Cue 资源的创建

将CriWare项目设置的 [Atom]→[Automatically Create Cue Asset] 设置为OFF,更改为导入ACB文件时(或重新导入时)不创建Atom Cue Asset。
(仅创建Atom Cue Sheet Asset。)
criware_ue4_035_automatically_create_cue_asset_e.png

如何用蓝图从Atom Cue Sheet中获取Atom Cue

用蓝图API的 [Load Atom Cue Sheet] 等加载Atom Cue Sheet Asset,可以从已加载的Atom Cue Sheet中用 [Get Atom Cue By Name] 等获取Atom Cue。
例如,加载Sample(Atom Cue Sheet Asset),从其中获取Voice(Atom Cue)播放的处理如下。
criware_ue4_035_spawn_sound_2d_without_atom_cue_e.png

如何使用C++从Atom Cue Sheet中获取Atom Cue

用USoundAtomCueSheet::LoadAtomCueSheet函数等加载Atom Cue Sheet Asset,可以从已加载的Atom Cue Sheet中用GetAtomCueByName函数等获取Atom Cue。
例如,从加载 /Game/CRI/Sample.uasset(Atom Cue Sheet Asset)中获取voice(Atom Cue)后的播放处理如下。
USoundAtomCueSheet * CueSheet = USoundAtomCueSheet::Find("Sample", "/Game/CRI");
USoundAtomCueSheet::LoadAtomCueSheet(CueSheet);
USoundAtomCue * SoundData = CueSheet->GetAtomCueByName("voice");
UAtomStatics::SpawnSound2D(GetWorld(), SoundData);

关于Atom Cue Sheet的Load/Remove按钮

编写的位置已更改。
原始 ACB 数据包含/不包含设置