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

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

UE4 Dopplerノードを試してみた

UE4のSound Cueの中にDopplerというノードがあります。

今回はこのDopplerノードを使って見たいと思います。

 

ちなみに

ドップラー効果(ドップラーこうか、英語: doppler effect)

またはドップラーシフト(英語: doppler shift)とは、

波(音波や電磁波など)の発生源(音源・光源など)と

観測者との相対的な速度の存在によって、

波の周波数が異なって観測される減少をいう。

by wikipedia

 

救急車のピーポーピーポーとかが、

分かりやすい例だと思います。

 

準備

では、そのピーポーピーポーを作りましょう。

適当な作曲ソフトで「シーソーシーソー」と打ち込み、

救急車のサイレン音を.wavで書き出します。

f:id:MozPaca:20170621173409j:plain

 

書き出しました。

f:id:MozPaca:20170621174041j:plain

 

ちなみに作ったものはこんな感じ。

サイン波のシーソーシーソーです。

(モノラル音源です)

www.youtube.com

 

プロジェクトを作成する

UE4のプロジェクトを作成していきます。

バージョンは4.16.1を使用します。

f:id:MozPaca:20170621173953j:plain

 

テンプレートは使用せず、Blank Projectで

Starter Contentsは無しにして作成します。

f:id:MozPaca:20170621174325j:plain

 

作りました。

f:id:MozPaca:20170621174427j:plain

 

Sound Cueを作成する

先程作成した.wavファイルをUE4プロジェクト内にインポートします。

f:id:MozPaca:20170621174711j:plain

 

インポート完了後、wavファイルを

右クリックからキューを作成を選択します。

f:id:MozPaca:20170621174920j:plain

 

.wavファイルのSound Cueが作成されました。

f:id:MozPaca:20170621175022j:plain

 

減衰ファイルを作成する

次にサウンドを距離によって音の大きさを変更するために

Sound Attenuation(サウンド減衰)を作成します。

 

コンテンツブラウザを右クリックから、

Sound→Sound Attenuationを選択します。

f:id:MozPaca:20170621175147j:plain

 

作りました。

f:id:MozPaca:20170621175157j:plain

このファイルを開くと、減衰用のパラメータの変更が可能です。

今回は「ほぼ」デフォルトのままです。

 

Sound Cueを編集する

作成したSound Cueファイルを開きます。

 

まずはwaveノードを選択し、

左側のDetatilsタブのLoopingにチェックを入れます。

これでサウンド終了後に自動的に初めから再生されます。

f:id:MozPaca:20170621175102j:plain

 

次にOutputノードを選択し、

DetailsタブのAttenuation Settingに

先程作成した、減衰ファイルを入れます。

f:id:MozPaca:20170621175754j:plain

 

そしてWaveノードとOutputノードの間に

Dopplerノードをはさみます。

f:id:MozPaca:20170621180344j:plain

 

通り過ぎる物体を作成する

別に作成せずとも自分が動けばドップラー効果

確認できますが、せっかく作ったので手順を書いておきます。

 

コンテンツブラウザから右クリック

Blueprint Classを選択します。

f:id:MozPaca:20170621180454j:plain

 

親クラスはActorクラスを使用します。

f:id:MozPaca:20170621180719j:plain

 

作りました。

f:id:MozPaca:20170621180748j:plain

 

ブループリントを編集する

作成したActorブループリントを開き、

コンポーネントを追加からAudioコンポーネントを追加します。

f:id:MozPaca:20170621180921j:plain

 

AudioコンポーネントのパラメータにSoundというものがあるので、

先程編集したSound Cueファイルを入れておきます。

f:id:MozPaca:20170621181015j:plain

 

次に視覚的にわかりやすくするために、

球体のStatic Meshコンポーネントを追加します。

f:id:MozPaca:20170621181111j:plain

 

最後にイベントグラフで

このように処理を書きます。

f:id:MozPaca:20170621181207j:plain

毎フレームY軸に-3ずつ移動します。

 

これでブループリントの編集は終了です。

 

レベルにブループリントを配置する

このようにActorブループリントをレベル上に配置します。

Audioコンポーネントに入れたSound Cueが

再生されながら自分に近づいてきて、遠下がっていくと思います。

f:id:MozPaca:20170621181258j:plain

 

確認してみる

実行して確認してみましょう。

www.youtube.com

(パラメータを色々変更しました)

 

私の調整が下手なせいかイマイチ

ドップラー効果が実感できませんが、

ノードひとつでエフェクトを掛けられるので

非常に面白いと思います。