Unity C#でAudioSourceの音量・ボリューム(Volume)をスクリプトから変更する方法

IT

オブジェクトにセットしたオーディオソース(AudioSource)の音量を変更することで、ゲーム内の音量を調節する方法です。

スポンサーリンク

前準備

audiosource volume1
適当なオブジェクトにコライダーとオーディオソースコンポーネントを作成し、何か音源をセットしておきます。
audiosource volume2
確認用に、クリックすると音が鳴るようにしておきます。

ボリュームの変更

AudioSourceのボリュームを取得
GetComponent<AudioSource>().volume
audiosource volume4
オーディオソースの音量を変更するには、ボリュームパラメータを変更すればいいので、
audiosource volume3
コード的にはGetComponentでオーディオソースを取得し、volumeを変更するという形になります。
今回はマウスホイールの上下で音量が変わるようにしています。
unity 音量 スクロール
ゲームを実行すると、音量がホイールに合わせて上下し、再生される音源の音量が変わることが確認できます。
audiosource volume5
直接値で指定する場合は、0~1のfloat値で指定します。
//Unity C#
    void Update()
    {
        //ホイールスクロールの値を取得
        float wh = Input.GetAxis("Mouse ScrollWheel");

        //ホイールスクロールの上下と音量を連動
        GetComponent<AudioSource>().volume += wh;
    }

    void OnMouseDown()
    {
        GetComponent().Play();
    }
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント