BLOGブログ

2026.01.28UE5UE/ Audio

[UE5]角度による音響演出 – MetaSounds Interfaces

執筆バージョン: Unreal Engine 5.7

ヘイガイズ!エンジニアの片平です!

今回は MetaSounds Interfaces を使用して、
音源とリスナーの角度によって変化する音響演出を実装していきます!

MetaSounds Interfacesとは

公式ドキュメントを引用すると

「インターフェースでは、特殊な入力と出力へのアクセスを提供することで、MetaSound を Unreal Audio Engine の他のシステムと連動させることができます。」

とのことです。

MetaSounds には、あらかじめ用意されたインターフェースがいくつか存在しており、
それらを利用することで BP や C++ を一切書かずに様々なパラメータに応じた音響変化を実装できます。

今回はその中から 「UE.Spatialization」インターフェースを使い、
リスナーから見た音源の角度によって音が変化する演出を作成します。

MetaSound について

MetaSound の基本的な機能については、当ブログの下記記事で紹介しています。

再生や出力などの基本的な説明は本記事では省略しますので、
MetaSound 自体が初めての方は、先にこちらをご参照ください。

[UE5] ハンズオン! UE5サウンド新機能”MetaSounds”で効果音を加工してみよう!

作るもの

白い円錐が音源となる Actor です。

視界の中心に音源があるときはクリアに聞こえ、
視界から外れていくにつれて徐々にノイズへ変化していきます。

作成手順

プロジェクトの作成

FirstPersonTemplate から新規プロジェクトを作成します。

レベルの作成

レベルは FirstPersonTemplate の「Lvl_FirstPerson」 をそのまま使用します。

音源ファイルのインポート

TTS を使って、MetaSounds に喋らせる音声を適当に用意しました。

こちらをUE5にインポートします。

ノイズについては、Engine Content 内の /Engine/EngineSounds/WhiteNoise を使用するため、
新たに用意する必要はありません。

MetaSoundsの作成

Audio → MetaSound Source から新しい MetaSound を作成します。

名前は 「MS_SoundSource」 とします。

今回は素材がモノラル音源のため、

Output Format もモノラルのまま作成します。

インターフェースの追加

Interfaces > Add Interface… から UE.Spatialization を追加します。

デフォルトで UE.Source.OneShot が追加されていますが、
今回はループ再生する音源なので、削除しても問題ありません。

音源の再生

下記画像の通りにノードを組みます。

下記画像の構成になるようにノードを組みます。

  • Input ノードから「SpeechAboutMS」「WhiteNoise」 の 2 つの WavePlayer を同時に再生します
  • 「SpeechAboutMS」と「WhiteNoise」を乗算し、喋りのニュアンスを残したノイズを作ります
  • さらに「WhiteNoise」と 0.1 を乗算した音を加え、ベースとなるノイズ感も足します
  • 最終的に、これらを Mono Mixer でミックスします

角度でミックスを変える

追加で下記画像の通りにノードを組みます。

追加で、下記画像の通りにノードを組みます。

  • UE.Spatialization の Azimuth から、リスナーから見た音源の方位角を取得します
  • Azimuth を 0°(正面)〜180°(背面) として扱い、
    • ±10° まではスピーチ音が 100%
    • そこから ±30° にかけて、なめらかにノイズへ変化
  • ノイズは音量が大きいため、0.1 を乗算して音量を調整しています

再生用のActorを作成する

新しい Actor を作成します。

名前は 「BP_SoundSource」 とします。

オーディオコンポーネントと Cone を追加します。

Audio Component の Sound「MS_SoundSource」 を設定します。

レベルにActorを配置

作成した 「BP_SoundSource」 をレベルに配置します。

完成!

冒頭の動画と同じ挙動が確認できるはずです!

まとめ

今回は、リスナーから見た音源の角度によって音が変化する演出として、
音声とノイズを切り替える表現を作ってみました。

音量による指向性表現だけでなく、
フィルターやピッチを組み合わせても、さらに面白い効果が作れそうですね。

また、今回は 方位角(Azimuth) を使用しましたが、
MetaSounds Interfaces を使えば 仰角や距離 などの情報も取得できます。

過去にご紹介したインタラクティブミュージックの「縦の遷移」 も、
UE.Attenuation インターフェースの Distance ノードを使えば MetaSounds だけで実装を完結させることが可能です。

一歩先の音響表現を作りたいときは、ぜひ試してみてください!