seriruの技術屋ブログ

競技プログラミングやゲーム開発など技術に関することを発信します

UnityでUI.Sliderを使ってAudioSourceの音量を調整する

今回作るものです。

バージョン

  • Unity 2018.4.6f

AudioSource

AudioSourceはunityで音源を再生するためにゲームオブジェクトにアタッチするコンポーネントです。
Hierarchyタブから Audio -> Audio Source で選択し、Audio SourceにBGMクリップをアタッチすることで簡単に使用できます。

① HierarchyタブからAudioSouceを選ぶ。 f:id:ryo_seriru:20190828230805p:plain

② AudioClipをアタッチする。 f:id:ryo_seriru:20190828231236p:plain

UI

Unity上で使用できるUIが入ったコンポーネントです。AudioSourceと同様に選択するとCanvasとEventSystemと同時に作成されます。

① HierarchyタブからUIを選ぶ。 f:id:ryo_seriru:20190828232127p:plain

Canvas、EventSystemと一緒に選択したコンポーネントが追加されます。

f:id:ryo_seriru:20190828232155p:plain

SliderからAudioSourceの音量を調整する

AudioSourceの音量は AudioSource.volume の値を 0.0 ~ 1.0 に変化させることによって調整します。

また、Sliderの正規化した値は AudioSource.normalizedValue から取得できるので、この値を AudioSource.volume に代入することで変化させることができます。

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

public class ToggleBGM : MonoBehaviour {
  
  AudioSource m_AudioSource;

  public Slider m_Slider;

  private bool m_Play;
  public bool m_ToggleChange;
  void Start() {
    m_AudioSource = GetComponent<AudioSource>();
    m_Play = true;
  }

  void Update() {
    m_AudioSource.volume = m_Slider.GetComponent<Slider>().normalizedValue;
  }
}