Skip to content

[Unity] 如何播放音樂與音效

在 Unity 中,若是想要播放音訊檔案,可以粗略分成『背景音樂』與『遊戲音效』兩大類。

背景音樂需要在開始遊戲、物件建立時開始播放,可能會需要重複播放;遊戲音效應該是觸發特定事件,比方說吃到道具時播放。

以下就簡單紀錄該如何做到這兩件重要的音訊播放功能。


播放背景音樂

在開始之前,首先必須談談 Audio Listener 這個元件。Audio Listener 預設是附加在 Main Camera 上,根據官方手冊的說明,Audio Listener 是類似麥克風的設備。它從任何指定的 Audio Source 接收輸入,並通過電腦播放聲音。

所以,若是我們想要擁有場景的背景音樂Background Music, BGM),我們只需要在 Main Camera 上新增 Audio Source 元件並將想要播放的音樂放上去。

別忘了把 Play On AwakeLoop 選項打勾,如此一來音樂才會在進入場景時播放、同時在音樂播完後繼續重複播放。


播放遊戲音效

我們先來假設一個情境:我們操縱玩家,吃到了一個加速的道具,這時候應該要播放一個『吃到道具的音效』。

那麼我們可以在玩家身上附加下列的範例腳本。

public class Player : MonoBehaviour {
    // Sounds
    public AudioClip eatSound;
    private AudioSource myAudioSource;

    void Start()
    {
        // Sounds
        myAudioSource = GetComponent<AudioSource>();
    }

    // Trigger
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Items")
        {
            myAudioSource.PlayOneShot(eatSound);
        }
    }
}



別忘了要在遊戲編輯器中將想要播放的音效拖曳給 eatSound 欄位喔。

這樣一來,就會在撞到物件標籤為 Items 的物件時,自動播放一次 eatSound 的音效了。


References


Read More

Tags:

Leave a Reply