Lekcija ( predviđeno za 01.12)
Bitni pojmovi koje treba znati
2.1. Unity Asset
Asset je sredstvo koje koristimo u našim projektima.
Unity Asset trgovina (Unity Asset Store) je web stranica na kojoj se nalaze svi Asseti koje proizvodi zajednica ili kompanija. Ima velik izbor besplatnih, visoko kvalitetnih Asseta, od kojih ćemo neke koristiti.
Assetima možemo pristupiti putem jednostavnog interfejsa ugrađenog u Unity koji omogućuje preuzimanje i uvoz sredstava izravno u projekat. Trgovini pristupamo klikom na dugme Asset Store koji se nalazi iznad prozora scene.
Napomena: Unity tretira sve fajlove koji se koriste za izradu igre kao Assete.
2.2 Scene
Scena
sadrži objekte igre. Mogu se koristiti za izradu menija,
individualnih nivoa igre (engl. levels) i bilo čega drugog.
Preciznije, svaka scena je poseban nivo igre ili meni. Unutar scene,
igra se gradi deo po deo, postavljanjem pozadine,
prepreka, dekoracije i drugih objekata. Kreiranjem igre u više scena
postiže se mogućnost pokretanja zasebnih delova igre te i lakšeg
testiranja tih delova.
2.3. Objekat igre
Sve
što postoji unutar Unity igre predstavlja objekat igre (engl.
GameObject). Kada se Asset koristi unutar scene, on tada postaje
novi objekat igre. Objekat ne mora da ima funkcionalnosti, već može
da se ponaša kao nosač (engl. container) za komponente koje nadalje
imaju neke svoje funkcionalnosti. Da bi se koncept objekata igre
bolje razumeo, mora se upoznati sa komponentama:
2.4. Komponente
Komponente su funkcionalni delovi svakog objekta igre. Ponašanje objekta igre se kontroliše preko komponenti koje su mu dodate. Komponente se javljaju u različitim oblicima i mogu uticati na ponašanje objekta koji ih sadrži, definisati pojavu i iscrtavanje ili uticati na neke druge funkcije objekta unutar igre. Dodavanjem komponente na objekat igre, dodaju se i novi delovi engine-a tom objektu i tako se modifikuje sam objekat na željeni način.
Bitno: Svaki
objekat sadrži barem jednu komponentu – Transform komponentu.
Ova komponenta engine-u daje informaciju o svojoj poziciji u 3D
prostoru pomoću X, Y, Z koordinata, njegovu veličinu i rotaciju.
Rigidbody2D, Collider2D, ParticleSystem
i Audio su različite
komponente koje se mogu dodati objektu igre.
2.5. Skripte
Iako Unity ima mnoštvo predefinisanih komponenti za razna svojstva, jasno je da će nekad biti potrebno da se definišu sopstvene funkcije igranja. Unity dozvoljava kreiranje sopstvenih komponenti korišćenjem skripti. Skripte nam dozvoljavaju aktiviranje događaja (engl.events) u igri, modifikovanje svojstva komponente u realnom vremenu, odgovaranja na korisnički unos na željeni način. Skripte su važan i ključan koncept svakog razvoja igre.
2.6. Prefab (šabloni)
Ovo
je tip Asseta koji je moguće koristiti u više scena kao i više
puta unutar jedne scene. Šablon (engl.Prefab)
nam omogućava da sačuvamo prethodno kreirani objekat igre sa svim
komponentama i svojstvima. Šablon se ponaša kao prototip od kojeg
se mogu kreirati nove instance ( novi primerci ) u igri. Svaka
instanca je povezana sa šablonom i predstavlja identičnu kopiju
šablona. Bilo
kakva promena nad šablonom se odražava na sve njegove instance.
Međutim, mogu se izmeniti komponente i podešavanja za svaku
instancu pojedinačno. Ovako sačuvani objekat se može kasnije
koristiti u bilo kojem delu naše igre, neograničen broj puta.
2.7. Kamera
Kamere su najbitniji deo prostora igre. One predstavljaju naš pogled unutar scene. Kao što se kamere koriste u filmovima da prikažu priču gledaoca tako kamera u Unityu prikazuje šta vidi glavni lik u svetu u kojem se nalazi.
Kamera ima prilagodljivo vidno polje (engl. field of view – FOV), piramidalnog oblika. Kako su za Unity svi objekti unutar scene objekti igre (GameObject), tako je i kamera objekat igre te samim tim sadrži i transform komponentu koja opisuje njenu poziciju i rotaciju. Treba napomenuti i da Unity koristi 3D prostor za raspoređivanje 2D objekata tako da se i kamera može lako postaviti bilo gde unutar prostora, animirati ili pridodati nekom drugom liku ili objektu unutar igre. Efekti kao što su svetlo, zamagljivanje, svetleće trake i slično mogu da se dodaju kameri.
Kako bi igra uopšte bila funkcionalna moramo imati barem jednu kameru u sceni, naravno možemo ih imati više. Mnoge scene u modernim igrama implementiraju više kamera. Unity dozvoljava kreiranje više kamera unutar scene i omogućava menjanje glavne kamere tokom igre (izvodi se pomoću skripti). Dobar primer više kamera su igre u kojima imamo podeljen ekran kako bi dva igrača mogla igrati. Kamere se mogu animirati kao i 3D objekti, da se pokreću nezavisno od igrača tako da time dobijamo dramatičniji efekat.