facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(音の切り替えでブツブツ音がする場合の対応)
 
(同じ利用者による、間の2版が非表示)
行1: 行1:
==SEを鳴らしてみる==
+
[[Unity/Csharp//基本]]
#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が表示されて音が鳴るのを防ぐ方法==
+
[[Unity/Csharp/音/生成]]
seをつけたGameObjectのPlayOnAwakeのチェックを外す
+
  
==BGMオンオフ==
+
[[Unity/Csharp//変換]]
<pre>
+
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;
+
    }
+
}
+
</pre>
+
 
+
==音量大小==
+
UI/Sliderを用意。
+
<pre>
+
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);
+
    }
+
</pre>
+
 
+
==音を遅くしたり速くしたり==
+
<pre>
+
AudioSource bgmSource;
+
bgmSource.Play();
+
bgmSource.pitch = 2f;
+
</pre>
+
 
+
==シーン遷移してもBGMを消さない==
+
GameObjectに以下を追加して、オブジェクトを消さなければ良い。
+
<pre>
+
public class BgmAudioScript : MonoBehaviour
+
{
+
    void Start()
+
    {
+
            DontDestroyOnLoad(this);
+
    }
+
}
+
</pre>
+
 
+
==音が遅延するとき==
+
#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
+

2021年12月17日 (金) 17:03時点における最新版

Unity/Csharp/音/基本

Unity/Csharp/音/生成

Unity/Csharp/音/変換