Přehrávejte více zvuků současně
Ověřovací prostředí
- Windows
-
- Systém Windows 11
- Editor jednoty
-
- 2021.3.3f1
- Vstupní systémový balíček
-
- 1.3.0
Předpoklady pro tento tip
Následující nastavení byla provedena předem jako předpoklad pro popis tohoto tipu.
O materiálu obsaženém ve vzorku
Zvukové efekty jsou vypůjčeny z následujících stránek.
O zvukových souborech
Pomocí standardních funkcí Unity lze přehrávat následující formáty zvukových souborů: Připravte si ji předem, protože bude použita v těchto tipech.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG vrstva 3 (.mp3)
Další informace najdete v oficiální dokumentaci k jednotě.
O vícenásobném současném přehrávání zvuku
V předchozích tipech jsme použili AudioSource k přehrání zvukového souboru, ale když jsme se pokusili vytvořit jeden zvuk a více zvuků, předchozí zvuk zmizel. Pokud máte například ve hře dva výbuchy, je nepřirozené, aby první zvukový efekt zmizel, když druhý výbuch vygeneruje zvukový efekt. Tato část popisuje, jak přehrát stejný zvuk vícekrát nad sebou.
Kroky pro současné přehrávání zvuku
Zde vysvětlím od okamžiku, kdy jsem vytvořil nový projekt, ale pokud znáte Unity do určité míry, můžete vystřihnout pouze relevantní části a zapamatovat si je.
Tentokrát se zvukový efekt přehraje pokaždé, když kliknete na tlačítko. Vytvořte uživatelské rozhraní, jak je znázorněno na obrázku. Detaily jsou vhodné a dobré.
Přidejte zvukový soubor tak, že ho přetáhnete do projektu.
Přidejte Zdroj zvuku do hierarchie. V takovém případě nenastavíte zvukový klip přímo na Zdroj zvuku.
Přidejte skript. ButtonEvent
Název ponechte jako .
Skript vypadá takto:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
<summary>音声データ。</summary>
[SerializeField] private AudioClip AudioClip;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.PlayOneShot(AudioClip);
}
}
AudioSource
Přemýšlejte o tom jako o třídě pro ovládání zvuku, stejně jako předchozí tipy.
AudioClip
je třída, která ukládá zvuková data. Zde můžete nastavit zvukové soubory.
AudioSource.PlayOneShot
Pokud jej předáte jako argument metodě, můžete přehrávat zvuková AudioClip
data.
Zvuk přehrávaný touto metodou je řízen nezávisle.
Pokud tuto metodu zavoláte znovu, bude přehrána jako nový hlas odděleně od předchozího.
Proto je možné zvuk přehrávat znovu při každém volání této metody.
Připojte skript k EventSystem.
Pro "Zdroj zvuku" nastavte "Zdroj zvuku" přidaný do hierarchie.
Pro "Zvukový klip" nastavte zvukový soubor z projektu.
Nakonec nastavte metodu na událost kliknutí tlačítka.
Spusťte hru a klikněte na tlačítko. Myslím, že zvukové efekty budou hrát. Pokud na tlačítko znovu klepnete během přehrávání, přehraje se nový zvuk, aniž by předchozí zvuk zmizel.
AudioClip
Tímto způsobem je nyní možné přehrávat stejný zvuk nad sebou přehráváním zvuku přes .
To umožňuje hru hrát, aniž by předchozí zvuk nepřirozeně zmizel.
Nevýhody při přehrávání pomocí AudioClipu
AudioClip
Byl jsem schopen přehrávat zvuk na sobě tím, že jsem ho přehrával pomocí , ale naopak dochází k následujícím nevýhodám.
Zvuk se stává hlučným
Jak můžete vidět, pokud kliknete na tlačítko nepřetržitě, zvuky se překrývají a harmonie, která se hraje, se stává hlasitější a hlasitější. Chcete-li například přehrát zvukový efekt, když ve hře dojde k útoku, Pokud dojde k více zásahům současně bez přijetí jakýchkoli opatření, mohou být přehrávány při abnormální hlasitosti.