Toista useita ääniä samanaikaisesti
Varmennusympäristö
- Windows
-
- Windows 11
- Unity-editori
-
- 2021.3.3F1
- Syöttöjärjestelmän paketti
-
- 1.3.0
Tämän vinkin edellytykset
Seuraavat asetukset on tehty etukäteen tämän vinkin kuvauksen lähtökohtana.
Tietoja näytteeseen sisältyvästä materiaalista
Äänitehosteet on lainattu seuraavilta sivustoilta.
Tietoja äänitiedostoista
Seuraavia äänitiedostomuotoja voidaan toistaa Unityn vakio-ominaisuuksilla: Valmistele se etukäteen, koska sitä käytetään näissä vinkeissä.
- WAV (.wav)
- OggVorbis (.ogg)
- MPEG-kerros 3 (.mp3)
Lisätietoja on virallisissa Unity-dokumentaatiossa.
Tietoja useista samanaikaisista äänentoistoista
Edellisissä vinkeissä käytimme AudioSourcea äänitiedoston toistamiseen, mutta kun yritimme tehdä yhden äänen ja useita ääniä, edellinen ääni katosi. Jos pelissä on esimerkiksi kaksi räjähdystä, on luonnotonta, että ensimmäinen äänitehoste katoaa, kun toinen räjähdys tuottaa äänitehosteen. Tässä osassa kuvataan, miten sama ääni toistetaan useita kertoja päällekkäin.
Vaiheet äänen toistamiseen samanaikaisesti
Tässä selitän siitä kohdasta, jossa loin uuden projektin, mutta jos tunnet Unityä jossain määrin, voit leikata vain asiaankuuluvat osat ja muistaa ne.
Tällä kertaa äänitehoste toistetaan aina, kun napsautat painiketta. Luo käyttöliittymä kuvan osoittamalla tavalla. Yksityiskohdat ovat asianmukaisia ja hyviä.
Lisää äänitiedosto pudottamalla se projektiisi.
Lisää äänilähde hierarkiaan. Tässä tapauksessa et aseta äänileikettä suoraan AudioSourceen.
Lisää komentosarja. ButtonEvent
Jätä nimeksi .
Skripti näyttää tältä:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
[SerializeField] private AudioSource AudioSource;
<summary>音声データ。</summary>
[SerializeField] private AudioClip AudioClip;
public void OnClickPlay()
{
// オーディオを再生します
AudioSource.PlayOneShot(AudioClip);
}
}
AudioSource
Ajattele sitä äänenhallinnan luokkana, aivan kuten edelliset vinkit.
AudioClip
on luokka, joka tallentaa äänidataa. Voit asettaa äänitiedostoja täällä.
AudioSource.PlayOneShot
Jos välität sen argumenttina menetelmälle, voit toistaa äänidataa AudioClip
.
Tällä menetelmällä toistettua ääntä ohjataan itsenäisesti.
Jos kutsut tätä menetelmää uudelleen, se toistetaan uutena äänenä erillään edellisestä.
Siksi on mahdollista toistaa ääni uudelleen joka kerta, kun tätä menetelmää kutsutaan.
Liitä komentosarja EventSystemiin.
Aseta "Audio Source" -kohdassa hierarkiaan lisätty "Audio Source".
Aseta "Äänileike" -kohtaan äänitiedosto projektista.
Aseta lopuksi menetelmäksi painikkeen napsautustapahtuma.
Suorita peli ja napsauta painiketta. Uskon, että äänitehosteet toistuvat. Jos napsautat painiketta uudelleen toiston aikana, uusi ääni toistetaan ilman, että edellinen ääni katoaa.
AudioClip
Tällä tavalla on nyt mahdollista toistaa sama ääni päällekkäin toistamalla ääni kautta .
Näin peli voi pelata ilman, että edellinen ääni katoaa luonnottomasti.
Haitat toistettaessa AudioClipillä
AudioClip
Pystyin toistamaan ääntä päällekkäin toistamalla sitä käyttämällä , mutta päinvastoin, seuraavat haitat ilmenevät.
Ääni muuttuu meluisaksi
Kuten näet, jos napsautat painiketta jatkuvasti, äänet menevät päällekkäin ja toistettu harmonia muuttuu kovemmaksi ja kovemmaksi. Jos esimerkiksi haluat toistaa äänitehosteen, kun hyökkäys osuu peliin, Jos useita osumia esiintyy samanaikaisesti ilman toimenpiteitä, ne voidaan toistaa epänormaalilla äänenvoimakkuudella.