Mitme heli korraga esitamine

Lehekülg uuendatud :
Lehe loomise kuupäev :

Kontrollimise keskkond

Windows
  • Windows 11
Ühtsuse toimetaja
  • 2021.3.3f1
Sisendsüsteemi pakett
  • 1.3.0

Selle näpunäite eeltingimused

Selle vihje kirjeldamise eelduseks on eelnevalt tehtud järgmised sätted.

Prooviga kaasas oleva materjali kohta

Heliefektid on laenatud järgmistelt saitidelt.

Teave helifailide kohta

Unity standardfunktsioonidega saab esitada järgmisi helifailivorminguid: Palun valmistage see ette, sest seda kasutatakse nendes näpunäidetes.

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

Lisateabe saamiseks vaadake Unity ametlikku dokumentatsiooni.

Teave mitme samaaegse heli taasesituse kohta

Eelmistes näpunäidetes kasutasime helifaili esitamiseks AudioSource'i, kuid kui proovisime teha ühte heli ja mitut heli, kadus eelmine heli. Näiteks kui teil on mängus kaks plahvatust, on ebaloomulik, et esimene heliefekt kaob, kui teine plahvatus tekitab heliefekti. Selles jaotises kirjeldatakse, kuidas esitada sama heli mitu korda üksteise peal.

Heli samaaegse esitamise juhised

Siin selgitan ma punktist, kus ma lõin uue projekti, kuid kui teate Ühtsust teatud määral, saate välja lõigata ainult asjakohased osad ja need meelde jätta.

Seekord mängib heliefekt iga kord, kui klõpsate nuppu. Looge oma kasutajaliides nii, nagu näidatud. Üksikasjad on asjakohased ja head.

Lisage helifail, kukutades selle oma projekti.

Lisage heliallikas hierarhiasse. Sellisel juhul ei määra te heliklippi otse AudioSource'i.

Skripti lisamine. ButtonEvent Jätke nimi nimeks .

Skript näeb välja selline:

using UnityEngine;

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

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

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

AudioSource Mõelge sellele kui heli juhtimise klassile, täpselt nagu eelmised näpunäited.

AudioClip on klass, mis salvestab heliandmeid. Siin saate seadistada helifaile.

AudioSource.PlayOneShot Kui edastate selle meetodile argumendina, saate heliandmeid esitada AudioClip . Selle meetodiga esitatavat heli juhitakse iseseisvalt. Kui helistate sellele meetodile uuesti, mängitakse seda uue häälena eelmisest eraldi. Seetõttu on võimalik heli uuesti mängida iga kord, kui seda meetodit nimetatakse.

Manustage skript EventSystemile.

Määrake "Heliallika" jaoks hierarhiasse lisatud "Heliallikas".

"Heliklipi" jaoks määrake projektist helifail.

Lõpuks seadke meetod nupu klõpsamissündmusele.

Käivitage mäng ja klõpsake nuppu. Ma arvan, et heliefektid mängivad. Samuti, kui klõpsate taasesituse ajal uuesti nuppu, esitatakse uus heli ilma, et eelmine heli kaoks.

AudioClip Sel viisil on nüüd võimalik esitada sama heli üksteise peal, esitades heli . See võimaldab mängul mängida ilma, et eelmine heli ebaloomulikult kaoks.

Puudused AudioClipiga mängimisel

AudioClip Suutsin heli üksteise peal mängida, mängides seda kasutades , kuid vastupidi, ilmnevad järgmised puudused.

Heli muutub lärmakaks

Nagu näete, kui klõpsate nuppu pidevalt, kattuvad helid ja mängitav harmooniline muutub valjemaks ja valjemaks. Näiteks kui soovite mängida heliefekti, kui mängus tabab rünnak, Kui korraga esineb mitu tabamust ilma meetmeid võtmata, võib neid mängida ebanormaalse helitugevusega.