05. Generátor a zvuky

Rozmiestňovať prekážky manuálne je dobré cvičenie, ale inak celkom otrava. My teraz použijeme skript na náhodné generovanie objektov. V druhej časti lekcie ozvučíme našu hru.

Stiahnite si do assetov skript Generator.cs

  • Vymažte zo scény manuálne vytvorené prekážky
  • Vytvorte nový prázdny game objekt, pomenujte ho Generator a priraďte na neho z assetov skript Generator.
  • Nastavte veľkosť game objektu Generator aby pokrýval plochu stola:

Teraz už len ostáva povedať skriptu Generator, ktoré objekty má generovať. Urobíme to podobne, ako keď sme minule odpaľovaciemu skriptu nastavovali, že má odpaľovať loptičku. S tým rozdielom, že predtým sme ako hodnotu nastavovali game objekt Lopticka. A teraz budeme nastavovať ako hodnotu prefab Prekazka:

Po spustení hry nám generátor vygeneruje 5 prekážok:

Ak sa vám nepáči, že prekážky sú v rôznej výške, nastavte veľkosť game objektu Generator v smere Y na 0.

Ozvučenie hry

Zvukové efekty sú pri interaktívnych aplikáciách dôležité. Dodávajú virtuálnemu prostrediu realizmus a dávajú používateľovi odozvu na jeho akcie. My pridáme do hry zvuky do prekážok, do hrán stola a fanfáru, keď loptička zmizne v exite.

Komponent, ktorý naučí game objekty vydávať zvuk sa volá Audio Source. Pridajme ho na game objekt Exit a nastavme audio asset fanfáry do vlastnosti Audio Clip v komponente AudioSource:

Keď teraz pustíme hru, stane sa, že fanfára sa automaticky prehrá. Veď vyskúšajte.

To asi nechceme. My chceme, aby sa prehrala len keď do Exitu vbehne loptička. Automatické prehratie zvuku vypnete v komponente Audio Source vo vlastnosti Play On Awake.

Akurát, teraz nehrá žiadny zvuk vôbec. Ako zabezpečíme, aby sa zvuk prehral pri kolízii Exitu s loptičkou? Na to som vám opäť pripravil jednoduchý skript:

Stiahnite si do assetov skript SoundOnImpact.cs a priraďte ho na game objekt Exit

Teraz už hra prehrá fanfáru len keď do Exitu niečo vbehne (napríklad loptička).

Pridajte takto zvuk nárazu do drevenej hrany na drevené hrany stola.

Môžete si ušetriť prácu tak, že si označíte všetky drevené prekážky naraz a v inšpektore im takto naraz priradíte všetky potrebné komponenty a nastavenia.

Pridajte takto aj zvuk nárazu do prekážky na prefab Prekazka.

Nastal okamih oceniť, aký dobrý vynález prefaby sú. Stačí priradiť komponenty na prefab, nastaviť im v prefabe hodnoty a všetky vygenerované objekty už budú mať tieto vlastnosti automaticky.

Audio zdroj na game objekte je v scéne zobrazený ako ikonka reproduktora.

Týmto sme ukončili základ našej hry. V ďalších lekciách sa začneme zaoberať skriptovaním.

Tu je hotový projekt po tejto lekcii: MojaHra_05.zip