
よくある設定項目のBGMとSEの音量調整スライダーを作ってみたい!
本記事の内容
・KanKikuchiさんのAudioManagerを使って音量調整スライダーを爆速で作る方法
ゲームの設定画面でよく見る音量調整スライダーの作り方を解説します。3分で作れます。


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


上記の記事で紹介している無料アセット、Kan Kikuchi さんが公開されているAudioManagerをまずはインストールしてください。
音量調整スライダー作成方法
スライダーと、スライダーの値が変更されたら音量を調整するManagerクラスをシーン内に配置します。
スライダーを作成し、Canvas内に配置します。わかりやすいように、BGMとSEで2つ作成し、テキストを横に配置しました。


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


「プロジェクトウィンドウで右クリック 」> 「新規」 > 「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の音量全体が変わります、お試しください。
まとめ
余談ですが、配信者がゲーム実況する際に、音量調整機能があると助かるそうです。アセットを使うことでカンタンに実装出来るので、取り入れていきましょう!
それでは素敵なゲーム制作ライフを!
コメント
コメント一覧 (1件)
[…] 音量を調整するスライダーを作る解説はこちらから! […]