CRI ADX2(Unreal Engine4)
中級編20 大量のキューを含むキューシートの取り扱い

Unreal Editor にACBファイルをインポートした際、デフォルト状態では、キューシート内に含まれる全てのキューが全てAtom Cueアセットとして展開されます。
そのため、下記のような問題が発生する可能性があります。

(1) 大量のキューを含むACBファイルをインポートする際に読み込みに時間がかかってしまう
(2) プロジェクトの中に大量のAtom Cueアセットを抱えるようになると、管理が大変

そこで、ACBファイルインポート時のAtom Cueアセット作成をスキップする方法をご紹介します。

音を鳴らす前に

説明上の混乱を避けるため、前回のチュートリアルでレベルに配置した音とレベルブループリントに配置したノードを取り除いてください。

Atom Cue Sheetのみのインポート

ACBファイルインポート時には、「Import Atom Cue Sheet」ウィンドウが開くようになっています。
このウィンドウ内の設定をデフォルトの状態でACBファイルのインポートを行うと、AtomCueアセットが生成されないようにするためには、「Import Atom Cue Sheet」ウィンドウ内の「Presets」の「New Asset」という項目のうち、「Do Not Create」を選択すると全てのAtomCueアセットが生成されなくなります。

以上で、ACBファイルインポート時(または再インポート時)にAtom Cueアセットが作成されないよう動作が変更されます。
(Atom Cue Sheetアセットのみが作成されます。)
また、「Import Atom Cue Sheet」下部に表示されているキュー名のチェックボックス内の、アセット生成が不要となるキューのチェックを外すことで、そのキュー内の任意のAtomCueアセットのみの生成がされなくするように設定することもできます。

音を再生するには?

プループリント上で次の手順を実装します。

(1) キューシートをロード済みの状態にする
(2) 「Get Atom Cue by Name」ノードを使って Atom Cue を取得する
(3) Spawn系ノードを使って再生する

(1) キューシートをロード済みの状態にする

今回は「Load Atom Cue Sheet」ノードを使ってみましょう。
BeginPlay時にキューシートがロードされるようにします。
例として「SimpleMusicAcb」をロードする図を示します。(素材は入門編01で配布済み)

(2) Atom Cue を取得する

今回はキーボードの「1」が押されたときに「Get Atom Cue by Name」ノードが実行されるようにします。
例として「simple_se」を取得する図を示します。

(3) Spawn系ノードを使って再生する

「Spawn Sound 2D」ノードや「Spawn Sound at Location」ノードを使って再生します。
今回は「Spawn Sound 2D」ノードを使ってみましょう。

音を鳴らしてみる

ブループリントをコンパイルし、ゲームを開始してください。
キーボードの「1」を押したときに音が鳴れば成功です。

音が鳴らず、「ロード中」と表示された場合は少し待ってからキーを押してみてください。

author:小野 正貴