【TopDown Engine】Demoを元にオリジナル要素を加えてみよう-その3-(BGMの追加)

スタートシーン TopDownEngine
スポンサーリンク

前書き

TopDown Engineのデモシーンをカスタマイズし、自分だけのオリジナルゲームを作っていく記事の第3回目となります。

これまでの記事では、プレイヤーキャラクターの変更やクリア条件のカスタマイズについて紹介してきました。しかし、まだまだ物足りない部分も多くあります。例えば、MinimalScene2Dという非常にシンプルなシーンには、BGM(バックグラウンドミュージック)が設定されていません。ゲームにおいて音楽は雰囲気作りにおいて非常に重要な要素であり、BGMがないとどうしても「寂しい」「物足りない」という印象になってしまいます。

そこで今回は、TopDown Engineのデモを参考に、MinimalScene2DにBGMを追加する方法をご紹介します。これからTopDown Engineでゲームを作っていこうと考えている方にも役立つ内容となっていますので、ぜひ最後までご覧ください。

前回の記事はこちらからご確認いただけます。

DemoはどうやってBGMを設定しているのか?

まずは、BGMが設定されている代表的なデモシーン「KoalaDungeon」の構成を見てみましょう。ヒエラルキーを見るとBackgroundMusicというオブジェクトがあり、このなかにBackgroundMusicコンポーネントがアタッチされています。

この BackgroundMusicコンポーネントには SoundClipというプロパティがあり、ここに流したい音楽のAudio Clipを指定することで、シーン開始とともにBGMが自動再生される仕組みになっています。コンポーネントの実装を見ると、Start()メソッド内で指定されたSoundClipを再生しているのが分かります。

つまり、BGM再生の基本的な仕組みはこのBackgroundMusicコンポーネントによって完結しているということになります。

BackgroundMusic

音量の調整はどこで行っているのか?

BGMが再生できるようになったら、次に気になるのは「音量の調整」です。

ヒエラルキー内を見てみると、MMSoundManagerというオブジェクトがあり、ここには MasterTrack MusicTrack などの複数のTrackが含まれています。これらは各種オーディオの音量や効果を管理する役割を担っています。

MMSoundManager

さらに詳しく見ていくと、MMSoundManager の Settings So プロパティに指定されている MMSoundManagerSettings を開くことで、Audio Mixerや各種グループの設定内容が確認できます。

この中で最も重要なのが TargetAudioMixer の項目です。ここで指定されているAudio Mixerこそが、全体の音量管理を統括しているミキサーアセットになります。

MMSoundManagerSettings

TargetAudioMixerMMSoundManagerAudioMixer

 TopDownEngine->
  ThirdParty->
   MoreMountains->
    MMTools->
     Tools->
      MMAudio->MMSoundManager->
       Settings

のフォルダにあります。

MMSoundManagerSettings

このファイルを開くとUnityのAudio Mixerウィンドウが表示され、そこから各トラック(Master/Music/Sfx/UIなど)の音量や効果(Pitchなど)を自由に調整することが可能です。

MMSoundManagerAudioMixer

実行中に音量を調整してみる

実際にDemoを動かして音量の調整ができるか試してみましょう。Audio Mixerの右上にある Edit in Playmode ボタンをクリックすると、ゲーム実行中でもリアルタイムで音量やPitchの変更が可能になります。

Pitch

そのときの実行動画は以下になります。たとえば、Music トラックの Volume を -80dB に設定してみると、BGMがほぼ無音になることが確認できます。逆に 0dB に戻せば、元の音量で再生されるようになります。

なお、各種効果音やUI音などがどのトラック(Group)に割り当てられているかは、実装によって異なります。多くの場合は Feedbacks を通じて個別にGroupが指定されており、それぞれ Sfx や UI トラックに割り当てられています。

Groupの設定
Groupの設定

今まで作ったMinimalScene2D_TestにBGMを適用してみる

では実際に、今まで作成してきたMinimalScene2D_TestにBGMを設定してみましょう。

手順としては以下の通りです:

  1. KoalaDungeon シーン内にあるBackgroundMusicオブジェクトをPrefab化する
  2. 作成したBackgroundMusic Prefab をMinimalScene2D_Testに配置
  3. 必要に応じてSoundClipを自分の好きなBGMファイルに差し替える
MinimalScene2D

BackgroundMusicを設定したMinimalScene2Dを実行してみました。KoalaDungeonで設定されたBGMがMinimalScene2Dでも聞こえるようになったことが分かりますね。

BGMの切り替えも可能

ただし、このままだと常に同じBGMしか再生されません。ゲームによっては、特定のイベント(例:ボスの登場)に応じてBGMを切り替えたいというケースも多いかと思います。

そういった場合は、Feedbacks を利用することでシーン内でBGMの変更を行うことが可能です。BGMの切り替えに関しては別の記事で詳しく解説していますので、興味のある方はこちらもぜひご確認ください。

まとめ

今回は、TopDown Engineのデモを参考にしてBGMを設定する方法をご紹介しました。

  • KoalaDungeonでは BackgroundMusic コンポーネントを使ってBGMを再生している
  • 音量調整は MMSoundManagerSettings から指定されたAudio Mixerを使って行う
  • Mixerウィンドウからリアルタイムに音量やPitchを変更可能
  • Feedbacksを使えばシーン中のBGM変更もできる

MinimalScene2Dのようなシンプルなシーンでも、BGMを加えるだけで大きく印象が変わります。今回紹介した方法をベースに、ぜひご自身のプロジェクトに音の演出を取り入れてみてください!

コメント

タイトルとURLをコピーしました