わかりやすいUnityゲーム開発解説

【3分でできる!】BGMとSEの音量調整スライダーを作る

ころもちゃん

よくある設定項目のBGMとSEの音量調整スライダーを作ってみたい!

本記事の内容

・KanKikuchiさんのAudioManagerを使って音量調整スライダーを爆速で作る方法

ゲームの設定画面でよく見る音量調整スライダーの作り方を解説します。3分で作れます。

前提:この記事は以下の無料アセットをインストールしてください

上記の記事で紹介している無料アセット、Kan Kikuchi さんが公開されているAudioManagerをまずはインストールしてください。

音量調整スライダー作成方法

スライダーと、スライダーの値が変更されたら音量を調整するManagerクラスをシーン内に配置します。

スライダーを作成し、Canvas内に配置します。わかりやすいように、BGMとSEで2つ作成し、テキストを横に配置しました。

「ヒエラルキーウィンドウで右クリック」 > 「作成」から、空のGameObjectを作成します。
VolumeControllerという名前のオブジェクトにしました。

「プロジェクトウィンドウで右クリック 」> 「新規」 > 「C#スクリプト」を作成

コードは以下のとおり。スライダーの値が変わったら音量を変更する、という内容です。

using KanKikuchi.AudioManager;
using UnityEngine;
using UnityEngine.UI;

public class VolumeController : MonoBehaviour
{
    public Slider bgmVolumeSlider;
    public Slider seVolumeSlider;

    public float defaultBGMVolume = 0.5f;
    public float defaultSEVolume = 0.5f;

    void Start()
    {
        // スライダーのonValueChangedイベントにメソッドを登録
        bgmVolumeSlider.onValueChanged.AddListener(delegate { OnBGMVolumeChanged(bgmVolumeSlider.value); });
        seVolumeSlider.onValueChanged.AddListener(delegate { OnSEVolumeChanged(seVolumeSlider.value); });

        // ボリュームの初期値を設定
        BGMManager.Instance.ChangeBaseVolume(defaultBGMVolume);
        SEManager.Instance.ChangeBaseVolume(defaultSEVolume);

        // スライダーに初期値を設定
        bgmVolumeSlider.value = defaultBGMVolume;
        seVolumeSlider.value = defaultSEVolume;

        // BGMを再生(不要なら削除)
        BGMManager.Instance.Play(BGMPath.BATTLE27);
    }

    // スライダーの値が変更されたときに呼び出されるメソッド
    void OnBGMVolumeChanged(float volume)
    {
        // BGM全体のボリュームを変更
        BGMManager.Instance.ChangeBaseVolume(volume);
    }

    void OnSEVolumeChanged(float volume)
    {
        // SE全体のボリュームを変更
        SEManager.Instance.ChangeBaseVolume(volume);
    }
}

Step3で作成した、「Volume Controller」コンポーネントを追加し、表示されている「BGM Volume Slider」、「Se Volume Slider」を割り当てる。

また、スライダーのデフォルトの値は、0.8くらいにしておきます。(ここはお好みで)

この状態で実行すれば、スライダーの値を変えるとBGM、SEの音量全体が変わります、お試しください。

まとめ

余談ですが、配信者がゲーム実況する際に、音量調整機能があると助かるそうです。アセットを使うことでカンタンに実装できるので、取り入れていきましょう!

この記事がよかったら、ぜひX(@mitakamikata)もフォローしてくださいね。
それでは素敵なゲーム制作ライフを!

ゲームの素材探しに困っていませんか?

ゲームのUI素材探しなら、Free Game UI Assets がオススメです!
完全無料で著作権フリーな、UIのアセット素材がなんと1700以上使い放題!

ぜひ、こちらもチェックしてみてください。