「Unity/Csharp/音」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→音の切り替えでブツブツ音がする場合の対応) |
(→音の切り替えでブツブツ音がする場合の対応) |
||
行105: | 行105: | ||
#AudioSourceが同一で、AudioClipのみを切り替えると、ブツブツ音がなる。 | #AudioSourceが同一で、AudioClipのみを切り替えると、ブツブツ音がなる。 | ||
#AudioSourceを、それぞれ用意して、切り替えればうまくいくかも。→ やり方がまずいのかうまくいかなかった・・。 | #AudioSourceを、それぞれ用意して、切り替えればうまくいくかも。→ やり方がまずいのかうまくいかなかった・・。 | ||
+ | |||
+ | 他の描画など処理が、重いのが、原因かも。・・ | ||
参考:http://blog.livedoor.jp/be_someone/archives/52401691.html | 参考:http://blog.livedoor.jp/be_someone/archives/52401691.html |
2021年8月17日 (火) 14:17時点における版
目次
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/
音の切り替えでブツブツ音がする場合の対応
- AudioSourceが同一で、AudioClipのみを切り替えると、ブツブツ音がなる。
- AudioSourceを、それぞれ用意して、切り替えればうまくいくかも。→ やり方がまずいのかうまくいかなかった・・。
他の描画など処理が、重いのが、原因かも。・・
参考:http://blog.livedoor.jp/be_someone/archives/52401691.html