CriWare Unreal Engine
Plug-ins for CriWare solutions.
読み取り中…
検索中…
一致する文字列を見つけられません
ADX チュートリアル No.18 : 音を鳴らしたままパーシスタントレベルを切り替える

通常、パーシスタントレベルを切り替える際に音声は停止します。
しかし、音を鳴らしたままパーシスタントレベルを切り替えたいこともあるでしょう。
今回はその方法について解説します。

音を鳴らす前に

説明上の混乱を避けるため、前回のチュートリアルでレベルに配置した音とレベルブループリントに配置したノードを取り除いてください。
また、本稿の趣旨に沿って、遷移先レベルとなる新たなパーシスタントレベル「NextLevel」を追加してください。

GameInstanceブループリントクラスを作成する

新しいブループリントクラスを作成します。
このとき親クラスとして「GameInstance」を選択してください。

今回は「AtomGameInstance」という名前にしましょう。
次にAtomGameInstanceブループリントクラスの編集画面を開いてください。

変数を1つ追加します。
型はAtomComponentの「Object Reference」を選択してください。
今回は「MyAtomComponent」という名前にしましょう。


ここまでの設定が完了したらブループリントをコンパイルしてください。

GameInstanceブループリントクラスを使用する

プロジェクト設定の「マップ&モード」ページを開いて、「Game Instance Class」という項目を見つけてください。
その設定を「AtomGameInstance」に変更します。

音声を再生する

キューを再生するためのユーティリティ関数はいくつか存在しますが、今回は「Spawn Sound 2D」を使用します。
Blueprintエディタを右クリックして「Atom」->「Spawn Sound 2D」を選択してください。

ThirdPersonMapのレベルブループリントを開き、BeginPlayイベントノードを追加してください。
BeginPlayのとき「Spawn Sound 2D」を実行するように編集してください。「Sound」ピンにはキューアセットへの参照を指定してください。
おすすめは「SimpleMusicAcb」キューシートに含まれる「simple_bgm」キューアセットです。
キューシートアセットの詳細画面を開き、表示されたキューアセットのリストから目的のものをドラッグ&ドロップして指定するのが簡単です。
次に「Spawn Sound 2D」ノードの「Persist Across Level Transition」ピンにチェックを入れてください。また、「Return Value」を AtomGameInstance の MyAtomComponent 変数にセットしてください。

設定は以上です。 この方法で音声を再生すれば、パーシスタントレベル切り替え時に音声が止まることはありません。以上でThirdPersonMapを起動するとすぐに simple_bgm の再生が始まります。
適当なキー入力でOpenLevelノードを実行し、レベル遷移をしても音が止まらないことを確認してみてください。