同時播放多個聲音
驗證環境
- 窗戶
-
- 視窗 11
- 統一編輯器
-
- 2021.3.3f1
- 輸入系統包
-
- 1.3.0
此提示的先決條件
作為此提示描述的前提,已預先進行了以下設置。
關於樣品中包含的材料
音效是從以下網站借來的。
關於音訊檔
可以使用 Unity 的標準功能播放以下音訊檔案格式: 請提前準備,因為它將在這些提示中使用。
- 波浪 (.wav)
- 奧格沃比斯 (.ogg)
- MPEG 第 3 層 (.mp3)
有關更多資訊,請參閱官方 Unity 文件。
關於多個同時播放音訊
在前面的提示中,我們使用AudioSource播放音訊檔,但是當我們嘗試發出單個聲音和多個聲音時,之前的聲音消失了。 例如,如果遊戲中有兩個爆炸,當第二個爆炸產生聲音效果時,第一個聲音效果消失是不自然的。 本節介紹如何在彼此之上多次播放相同的聲音。
同時播放音訊的步驟
在這裡,我將從我創建新專案的角度進行解釋,但是如果您在一定程度上瞭解Unity,則可以僅剪切相關部分並記住它們。
這一次,每次按兩下按鈕時都會播放音效。 創建UI,如下所示。 細節是適當和好的。
通過將聲音檔拖放到專案中來添加聲音檔。
將音訊源添加到層次結構。 在這種情況下,您不會將音訊剪輯直接設置為音訊源。
添加腳本。 ButtonEvent
將名稱保留為 。
文稿如下所示:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
<summary>音声データ。</summary>
[SerializeField] private AudioClip AudioClip;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.PlayOneShot(AudioClip);
}
}
AudioSource
將其視為用於控制音訊的類,就像前面的提示一樣。
AudioClip
是存儲音訊數據的類。 您可以在此處設定音訊檔。
AudioSource.PlayOneShot
如果將其作為參數傳遞給該方法,則可以播放 AudioClip
音訊數據。
通過此方法播放的音訊是獨立控制的。
如果再次調用此方法,它將作為與前一個聲音分開的新語音播放。
因此,每次調用此方法時都可以再次播放聲音。
將腳本附加到事件系統。
對於「音訊源」,設置添加到層次結構的「音頻源」。。
對於「音訊剪輯」,請從專案中設置音訊檔。
最後,將該方法設置為按鈕的單擊事件。
運行遊戲並按下按鈕。 我認為音效會播放。 此外,如果您在播放過程中再次按下該按鈕,將播放新聲音而不會消失之前的聲音。
AudioClip
這樣,現在可以通過 .
這使得遊戲可以在不自然地消失之前的聲音的情況下進行遊戲。
使用音訊剪輯播放時的缺點
AudioClip
我能夠通過使用 播放音訊來相互播放音訊,但相反,會出現以下缺點。
聲音變得嘈雜
如您所見,如果您連續按兩下該按鈕,聲音會重疊,播放的諧波會變得越來越響亮。 例如,如果您想在遊戲中攻擊擊中時播放聲音效果, 如果在未採取任何措施的情況下同時發生多次命中,則可能會以異常音量播放。