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

ころもちゃん

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

本記事の内容

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

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

目次

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

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

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

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

STEP
スライダーを作成してシーンに配置

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

STEP
スライダーの値が変更されたら、音量を変更するスクリプトを作成してアタッチする

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

STEP
スクリプトを新規作成し、コードを貼り付ける

「プロジェクトウィンドウで右クリック 」> 「新規」 > 「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);
    }
}
STEP
空のGameObjectに新規作成したスクリプトをアタッチし、インスペクタから紐づけ設定

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

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

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

まとめ

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

それでは素敵なゲーム制作ライフを!


この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ゲーム制作の敷居を下げ、もっと多くの人にゲーム作りを楽しんでもらうために、ゲームをカンタンに作る方法を”網羅的に”解説しています。
よかったらブックマークお願いします。
Twitter(X)もよければフォローお願いします。

コメント

コメント一覧 (1件)

コメントする

目次