Prehrávanie viacerých zvukov súčasne

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prostredie overovania

Windows
  • Windows 11
Editor jednoty
  • 2021.3.3f1
Vstupný systémový balík
  • 1.3.0

Predpoklady pre tento tip

Nasledujúce nastavenia boli vykonané vopred ako predpoklad pre popis tohto tipu.

O materiáli zahrnutom do vzorky

Zvukové efekty sú požičané z nasledujúcich stránok.

Informácie o zvukových súboroch

Nasledujúce formáty zvukových súborov je možné prehrávať so štandardnými funkciami Unity: Pripravte si ho vopred, pretože bude použitý v týchto tipoch.

  • WAV (.wav)
  • OggVorbis (.ogg)
  • Vrstva MPEG 3 (.mp3)

Viac informácií nájdete v oficiálnej dokumentácii Unity.

Viacnásobné simultánne prehrávanie zvuku

V predchádzajúcich tipoch sme použili AudioSource na prehrávanie zvukového súboru, ale keď sme sa pokúsili vytvoriť jeden zvuk a viac zvukov, predchádzajúci zvuk zmizol. Ak máte napríklad v hre dva výbuchy, je neprirodzené, aby prvý zvukový efekt zmizol, keď druhý výbuch generuje zvukový efekt. Táto časť popisuje, ako prehrať ten istý zvuk viackrát na sebe.

Postup súčasného prehrávania zvuku

Tu vysvetlím z bodu, kde som vytvoril nový projekt, ale ak do určitej miery poznáte Unity, môžete vystrihnúť iba relevantné časti a zapamätať si ich.

Tentoraz sa zvukový efekt prehrá pri každom kliknutí na tlačidlo. Vytvorte používateľské rozhranie podľa znázornenia. Podrobnosti sú vhodné a dobré.

Pridajte zvukový súbor tak, že ho vložíte do projektu.

Pridajte položku Zdroj zvuku do hierarchie. V takom prípade nebudete zvukový klip nastavovať priamo na zdroj zvuku.

Pridajte skript. ButtonEvent Názov ponechajte ako .

Skript vyzerá takto:

using UnityEngine;

public class ButtonEvent : MonoBehaviour
{
  [SerializeField] private AudioSource AudioSource;

  /// <summary>音声データ。</summary>
  [SerializeField] private AudioClip AudioClip;

  public void OnClickPlay()
  {
    // オーディオを再生します
    AudioSource.PlayOneShot(AudioClip);
  }
}

AudioSource Predstavte si to ako triedu na ovládanie zvuku, rovnako ako predchádzajúce tipy.

AudioClip je trieda, ktorá ukladá zvukové údaje. Tu môžete nastaviť zvukové súbory.

AudioSource.PlayOneShot Ak ho odovzdáte ako argument metóde, môžete prehrať zvukové AudioClip údaje. Zvuk prehrávaný touto metódou sa ovláda nezávisle. Ak túto metódu zavoláte znova, prehrá sa ako nový hlas oddelene od predchádzajúceho. Preto je možné zvuk znova prehrať zakaždým, keď sa táto metóda vyvolá.

Pripojte skript k EventSystem.

Pre "Zdroj zvuku" nastavte "Zdroj zvuku" pridaný do hierarchie.

Pre "Audio clip" nastavte zvukový súbor z projektu.

Nakoniec nastavte metódu na udalosť kliknutia na tlačidlo.

Spustite hru a kliknite na tlačidlo. Myslím si, že zvukové efekty budú hrať. Ak počas prehrávania znova kliknete na tlačidlo, nový zvuk sa prehrá bez toho, aby predchádzajúci zvuk zmizol.

AudioClip Týmto spôsobom je teraz možné prehrávať rovnaký zvuk na sebe prehrávaním zvuku cez . To umožňuje hre hrať bez toho, aby predchádzajúci zvuk neprirodzene zmizol.

Nevýhody pri hraní s AudioClip

AudioClip Bol som schopný prehrávať zvuk na seba prehrávaním pomocou , ale naopak, vyskytujú sa nasledujúce nevýhody.

Zvuk sa stáva hlučným

Ako vidíte, ak kliknete na tlačidlo nepretržite, zvuky sa prekrývajú a prehrávaná harmónia sa stáva hlasnejšou a hlasnejšou. Ak napríklad chcete prehrať zvukový efekt, keď v hre zasiahne útok, Ak dôjde k viacerým zásahom súčasne bez prijatia akýchkoľvek opatrení, môžu sa prehrať s abnormálnou hlasitosťou.