「Unity/Csharp/音」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→シーン遷移してもBGMを消さない) |
(→音を遅くしたり速くしたり) |
||
行73: | 行73: | ||
==音を遅くしたり速くしたり== | ==音を遅くしたり速くしたり== | ||
+ | <pre> | ||
AudioSource bgmSource; | AudioSource bgmSource; | ||
bgmSource.Play(); | bgmSource.Play(); | ||
bgmSource.pitch = 2f; | bgmSource.pitch = 2f; | ||
+ | </pre> | ||
==シーン遷移してもBGMを消さない== | ==シーン遷移してもBGMを消さない== |
2020年10月20日 (火) 15:50時点における版
目次
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); }
音を遅くしたり速くしたり
AudioSource bgmSource; bgmSource.Play(); bgmSource.pitch = 2f;
シーン遷移してもBGMを消さない
GameObjectに以下を追加して、オブジェクトを消さなければ良い。
public class BgmAudioScript : MonoBehaviour { void Start() { DontDestroyOnLoad(this); } }
音が遅延するとき
- Edit/ProjectSettings/Audioを選択
- AudioManagerのDSPBufferSizeをBest Latencyに
音素材について
movからmp3へ https://convertio.co/ja/mov-mp3/
mp3を切り出す http://audio-cutter.com/ja/