23.02 - deo 2 Rad sa kamerom
Nastavna jedinica: Рад са камером. Програмирање камера да прати играча.
Kamera
Najbitniji deo prostora igre su kamere. One predstavljaju naš pogled unutar scene. Kamera ima prilagodljivo vidno polje (eng. field of view (FOV)), piramidalnog oblika. Kako su za Unity svi objekti unutar scene objekti igre, tako je i kamera
objekat igre te samim tim sadrži i transform komponentu koja opisuje njenu poziciju i rotaciju.
Napomenimo i to 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
i slično, dodaju se samoj kameri kako bi se dobila realna simulacija ljudskog oka. Moguće je dodati i efekte koje ljudsko oko ne može doživeti kao na primer svetleće trake pri pogledu u sunce. 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).
Unity Camera komponenta
Uz transform komponentu koju ima svaki objekat igre, objekat kamere u sceni ima i Camera komponentu, koja je glavna komponenta zadužena za uspostavljanje gledišta. Da bi bilo jasnije kako Camera komponenta kreira gledište, potrebno je proučiti njene parametre.
Clear flags - Najčešće postavljeno na Skybox kako bi se omogućilo iscrtavanje skybox materijala postavljenog na sceni. Skybox je panoramska tekstura koja se iscrtava iza svih objekata na sceni kako bi predstavila nebo ili bilo koju drugu vizuru na velikoj udaljenosti. Kada se u sceni koristi više kamera, ovaj parametar omogućava podešavanja kamera radi iscrtavanja različitih delova scene.
Background - Menjanje boje koja se iscrtava iza svih objekata igre ako nije postavljen skybox. Gledište koje kamera iscrtava i koje je prazno, biće obojeno izabranom bojom.
Projection - Omogućava kameri da simulira perspektivu. Moguće je menjati između perspekivnog (piramidalni oblik, simulacija ljudskog pogleda) i ortografskog (pravougaoni oblik) tipa projekcije. Ortografske kamere se najčešće koriste kod strateških i 2D igara.
Size - Veličina prikaza kamere kad je podešena na ortografsku.
Clipping planes - Udaljenosti od kamere od kojih se iscrtava prostor igre. Postoje prednja i zadnja ravan odrezivanja. Prednja je najmanja udaljenost od koje počinje iscrtavanja dok je zadnja ravan najveća udaljenost, odnosno udaljenost gde iscrtavanje prestaje.
Viewport rect - Četiri vrednosti koje indiciraju gde će se na ekranu kamera pozicionirati. Najčešće je pogled ceo ekran. Ovo se menja kada je potrebno prikazivati 2 ili više pogleda kamera u isto vreme, na primer, u igrama simulacije vožnje automobila, igrač mora videti ispred i iza sebe (retrovizor).
Depth - Služi za određivanje prioriteta kamere.
Culling mask - Uključuje ili izostavlja slojeve objekata koje će kamera iscrtavati. Slojevi u Unity okružnju su dodatni način grupisanja objekata u cilju primene određenih pravila na njih. Najčešće se koriste za grupisanje i primenu pravila iscrtavanja
osvetljenja i kamere.
Drugim rečima (da ponovimo):
- Kamera je komponenta koja prikazuje što igrač vidi.
- Broj kamera i njihovi položaji su neograničeni i mogu se manipulirati koliko je god potrebno.
- Neke igre s više igrača zahtijevaju kameru za svakog igrača, druge igre imaju samo jednu kameru koja prikazuje sve igrači.
- Sastoji se od dvije perspektive: ortografska i perspektivna.
- Ortografska kamera nema nikakvu perspektivu i najčešće se koristi za 2D ili izometrijske igre.
- Perspektivna kamera se ponaša sličnije ljudskom oku i ima svoju perspektivu. Obično se koristi za 3D igre, ali moguće ju je iskoristiti i za 2D igre ako su dizajnirane na poseban način.
Kako izvesti da kamera prati igrača:
Zadatak:
Kreirati igricu u kojoj su elementi kao u prethodnom videu i u njoj da kamera parti igrača.
Ako ne znate kako, podsetite se pomoću sledećih video snimaka sa Youtube-a: