UE4初心者が頑張ってるブログ

Unreal Engine4を使用した開発メモ、及びそれに関連することについて不定期に書いています。

UE4 Audio Component内のイベントについて見ていく

えー、先日Audio Component内にイベントがあるということを「初めて」知りました。

知らないものの中に便利なものって結構あるんだな。と思いました。 

 

そこで今回はAudio Componentの中にあるイベントについて

まとめてみたいと思います。

 

使用したUE4のバージョンは4.16.2です。

f:id:MozPaca:20170728145521j:plain

 

(私の)準備

適当なブループリントを作成します。

コンテンツブラウザから右クリック→Blueprint Classを選択します。

f:id:MozPaca:20170728150108j:plain

 

親クラスはActorを選択してください。

f:id:MozPaca:20170728150223j:plain

 

適当な名前をつけて保存します。

f:id:MozPaca:20170728150327j:plain

 

イベントの出し方

作成したActorブループリントをダブルクリックで開きます。

 

左上のAdd ComponentからAudio Componentを追加します。

f:id:MozPaca:20170728150407j:plain

 

追加したAudio Componentを右クリックすると、

Add Eventから各イベントが出るので、必要なイベントを使ってください。

f:id:MozPaca:20170728150605j:plain

 

ここから本題

 

On Audio Finished (Audio)

f:id:MozPaca:20170728145027j:plain

オーディオ再生が完了した(最後まで演奏した)もしくは

Stop()などでオーディオを停止したときに走るイベントです。

 

爆発音を設定し、イベントが発生するとログが流れるように処理を書きます。

f:id:MozPaca:20170728154106j:plain

 

確認してみましょう。

再生が完全に終了したタイミングでログが流れると思います。

www.youtube.com

 

Physics Volume Changed (Audio)

f:id:MozPaca:20170728145042j:plain

Physics Volumeが変更されたときに走るイベントです。

New Volumeは変更後のPhysics Volumeの値を返します。 

 

New Volume(Physics Volume Reference)

変更後のPhysics Volumeの値を返します。

 

On Audio Playback Percent (Audio)

f:id:MozPaca:20170728145057j:plain

サウンドが再生されている間走るイベントです。

Playing Sound Wave(Sound Wave Reference)

現在Audio Componentによって再生されているサウンドファイルを返します。

 

Playback Percent(Float)
サウンドの再生時間を返します。

 

再生時間をログで表示する処理にしてみました。

f:id:MozPaca:20170729195058j:plain

 

www.youtube.com

 

 

On Component Activated (Audio)

f:id:MozPaca:20170728145113j:plain

Audio Componentが起動したときに走るイベントです。

 

Component(Actor Component Reference)

 

Reset(Boolean)

 

On Component Deactivated (Audio)

f:id:MozPaca:20170728145130j:plain

Audio Componentが無効化されたときに走るイベントです。

 

Component(Actor Component Reference)

 

ゲーム開始から5秒後にAudio Componentを
Deactiveノードで無効化します。

f:id:MozPaca:20170728161927j:plain

 

www.youtube.com

 

それぞれの全てを確認したわけではありませんが、

かなり有用なものが多いです。

 

どうして今まで知らなかったんだろう...