イントロループをブループリントで作る
こんにちは
イントロループをサウンドキューで作るのブループリント版を作りました。
こちらのほうがかなり楽です。
ループ部分が最初からループするように準備
コンテンツブラウザ上で、ループ部分のサウンドウェーブをダブルクリックして、
ループ部分が最初からループするようにLoopingにチェックを入れます。
BGMを鳴らすアクタを作る
まず、Audio Componentがくっついているアクタを作ってください。
下のようになっていればOK
つぎに、
- イントロ部分の変数(Sound Base)
- ループ部分の変数(Sound Base)
- イントロが終わってからどれだけ間を開けるかの変数(Float)
を追加します。

イベントグラフにイベントを追加
イベントグラフに、イントロが始まったことを通知するカスタムイベント(Event Begin Play BGM)を追加します。
イントロの長さが取得できるので、
イントロの長さ+PlayLoopDelayだけ待ってからループ部分を再生する処理を書きます。
BGMを鳴らす関数を作る
BGMを鳴らす関数「Play BGM」を作ります。

イントロとループ部分をセットする処理を追加
Introがセットされていたらイントロを再生してさっき作ったイベント(Event Begin Play BGM)を呼ぶ処理を書きます。
Introがセットされてなかったらループ部分を再生するだけにします。
これで、関数Play BGMが呼ばれるとイントロループを処理するアクタができました。
おまけ
イベントグラフでEvent BeginPlayを使えば
アクタがスポーンされたら再生するようにもできます。