ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Unity - Audio Mixer について -

初めに

 Audio Source の音量を一括で管理することができる Audio Mixer についてまとめます。

Audio Mixer とは

 Unity のオーディオミキサーでは、いろいろな音源をミックス(音量バランスや音色などを調整)したり、それにエフェクトをかけたり、マスタリング(最終調整)を行ったりすることができます。

docs.unity3d.com

前提知識

 Unity では Audio Source、Audio Clip、Audio Listener の3つを用いて音を再生し、聞きとれるようにします。これらについては、こちらの記事をご覧ください。

fineworks-fine.hatenablog.com

Audio Mixer でできること

 グループごとにミュートにしたり、エフェクトをかけたりできる

  • エフェクトをかける

 エコーをかけたり、周波数の高い(低い)部分をカットしたりできる

  • SnapShots(スナップショット:音量、エフェクトなどのすべての設定を保存)し、スクリプトから切り替え可能

 会話中は BGM の音量を下げるなど音量の調整ができる

実際に使ってみる

Audio Mixer を生成

Assetsを右クリック→Create→Audio Mixer で生成できます。

Audio Mixer ウィンドウを確認する

Window→Audio→Audio MixerをクリックするとAudio Mixer ウィンドウが表示されます。


グループ化

 Audio Source のグループ化をします。

  • Group の右にある + をクリックし、新しいグループが作る

 Audio Mixer を確認すると作成したグループの Group Controller が作られていることが分かります。


  • グループ化したい Audio Source の Output に Audio Mixer Group Controller をドラッグ&ドロップする

 今回は BGM 用の Audio Source には BGM の Group Controller を、SE 用の Audio Source には SE の Group Controller をドラッグ&ドロップします。

実行してみる

 Audio Mixer を使ってみます。動画のように、グループごとに音量を調整することができます。

Snapshots

 Snapshots を使い、Audio Mixer の設定を保存、切り替えをします。
〇 保存は Snapshots の右の + をクリックすればできます。

 Audio Mixer を確認すると Snapshots が保存されていることがわかります。

〇 Snapshots の切り替えはスクリプトから切り替えられます。

 次の2つの関数を用いて、Snapshots の切り替えができます。

  • AudioMixerSnapshot.TransitionTo
  • AudioMixer.TransitionToSnapshots

 AudioMixerSnapshot.TransitionTo は Snapshot に引数秒後に遷移させます。引数は float(遷移までの時間)になります。

 AudioMixer.TransitionToSnapshots は複数の Snapshot の遷移をさせることができます。引数は AudioMixerSnapshot(複数のSnapshot), float(それぞれの Snapshot の重みづけ), float(遷移までの時間)になります。

docs.unity3d.com

docs.unity3d.com

Effect

 グループごとにエフェクトをかけることができます。Audio Mixer ウィンドウのグループを選択すると Inspector の Add Effect が表示されます。ここからエフェクトを追加できます。

 各エフェクトの説明は公式の説明に任せます。次のリンク先をご覧ください。

docs.unity3d.com

 下の画像の部分にエフェクトの説明がまとめてあります。

最後に

 Audio Mixer についてまとめました。Slider から音量調整できるようにする際、スクリプトから Audio Mixer を操作することもできます。すべての Audio をまとめて管理できるため、使えるとかなり便利なのではないでしょうか。