facebook twitter hatena line email

「Unity/Csharp/音」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(BGMオンオフ)
(音量大小)
行70: 行70:
 
         Debug.Log("bgmSlider.value=" + bgmSlider.value);
 
         Debug.Log("bgmSlider.value=" + bgmSlider.value);
 
     }
 
     }
 +
</pre>
 +
 +
==シーン遷移してもBGMを消さない==
 +
GameObjectに以下を追加して、オブジェクトを消さなければ良い。
 +
<pre>
 +
public class BgmAudioScript : MonoBehaviour
 +
{
 +
    void Start()
 +
    {
 +
            DontDestroyOnLoad(this);
 +
 }
 +
}
 
</pre>
 
</pre>
  

2020年4月18日 (土) 03:07時点における版

SEを鳴らしてみる

  1. GameObjectに名前をつけて(ここではSeTap)AudioSourceをAddComponentする
  2. アサインしたAudioSourceのAudioClipにmp3音源をいれる
  3. 以下AudioScriptをオブジェクトに紐づける
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 public class MainScript : MonoBehaviour {
	public AudioSource sound01;
	void Start () {
		sound01 = GameObject.Find("SeTap").GetComponent<AudioSource>();
		sound01.Stop ();
		// sound01.Play (); // BGMの場合はこちら
		sound01.PlayOneShot(sound01.clip); // SEの場合はこちら(音を重ねることができる)
	}
	void Update () {
	}
}

画面表示時に設置したGameObjectが表示されて音が鳴るのを防ぐ方法

seをつけたGameObjectのPlayOnAwakeのチェックを外す

BGMオンオフ

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

public class AudioScene : MonoBehaviour
{
    Toggle bgmToggle;
    AudioSource bgmSource;
    void Start()
    {
        bgmToggle = GameObject.Find("BgmToggle").GetComponent<Toggle>();
        bgmToggle.onValueChanged.AddListener(delegate {
                ToggleValueChanged(bgmToggle);
            });
        Debug.Log("bgmToggle.isOn=" + bgmToggle.isOn);
        bgmSource = GameObject.Find("Bgm").GetComponent<AudioSource>();
        bgmSource.mute = !bgmToggle.isOn;
    }
    void ToggleValueChanged(Toggle change)
    {
        Debug.Log("bgmToggle.isOn=" + bgmToggle.isOn);
        bgmSource = GameObject.Find("Bgm").GetComponent<AudioSource>();
        bgmSource.mute = !bgmToggle.isOn;
    }
}

音量大小

UI/Sliderを用意。

using UnityEngine.UI;
    Slider bgmSlider;
    void Start()
    {
        bgmSlider = GameObject.Find("BgmSlider").GetComponent<Slider>();
        bgmSlider.onValueChanged.AddListener(delegate {
            SliderValueChanged(bgmSlider);
        });
        // bgmText.text = "First Value : " + bgmSlider.value;
        Debug.Log("bgmSlider.value=" + bgmSlider.value);
    }
    void SliderValueChanged(Slider change)
    {
        // bgmText.text =  "New Value : " + bgmSlider.value;
        Debug.Log("bgmSlider.value=" + bgmSlider.value);
    }

シーン遷移してもBGMを消さない

GameObjectに以下を追加して、オブジェクトを消さなければ良い。

public class BgmAudioScript : MonoBehaviour
{
    void Start()
    {
            DontDestroyOnLoad(this);
 }
}

音素材について

movからmp3へ https://convertio.co/ja/mov-mp3/

mp3を切り出す http://audio-cutter.com/ja/