大量のキューを含むキューシートの取り扱い

大量のキューを含むキューシートの取り扱いについて

Unreal Editor にACBファイルをインポートした際、デフォルト状態では、キューシート内に含まれる全てのキューが全てAtom Cueアセットとして展開されます。
そのため、大量のキューを含むACBファイルをインポートすると、エディタが長時間ストールし、作業に支障をきたす可能性があります。
Atom Cueアセットは、レベルやペルソナアニメーション、シーケンサに音をアサインする際には必要ですが、 プログラム経由で音声を再生する場合や、ブループリント上で動的にAtom Cueを生成する場合には、Atom Cueアセットをエディタ上で作成する必要はありません。
アプリケーションで想定している用途について、Atom Cueアセットを使用する必要がない場合には、 以下の設定を行うことで、ACBファイルをインポート時のAtom Cueアセット作成をスキップし、作業にかかる時間を短縮することが可能です。

Atom Cueアセットの作成を無効化する方法

ACBファイルインポート時に、ダイアログの"New AtomCue Assets"トグルを"Do Not Create"に設定します。
詳細は「 Selection cues linked with SoundAtomCue assets について 」をご参照ください。
criware_ue4_acb_importer_selection_of_cues.png

ブループリントでAtom Cue SheetからAtom Cueを取得する方法

ブループリントAPIの [Load Atom Cue Sheet] 等でAtom Cue Sheetアセットをロードし、ロード済みのAtom Cue Sheetから [Get Atom Cue By Name] 等でAtom Cueを取得可能です。
例えば、Sample(Atom Cue Sheetアセット)をロードし、そこからvoice(Atom Cue)を取得して再生する処理は、以下のようになります。
criware_ue4_035_spawn_sound_2d_without_atom_cue_j.png

C++でAtom Cue SheetからAtom Cueを取得する方法

USoundAtomCueSheet::LoadAtomCueSheet関数等でAtom Cue Sheetアセットをロードし、ロード済みのAtom Cue SheetからGetAtomCueByName関数等でAtom Cueを取得可能です。
例えば、/Game/CRI/Sample.uasset(Atom Cue Sheetアセット)をロードし、そこから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データの内容を自動でuassetに取り込みますが、動的にACBデータを読み込みたい場合もあると思います。

Atom Cue Sheetアセットの詳細にある"Remove"ボタンを押すことで
uasset内に取り込まれているACBデータを削除し自動で取り込まないようにします。
criware_atom_ue4_use_many_cue3_M.jpg
Atom Cue Sheetアセットの詳細にある"Load"ボタンを押すことでACBデータをuasset内に取り込みます。
criware_atom_ue4_use_many_cue4_M.jpg
注意
AWBファイルはuasset内に取り込まれることはありません。
ACBファイルをuasset内に取り込んだ場合でも、ストリーム再生用のAWBファイルを別途アプリケーションで管理する必要があります。