【Unity】 音量の変更方法をまとめてみた

環境

Unity2018.412f1 時点での音量の変更方法を軽くまとめています。

元の音量を上げる

一つの音声ファイルだけ変更するなら元の音量を調整するのもありです。 たとえばMP3なら以下のサイトならWeb上で音量の変更ができます。

www.mp3louder.com

音量変更方法

音量変更方法は何種類かあります。

Audio Settings

Unity2018.2以前ではAudioManagerという名称です.

Edit → Project Settings → Audio → Global Volmeからゲーム全体の音量を変更できます。 基本的に使うことはない。

f:id:Brave345:20191208005108p:plain

コードだと以下のやり方でゲーム全体の音量を変えれます。 こちらも基本使わないです。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChangeAudio : MonoBehaviour
{
    public float volume;
    void Start()
    {
        AudioListener.volume = volume;
    }
}

2020/5/8追記 使い方を見つけました。

bravememo.hatenablog.com

AudioSource

・Volume

おそらく一番使われるだろう方法 AudioSourceのVolumeを変更すれば音量を変更して音を鳴らせます。

f:id:Brave345:20191208005202p:plain

音量の変更方法例

public class ChangeAudio : MonoBehaviour
{
    public float volume;
    void Start()
    {
        //アタッチされているAudioSource取得
        AudioSource audio = GetComponent<AudioSource>();
        audio.volume = volume;
    }

}

・Stereo Pan

左右に出る音の割合を変更できる。 片耳だけ鳴らしたい時とかに使う。

・Spatial Blend

この値が大きいほどAudioListenerがついてるゲームオブジェクトと遠いほど音が小さくなる。

AudioMixer

細かい音量調整するならこれ

BGMとSEを別にして音量調整するのが比較的楽に出来る

音量の調整部分だけ紹介します。 細かい使い方は他の記事を参考にしてください。 音量の調整は以下の部分から変更できます。

f:id:Brave345:20191208005259p:plain

Timelineでの音量変更

AudioTrackを使うことで以下の部分でフェードイン、フェードアウトの設定できます。

f:id:Brave345:20191208005327p:plain

AudioSourceやAudioMixerの音量をTimeLineに反映させたい場合、以下のようにAudioSourceコンポーネントをトラックに入れてデータを紐づけさせることができます。

f:id:Brave345:20191208005341p:plain

その他

サウンドミドルウェア

CRI ADX2等でも音の調整ができる。 game.criware.jp

・Audio DSPGraph

現在開発されている新しいAudioシステム

・Shader

Shaderで音を鳴らす方法があるらしい

オススメの本

Unityサウンドの実装するにあたっての必要な情報がそろっており、実用性が高い本なのでオススメです。


Unityサウンド エキスパート養成講座