Predvajanje več zvokov hkrati
Okolje za preverjanje
- Windows
-
- Windows 11
- Urejevalnik Unity
-
- 2021.3.3F1
- Paket vhodnega sistema
-
- 1.3.0
Predpogoji za ta nasvet
Naslednje nastavitve so bile vnaprej narejene kot premisa za opis tega nasveta.
O materialu, vključenem v vzorec
Zvočni učinki so izposojeni na naslednjih spletnih mestih.
O zvočnih datotekah
S standardnimi funkcijami Unity lahko predvajate naslednje oblike zapisa zvočnih datotek: Prosimo, pripravite ga vnaprej, ker bo uporabljen v teh nasvetih.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG plast 3 (.mp3)
Za več informacij glejte uradno dokumentacijo Unity.
O večkratnem sočasnem predvajanju zvoka
V prejšnjih nasvetih smo uporabili AudioSource za predvajanje zvočne datoteke, toda ko smo poskušali narediti en zvok in več zvokov, je prejšnji zvok izginil. Na primer, če imate v igri dve eksploziji, je nenaravno, da prvi zvočni učinek izgine, ko druga eksplozija ustvari zvočni učinek. V tem razdelku je opisano, kako večkrat predvajate isti zvok.
Koraki za sočasno predvajanje zvoka
Tukaj bom razložil od točke, ko sem ustvaril nov projekt, če pa do neke mere poznate enotnost, lahko izrežete samo ustrezne dele in si jih zapomnite.
Tokrat se bo zvočni učinek predvajal vsakič, ko kliknete gumb. Ustvarite uporabniški vmesnik, kot je prikazano. Podrobnosti so primerne in dobre.
Dodajte zvočno datoteko tako, da jo spustite v projekt.
Dodajte vir zvoka v hierarhijo. V tem primeru zvočnega posnetka ne boste nastavili neposredno na vir zvoka.
Dodajte skript. ButtonEvent
Pustite ime kot .
Scenarij izgleda takole:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
<summary>音声データ。</summary>
[SerializeField] private AudioClip AudioClip;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.PlayOneShot(AudioClip);
}
}
AudioSource
Pomislite na to kot na razred za nadzor zvoka, tako kot prejšnji nasveti.
AudioClip
je razred, ki shranjuje zvočne podatke. Zvočne datoteke lahko nastavite tukaj.
AudioSource.PlayOneShot
Če ga posredujete kot argument metodi, lahko predvajate AudioClip
zvočne podatke.
Zvok, ki se predvaja s to metodo, se nadzoruje neodvisno.
Če ponovno pokličete to metodo, se bo predvajala kot nov glas ločeno od prejšnjega.
Zato je mogoče zvok ponovno predvajati vsakič, ko se imenuje ta metoda.
Priložite skript EventSystem.
Za »Vir zvoka« nastavite »Vir zvoka«, dodan v hierarhijo.
Za »Zvočni posnetek« nastavite zvočno datoteko iz projekta.
Na koncu nastavite metodo na dogodek klika gumba.
Zaženite igro in kliknite gumb. Mislim, da bodo zvočni učinki igrali. Če med predvajanjem znova kliknete gumb, se bo novi zvok predvajal, ne da bi prejšnji zvok izginil.
AudioClip
Na ta način je zdaj mogoče predvajati isti zvok drug na drugega s predvajanjem zvoka prek .
To omogoča, da igra brez nenaravnega izginotja prejšnjega zvoka.
Slabosti pri igranju z AudioClip
AudioClip
Zvok sem lahko predvajal drug na drugega, tako da sem ga predvajal z uporabo , nasprotno pa se pojavijo naslednje slabosti.
Zvok postane hrupen
Kot lahko vidite, če neprekinjeno kliknete gumb, se zvoki prekrivajo in harmonik, ki se predvaja, postane glasnejši in glasnejši. Če želite na primer predvajati zvočni učinek, ko napad zadene igro, Če se hkrati pojavi več zadetkov brez kakršnih koli ukrepov, se lahko predvajajo pri nenormalni glasnosti.