Unityで音楽・効果音を鳴らす方法

unityで音楽を鳴らしたいと思い調べていたら、

AudioSourceを使うということが載っていた。

練習のため簡単に記す。

まずスクリプト

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

public class SoundTest : MonoBehaviour
{

    public AudioClip sound1;

    AudioSource audioSource;

    void Start()
    {
        //Componentを取得
        audioSource = GetComponent<AudioSource>();

        audioSource.PlayOneShot(sound1);
    }

}

 

次に空のオブジェクトに上のスクリプトをアタッチして、

Sound1のところに使用したい素材を入れる。

そして空のオブジェクトのコンポーネントにAudioSourceを加える。

これで完成

f:id:sashimimayonezu:20200826135344g:plain

 

ただ始めに音を鳴らすだけなら本当はスクリプトはいらない。

Audio Sourceを加えてAudioClipにそのまま音楽素材をつけてやり、

Play On Awakeにチェックすれば音楽が鳴る。

まあスクリプトでできるようにしたほうが汎用性はありそう。

 

f:id:sashimimayonezu:20200826135619p:plain

この時スクリプトでInput-GetKeyやUpdateに入れて音を鳴らそうとしたら、

複数音を鳴らしてしまい音割れが発生した。

なのでInput-GetKeyDownやStartの項目に入れて

1回だけ音が鳴るようにするといい。

https://help.hatenablog.com/entry/developer-option?_gl=1*ojnx55*_gcl_au*NzA5NzY1Mzc3LjE3MTA2NTgyODA.