Vairāku skaņu vienlaicīga atskaņošana
Verifikācijas vide
- Windows
-
- Operētājsistēmā Windows 11
- Vienotības redaktors
-
- 2021.3.3f1
- Ievades sistēmas pakete
-
- 1.3.0
Priekšnoteikumi šim padomam
Tālāk norādītie iestatījumi ir veikti iepriekš kā priekšnoteikums šī padoma aprakstam.
Par paraugā iekļauto materiālu
Skaņas efekti tiek aizņemti no šādām vietnēm.
Par audio failiem
Ar Unity standarta funkcijām var atskaņot šādus audio failu formātus: Lūdzu, sagatavojiet to iepriekš, jo tas tiks izmantots šajos padomos.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG 3. slānis (.mp3)
Lai iegūtu papildinformāciju, skatiet oficiālo Unity dokumentāciju.
Par vairāku vienlaicīgu audio atskaņošanu
Iepriekšējos padomos mēs izmantojām AudioSource, lai atskaņotu audio failu, bet, mēģinot izveidot vienu skaņu un vairākas skaņas, iepriekšējā skaņa pazuda. Piemēram, ja spēlē ir divi sprādzieni, ir nedabiski, ka pirmais skaņas efekts pazūd, kad otrais sprādziens rada skaņas efektu. Šajā sadaļā aprakstīts, kā atskaņot vienu un to pašu skaņu vairākas reizes vienu virs otras.
Darbības, kas jāveic, lai vienlaikus atskaņotu audio
Šeit es paskaidrošu no punkta, kur es izveidoju jaunu projektu, bet, ja jūs zināmā mērā zināt Vienotību, jūs varat izgriezt tikai attiecīgās daļas un iegaumēt tās.
Šoreiz skaņas efekts tiks atskaņots katru reizi, kad noklikšķināsit uz pogas. Izveidojiet savu lietotāja interfeisu, kā parādīts attēlā. Detaļas ir atbilstošas un labas.
Pievienojiet skaņas failu, nometot to savā projektā.
Pievienojiet hierarhijai audio avotu. Šādā gadījumā audioklips netiks iestatīts tieši uz AudioSource.
Pievienojiet skriptu. ButtonEvent
Atstājiet vārdu kā .
Skripts izskatās šādi:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
<summary>音声データ。</summary>
[SerializeField] private AudioClip AudioClip;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.PlayOneShot(AudioClip);
}
}
AudioSource
Padomājiet par to kā par klasi audio kontrolei, tāpat kā iepriekšējie padomi.
AudioClip
ir klase, kurā tiek glabāti audio dati. Šeit varat iestatīt audio failus.
AudioSource.PlayOneShot
Ja nododat to kā argumentu metodei, varat atskaņot AudioClip
audio datus.
Ar šo metodi atskaņotais audio tiek kontrolēts neatkarīgi.
Ja jūs vēlreiz izsaucat šo metodi, tā tiks atskaņota kā jauna balss atsevišķi no iepriekšējās.
Tāpēc ir iespējams atskaņot skaņu vēlreiz katru reizi, kad tiek izsaukta šī metode.
Pievienojiet skriptu EventSystem.
Sadaļā "Audio avots" iestatiet hierarhijai pievienoto "Audio avotu".
Sadaļā "Audio klips" iestatiet audio failu no projekta.
Visbeidzot, iestatiet metodi uz pogas klikšķa notikumu.
Palaidiet spēli un noklikšķiniet uz pogas. Es domāju, ka skaņas efekti tiks atskaņoti. Turklāt, ja atskaņošanas laikā vēlreiz noklikšķināsit uz pogas, jaunā skaņa tiks atskaņota, nepazūdot iepriekšējai skaņai.
AudioClip
Tādā veidā tagad ir iespējams atskaņot to pašu skaņu viens otram virsū, atskaņojot audio, izmantojot .
Tas ļauj spēlei spēlēt bez iepriekšējās skaņas, kas nedabiski pazūd.
Trūkumi, spēlējot ar AudioClip
AudioClip
Es varēju atskaņot audio viens otram virsū, atskaņojot to, izmantojot , bet gluži pretēji, rodas šādi trūkumi.
Skaņa kļūst trokšņaina
Kā redzat, nepārtraukti noklikšķinot uz pogas, skaņas pārklājas un atskaņotās harmonikas kļūst skaļākas un skaļākas. Piemēram, ja vēlaties atskaņot skaņas efektu, kad uzbrukumā trāpa spēlē, Ja vienlaikus notiek vairāki trāpījumi, neveicot nekādus pasākumus, tos var atskaņot neparastā skaļumā.