「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を鳴らしてみる
- GameObjectに名前をつけて(ここではSeTap)AudioSourceをAddComponentする
- アサインしたAudioSourceのAudioClipにmp3音源をいれる
- 以下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/