Hrvatska znanstvena bibliografija



UNITY 3D – IZRADA VIRTUALNOG PROSTORA I PRINCIPI INTERAKCIJE KRETANJA

S. Golub1, D. Vusić2 i A. Bernik3

Veleučilište u Varaždinu, odjel Multimedija, oblikovanje i primjena

1. Sažetak

Tema ovog rada je upoznavanje korisnika sa sučeljem Unity3D programa za razvoj aplikacija namijenjenih različitim platformama. Cilj rada je predstaviti proces izrade jednostavne aplikacije (igre) namijenjene pokretanju u web pregledniku. U prvom dijelu rada opisano je kompletno sučelje programa te izbornici i osnovne funkcije koje program nudi. Svaki izbornik opisan je u zasebnoj cjelini. U drugom dijelu rada opisan je sam proces izrade jednostavne igre. Počevši od kreiranja samog plana terena do njegovog kreiranja. Također je objašnjen proces izrade i postavljanja svih elemenata na teren te izrada igrača u prvom licu. Zadnje cjeline objašnjavaju kreiranje i korištenje jednostavnih Javascript skripta te spremanje cijelog projekta za korištenje u web pregledniku.

2. Uvod

Unity3D je cjeloviti program za razvoj igara koji omogućuje bogatu funkcionalnost namijenjenu izradi igara i ostalog interaktivnog 3d sadržaja. Unity3D se koristi za spajanje umjetnosti u scene i okolinu, testiranje i editiranje igara. Omogućuje bogatu funkcionalnost namijenjenu izradi igara i ostalog interaktivnog 3d sadržaja. Koristi se za spajanje umjetnosti u scene i okolinu, testiranje i editiranje igara. []

U prvom dijelu rada korisnik se upoznaje sa sučeljem programa te osnovnim pojmovima koje je neophodno poznavati kako bi se kreirala aplikacija.

U drugom dijelu detaljno je objašnjen proces izrade praktičnog dijela rada odnosno aplikacije (jednostavne igre). Počevši s kreiranjem novog projekta te podešavanjem postavki koje su potrebne za izradu aplikacije. Nakon podešavanja postavki terena objašnjena je izrada terena, odnosno dijela po kojem se igrač kreće. Za kreiranje terena koristi se alat Terrain Toolkit koji se nalazi na službenim stranicama programa te je besplatan za preuzimanje. Tim programom značajno se pojednostavljuje cijeli proces izrade terena. Nakon kreiranja terena objašnjen je proces testiranja terena kako bi se kasnije izbjegle nepotrebne pogreške u samoj aplikaciji. Kako bi se testirao teren potrebno je kreirati igrača u prvom licu (eng. First Person Control) te postaviti svijetlo na teren. U radu su objašnjeni svi dostupni izvori svjetla te izvor koji se najčešće koristi za testiranje terena.

U aplikaciji se također koriste elementi vatre, dima, magle i vode. Kreiranje svakog od elemenata posebno je objašnjeno u radu te sve postavke koje korisnik mora znati da bi bio u mogućnosti kreirati ih. U završnom dijelu rada objašnjava se proces spremanja aplikacije te izvoz gotove aplikacije namijenjene samostalnom pokretanju.

3. Izrada praktičnog primjera

Cilj rada je objasniti proces izrade jednostavne aplikacije (igre) pomoću Unity3D programa. U radu se po korak po korak vodi korisnika kroz proces izrade aplikacije pri čemu se objašnjavaju sve važne postavke i funkcije koje se koriste kod izrade.

3.1. Kreiranje projekta i postavke terena

Svaki bi se novonastali projekt trebao započeti kreirati prema nekom nacrtu. Ne mora to nužno biti detaljan nacrt koji točno opisuje kako treba izgledati finalni proizvod. To može biti samo ideja prenesena na papir.

Ovaj je projekt nastao prema nacrtu koji samo u grubim crtama prikazuje kako bi trebala izgledati završena igra. Na nacrtu su označeni svi veći i važniji dijelovi mape. Kako je na nacrtu unaprijed naznačeno gdje će pojedini dijelovi biti kreirani te koji će se elementi primjenjivati na mapi, zna se koje elemente treba uvesti kod kreiranja novog projekta. Na nacrtu je označeno da se trebaju kreirati voda, drveće, vatra, dim, magla, oblaci, sjene... Tako se zna da treba uvesti pakete koji će se kasnije koristiti za kreiranje istih.

[pic]

Slika 1. Prikaz grubog nacrta izgleda finalnog proizvoda

Paketi koji se uvode kod kreiranja novog projekta su: Character,Controller.Unity3DPackage, Skyboxes.Unity3DPackage, Terrain, Assets.Unity3DPackage, Particles.Unity3DPackage te Water (Pro Only). Unity3DPackage. Ako se koji paket zaboravi uvesti kod kreiranja novog projekta, može se i naknadno uvesti u sam projekt. []

3.2. Postavke terena

Kad je kreiranje novog projekta završeno, započinje se s kreiranjem terena. Kod novonastalog terena potrebno je odrediti njegove postavke za potrebe daljnje izrade aplikacije. Treba odrediti veličinu terena, visinu do koje se proteže kretanje, rezoluciju mape i teksure.

[pic]

Slika 2. Prikaz panela za mijenjanje postavki rezolucije

Kod kreiranja novog terena unaprijed određuju se postavke, tj. vrijednosti koje su prikazane na slici 3.1. Za ovaj će se projekt koristiti manja rezolucija. Rezolucija, tj. veličina terena, proporcionalna je s veličinom zauzimanja prostora i memorije završnog projekta.

3.3. Terrain Toolkit

Alati za kreiranje terena (eng. Terrain Toolkit) nisu sastavni dio Unity3D programa te ih je potrebno dodatno skinuti sa Unity3D web stranice i uvesti u program. Alat Terrain Toolkin skine se sa službenih stranica Unity3D zajednice. Sam proces skidanja i uvođenja u projekt je veoma jednostavan.

[pic]

Slika 3. Poveznica do Terrain Toolkit alata na službenim stranicama Unity3D zajednice

Uvođenje dodatnih paketa već je objašnjeno na početku rada pod naslovom Packages (paketi). Novouvedeni paket je potrebno povezati s projektom na kojemu se želi primijeniti. Terrain Toolkit je alat koji se, kao što samo ime govori, koristi za kreiranje terena. U paketu se nalazi velik broj alata koji omogućuju izradu velikog broja različitih elemenata koji se koriste u izradi terena. Alat ima i opciju automatskog kreiranja terena prema zadanim opcijama. Za automatsko kreiranje terena koriste se sljedeći alati: Voronoi, Fractal, Perlin, Smooth i Normalise.

3.4. Izrada terena

Budući da kreirani teren izgleda kao jednostavna ploha, potrebno ga je oblikovati prema nacrtu. Kreirani teren neće biti beskonačno velik te je potrebno izraditi neku prepreku po rubovima kako igrač ne bi mogao izaći izvan zamišljenog terena. Ta će prepreka biti, kao što je u nacrtu zadano, planina. Planine koje će se nalaziti na rubovima cijeloga terena trebaju biti visoke kako bi zadovoljile svoju funkciju na tom položaju, tj. da igrač ne može prijeći preko njih.

Teren se izrađuje pomoću Terrain Toolkit alata. Pomoću kista se naprave izbočine koje predstavljaju planine. Ako planine imaju preoštre rubove, alatom Smooth Height se se može te rubove izgladiti kako bi se dobile fine nijanse i prijelazi između ravnih dijelova i izbočina.

[pic]

Slika 4. Prikaz Terrain Toolkit alata za izradu mape

3.5 Testiranje reljefa pomoću First Person Control objekta

Budući da je već kod kreiranja novog projekta uvedeno više paketa, među njima se nalazi i Standard Assets. U njemu se nalazi mapa Character Controller koja sadrži dva različita paketa. Prvi je 3rd Person Controller, a drugi je First Person Controller.

First Person Controller je kontrola nad igraćim objektom u prvom licu, tj. First Person se odnosi na grafičku perspektivu randeriranu kroz vidno polje igračevog lika. [ workshop/bhu_igga/workshop.beamer.pdf] Kontrola objekta vrši se kroz pogled kamere koja je postavljena kao da se igrač sam virtualno kreče kroz prostor. U mnogim slučajevima to može biti pogled iz kokpita nekog vozila. Više različitih žanrova koristi First Person perspektivu kao npr. avanturističke igre te simulatori letenja. Jedan od najzapaženijih žanrova koji koristi

First Person perspektivu je pucač u prvom licu kod kojega perspektiva ima ogroman utjecaj na igru. [(video_games)] First Person Controller se samo povuče iz kartice na scenu i već je spreman za testiranje. Za podešavanje postavki brzine, gravitacije, skakanja i ostalih kontrola igraćeg objekta selektira se igraći objekt te se u kartici Inspector kod Character Motor (Script) mijenjaju željene postavke.

Kod postavljanja First Person Controller objekta potrebno je prethodno postaviti važnu komponentu, koja je također potrebna za virtualno kretanje kroz prostor, a to je postavljanje svjetla. Unity3D program koristi nekoliko različitih izvora svjetla:

Point Lights – sjaji od postavljene lokacije jednako u svim smjerovima, poput žarulje;

Directional lights – svjetlost smještena daleko od scene koja utječe na sve elemente na sceni, sjaji poput Sunca;

Spot lights – sjaji iz točke u jednom smjeru i osvjetljava objekte samo unutar konusa, kao svjetlo na automobilu;

Area lights – dostupno samo kod Lightmap osvjetljavanja, sjaji prema površini u svim smjerovima jednako, unutar pravokutne granice.

Za testiranje se najčešće koristi Directional Light izvor svjetla jer je smješten daleko od scene te je dovoljan samo jedan izvor da bi osvijetlio cijelu scenu. Taj je izvor najlakše i najtočnije usporediti sa Suncem. Kad je First Person Controller objekt postavljen na scenu te kad je postavljen izvor svjetla, testiranje reljefa terena može započeti. Testiranje terena pokreće se pritiskom na gumb Play. Testiranje terena vrši se kako bi se kretanjem po njemu vidjelo je li teren na kojem mjestu previše ispupčen, nalaze li se negdje greške i nedostupna područja te da se na vrijeme primijete i isprave pogreške nastale tijekom skulpturiranja terena.

3.6 Terrain Assets

Prije postavljanja tekstura na teren, potrebno je uvesti Terrain Assets paket u Unity3D program. Terrain Assets paket dostupan je na službenim stranicama Unity3D programa i besplatan je. Uključuje 12 različitih modela drveća, 12 modela različitog grmlja i raslinja, 6 vrsta trava te 22 vrste različitih tekstura što je dovoljno za postavljanje niza različitih terena.

3.7 Proceduralno teksturiranje i teksturiranje kistom

Sljedeći korak je izrada proceduralnog teksturiranja gdje će teksture pokriti cijeli teren. Proceduralno teksturiranje može koristiti više tekstura odjednom. U projektu će se koristiti tri različite teksture. Jedna će tekstura prekrivati nizine te teren po kojemu se najviše kreće, druga će tekstura pokrivati brda, a treća će se nalaziti samo na pojedinim mjestima vulkana i većeg brda.

Proceduralno teksturiranje se koristi kako bi se ugrubo postavile osnovne teksture koje prekrivaju najveći dio terena. Ostale se teksture dodaju ručno kasnije. Kod proceduralnog teksturiranja potrebno je namjestiti do koje se visine koristi jedna tekstura, a iznad koje druga. Ako postoji više tekstura, stavljaju se parametri za druge teksture također na isti način.

Budući da se proceduralno teksturiranje koristi za teksturiranje cijeloga terena, ono samo po sebi nije dovoljno jer je ograničeno parametrima visine. U tim se slučajevima koristi „ručno“ teksturiranje, odnosno željene se teksture na određena područja nanose pomoću kista.

3.8 Izrada okoline i postavljanje neba i Sunca

Postavljanje drveća može se izvršiti na dva načina: automatskim postavljanjem različite gustoće drveća po cijelom terenu i ručnim postavljanjem drveća pomoću kista. Budući da se na terenu postavlja više različitih vrsta drveća, koristit ćemo metodu postavljanja drveća kistom.

Za korištenje ručnog postavljanja drveća pomoću kista u kartici Terrain koristi se opcija Place Trees. Kod postavljanja drveća pomoću kista potrebno je konfigurirati veličinu kista, gustoću drveća te veličinu i visinu drveća. Kad su te postavke konfigurirane, samo se odabere koju vrstu drveća, prethodno uvezenu u Unity3D, se želi postavljati te se kistom označe područja terena na kojemu se žele postaviti.

Za dodavanje neba koriste se gotove mape koje su sastavni dio Unity3D programa te se kod kreiranja novog projekta uvoze kao paketi. Dodavanje neba može se postići na dva različita načina. Može se postaviti na glavnu kameru pa se nebo vidi samo kod pokretanja igre jer se slika neba generira pogledom kroz kameru. Drugi je način da se otvori kartica RenderSettings te doda materijal neba kod Skybox Material opcije. Na taj se način nebo vidi kod samog stvaranja igre, odnosno na sceni i u igraćem modu.

Za dodavanje Sunca i odbljeska zraka Sunca potrebno je uvesti paket Light Flares.Unity3DPackage koji dolazi s instalacijom Unity3D programa. Paket sadrži tri različita elementa: Sun (Sunce), 50mm Zoom (zrake Sunca) i Small Flare (manji odbljesak Sunca). Zrake Sunca dodaju se izvoru svjetla Directional Light. Kartica Light sadrži prozor Flare koji se koristi za postavljanje Sunca ili zraka Sunca. U taj se prozor samo povuče jedan od prethodno uvezenih elemenata i dobije željeni efekt.

3.9 Kolizija

Postavljene kolizije važan su element igre u smislu funkcionalnosti i realnosti kretanja kroz teren. Bez postavljenih kolizija igrač se može kretati kroz drveće, kamenje i ostale postavljene elemente kroz koje se u stvarnosti nije moguće kretati. Da se izbjegne ovaj nerealan efekt kretanja, postavljaju se kolizije na elemente kroz koje se u igri (kao i u stvarnosti) nije moguće kretati. [] Postoje četiri načina postavljanja kolizija na elemente. Mogu se postavljati u obliku kocke, sfere, kapsule ili se može koristiti vanjska mreža samog elementa na koji se postavljaju.

[pic]

Slika 5. Prikaz različitih vrsta postavljanja kolizija

Kod kapsule, kocke i sfere kolizije su vidljive u zelenoj boji te su moguće transformacije nad njima, a kolizije postavljene na samu mrežu objekta nisu vidljive, odnosno mreža postaje kolizija.

3.10 Eksterni objekti Autdesk Maya

Za dodavanje različitih objekata kreiranih u drugim 3D programima (u ovom slučaju pomoću programa Autodesk Maya) potrebno je izvesti objekte u određenom formatu kako bismo ih mogli uvesti u Unity3D. Format u koji se sprema željeni objekt koristi ekstenziju .fbx.

Nakon toga je potrebno konfigurirati opcije koje se nalaze s desne strane prozora. Potrebno je odznačiti opciju Animation jer se izvoze samo statični objekti te označiti opciju Embed Media. Opcija Embed Media odnosi se najprije na teksture korištene u mapiranju objekata. Da bi objekt koji je uvezen u Unity3D program izgledao identično kao u programu u kojemu je kreiran, potrebno je izvesti sve teksture i elemente korištene u stvaranju toga elementa pomoću opcije Embed Media.

Sljedeća opcija koja se treba definirati nalazi se u izborniku Units. Navedena opcija služi za postavljanje mjernih jedinica u kojima se objekt izvozi. Kako uvezen objekt ne bi izgledao premalen ili prevelik, potrebno je izjednačiti mjerne jedinice između programa pomoću kojih se aplikacija izrađuje. Kod kreiranja elemenata za izvoženje u Autodesk Mayi potrebno je namjestiti mjerne jedinice u metre, a kod izvoženja ih je potrebno prebaciti u centimetre.

3.11 Dodavanje efekta vode i magle

Za dodavanje vode mogu se koristiti dva različita uvezena paketa. Kod verzije Unity3D programa za profesionalnu izradu koristi se paket Water (Pro Only), a kod verzije za neprofesionalnu i nekomercijalnu upotrebu koristi se paket Water (Basic). Razlika između ta dva paketa je u kvaliteti konačnog izgleda površine vode. Da bi se dodao efekt vode u aplikaciju, jednostavno se proširi paket Water u kojemu se nalaze Daylight Water i Nighttime Water, odnosno voda koja se koristi ako u aplikaciji prevladava dan i voda koju se koristi ako u aplikaciji prevladava noć.

Voda se postavlja tako da se jednostavno povuče iz kartice Project na teren. Tada se konfigurira veličina, pozicija te gustoća i kvaliteta teksture u kartici Inspector.

Da bi se dodao efekt magle, potrebno je u padajućem izborniku Edit odabrati opciju Render Settings. Opcija Render Settings u kartici Inspector otvara niz opcija za postavljanje magle (eng. Fog).

Budući da teren koji se kreira ima vulkan te će koristiti puno vatre i dima, za pretpostaviti je da će biti zamagljen. Najprije je potrebno uključiti efekt magle te odabrati njeno obojenje. Budući da izgled terena podsjeća na pustinju te sadrži najviše boje nijansi pijeska, obojenje magle (eng. Fog Color) također je potrebno postaviti u sličnoj nijansi. Gustoću magle (eng. Fog Density) se postavi veoma nisko tako da magla nije pregusta, odnosno da izgled terena izgleda što je realnije moguće. Također je potrebno promijeniti boju izvora svjetla (Directional light) u nijansu smeđe čime se postiže efekt miješanja pijeska s maglom te se dobiva fina nijansa realnog izgleda magle.

3.12 Dodavanje efekta i zvuka vatre

Da bi se dodao efekt vatre, potrebno je u kartici Project proširiti mapu Particles te potražiti podmapu Fire. U podmapi Fire nalaze se dva paketa: Fire1 i Flame. Fire1 se koristi u slučajevima kad je potrebno prikazati vatru koja zauzima veću površinu djelovanja, npr. gorenje veće površine trave. Flame se koristi na manjim površinama i sam izgled Flame vatre podsjeća na goruću kuglu te se više koristi gdje treba prikazati konstantan izvor vatre npr. kod vulkana ili svijeće. Za potrebe izrade vulkanske vatre koristi se paket Fire1. Da bi se dodalo vatru na scenu, dovoljno je samo mišem prenijeti paket Fire1 na željeno mjesto. Novonastalu vatru potrebno je konfigurirati kako bi odgovarala zahtjevima.

Kako bi vatra izgledala što realističnije, potrebno je više puta raditi provjeru u Game modu da bi se vidjelo kako vatra i dim izgledaju izbliza, a kako izdaleka, te podešavati opcije dok se ne dobije zadovoljavajući efekt.

[pic]

Slika 6. Prikaz postavljene vatre

Efekt isparivanja vode postiže se transformacijom izgleda dima koji se stavlja na površinu vode. Da bismo postigli efekt izvora tople vode, potrebno je prikazati isparivanje vode kako bi igrač osjetio da se na terenu nalazi izvor tople vode. To se postiže tako da se iz kartice Project u mapi Particles otvori mapa Smoke te se iz te mape na površinu vode povuče element Fluffy Smoke (pahuljasti dim). Kako bi transformirali izgled izvora dima u izvor pare, potrebno je u kartici Inspector promijeniti Shader u Particles/Aditive čime se postiže efekt izvora pahuljastog dima bijele boje koji izgledom podsjeća na izvor vodene pare. Da bi se dobio realističniji izgled pare, potrebno je Tint Color (boja dima) promijeniti u najsvjetliju nijansu žućkasto-smeđe boje kako bi se boja pare stopila s izgledom terena i okoline. Također, treba izmijeniti postavke maksimalne i minimalne veličine, energije te emisije kako bi se veličina izvora i trajanje isparavanja prilagodilo što više realnom izgledu.

Kako bi se vatri postavljenoj na teren dodao zvuk, najprije je potrebno imati zapis zvuka vatre. U ovom su radu zvukovi koji se koriste besplatno skinuti s interneta. [nature-sounds.html] Najprije je potrebno provjeriti je li uključen Audio Listener u kartici Inspector kod First Person Controller objekta.

Zvuk se može dodati na dva načina: može ga se izravno dodati vatri tako da se u kartici Component odabere opcija Audio Source. Taj se način dodavanja zvuka ne preporučuje. Ako bi npr. došlo do promjene kod kreiranja igre te bi se mijenjala vatra, trebao bi se ponovo dodavati i zvuk. Drugi način dodavanja zvuka zahtijeva kreiranje Empty Game Objecta (hrv. praznog igraćeg objekta). Kad je kreiran, najprije mu je potrebno promijeniti ime da bi se znalo da se taj objekt koristi za dodavanje zvuka. Pozicija objekta mora biti u samom središtu vatre kako bi kasnije kad se doda zvuk, izvor zvuka bio u središtu.

Nakon toga je potrebno kreirati novu praznu mapu u kartici project te joj promijeniti ime u npr. mp3 kako bi se znalo da se u toj mapi nalaze zvukovi. U tu je mapu potrebno uvesti zvuk tako da se otvori mapa sa zvukom te se povuče pokazivačem miša u kreiranu mapu za zvukove (mp3). Kad je kreirano sve što je potrebno, jednostavno se označi prazan igraći objekt te se u padajućem izborniku Component odabere Audio Source opcija koja se nakon toga kreira u Inspector kartici. Kod Audio Clip opcije potrebno je povući zvuk iz kreirane mape (mp3) u kartici Project. Na kraju je još potrebno podesiti opcije kao što je Loop, koja omogućuje da se zvuk vatre beskonačno ponavlja, te opcije kod padajućeg izbornika 3D Sound Settings. Za podešavanje tih opcija se koristi graf koji prikazuje pojačavanje zvuka u odnosu na udaljenost igraćeg objekta od izvora zvuka.

3.13 Efekt vjetra

Da bi se stvorio efekt vjetra, potrebno je konfigurirati dvije komponente kako bi vjetar izgledao realistično. Najprije je potrebno postaviti zvuk vjetra tako da se zvuk doda kameri (u ovom slučaju samo je jedna, Main kamera) kako bi se omogućilo da igrač čuje zvuk puhanja vjetra bilo gdje na terenu. Zatim je potrebno postaviti sam vjetar (eng. Wind Zone). U kartici Hierarchy u padajućem izborniku Create odabire se opcija Wind Zone koja se kreira na terenu. Pritiskom tipke F Wind Zone se približava elementu koji izgleda kao strelica. Smjer strelice pokazuje smjer puhanja vjetra, stoga njegovom rotacijom možemo kontrolirati smjer puhanja vjetra.

Kako bi se drveće koje je postavljeno na terenu njihalo u smjeru vjetra, potrebno je svakoj instanci drveta dodati Ben Factor, odnosno faktor reakcije na vjetar. Faktor reakcije se dodaje selekcijom terena te editiranjem drveća koje je definirano u kartici Inspector pod nazivom Trees.

3.14 Kreiranje objekata za sakupljanje

Objekti koji se koriste za sakupljanje, u ovom su radu zamišljeni kao novac. Kreirani su u Autodesk Studio Maya programu namijenjenom izradi i animaciji 3d sadržaja. Nakon što su objekti modelirani i mapirani, izvezeni su kao .fbx datoteke te uvezeni u Unity3D kao takvi. Kad je objekt uvezen, potrebno je kreirati prazan igraći objekt te ga preimenovati u novac. Kad je označen, povuče se na teren uvezen novac iz mape u Project kartici. Novac koji je postavljen na teren je statičan, a da bi igra bila vizualno privlačnija, potrebno je dodati rotaciju. Da bi se to postiglo, potrebno je napisati kratki Javascript kod koji će taj objekt rotirati. Za stvaranje Javascript koda potrebno je u kartici Project pritisnuti desnu tipku miša, odabrati Create – Javascript te ga preimenovati u „rotacija“. Otvaranjem Javascript dadoteke otvara se MonoDevelop-Unity3D prozor koji se koristi za pisanje Javascript koda. On sadrži dvije unaprijed definirane funkcije: function Start() i fuction Update().

Funkcija function Start () poziva se prije početka prve sličice (eng. Frame) samo ako je instanca skripte omogućena odnosno definirana. Funkcija function Update() poziva se kod svakog okvira koji se u igri generira, npr. ako je broj sličica u sekundi 30, funkcija će se pozvati 30 puta u sekundi. Većina koda koja je potrebna za kreiranje igre koristi se unutar ove funkcije. Važno je napomenuti da igračev broj sličica u sekundi može varirati ovisno o hardveru i duljini vremena koje je potrebno za generiranje jedne sličice. Stoga je važno da se kod koji sadrži ova funkcija optimizira što je više moguće. []

Kad je javascript kod napisan, potrebno ga je spremiti i zatvoriti prozor za pisanje koda. Kako bi napisan kod djelovao na novac i rotirao ga, treba označiti objekt novca te prenijeti novonastali Javascript kod u karticu Inspector kako bi se kod izvršavao na objektu. Kako bi kasnije bilo moguće kreirati kod za sakupljanje novca, najprije instanci novca treba dodijeliti tag „kuna“ i to tako da se selektira objekt pa se u kartici Inspector u polju Tag odabere Add Tag. Zatim kod polja „element 0“ se upiše ime „kuna“. Nakon toga je potreban još jedan Javascript kod koji će u sudaru igrača i objekta (odnosno kolizije objekta) uništiti željeni objekt kako bi igrač dobio osjećaj sakupljanja novca.

Kako bi se kreirao nekakav završetak igre, odnosno da bi igra imala nekakav smisao, potrebno je ubaciti još jedan dio koda koji će koristiti kasnije, kad se kreira izbornik. Igra je zamišljena da igrač prođe kroz cijeli teren te, nakon što pokupi sav novac postavljen na terenu, završi igru.

Budući da igra nema više od jednog nivoa, po završetku će krenuti ispočetka. Kako će se kasnije cijeli projekt razdijeliti na tri scene (menu, menu 1 i game), potrebno je dodati Javascript kod koji će, kad se pokupi sav novac, scenu prebaciti na scenu s izbornikom (menu1).

Taj kod provjerava kod svakog generiranog prozora je li score (broj pokupljenog novca) jednak 14. Kad je score jednak broju 14, kreće s učitavanjem scene pod nazivom „menu 1“, koja će se kreirati u sljedećem poglavlju, te poništava postignut rezultat i postavlja početne postavke. []

3.15 Kreiranje izbornika

Kreiranje izbornika započinje definiranjem rezolucije u kojoj će se spremiti završena aplikacija. Za promjenu rezolucije potrebno je ići na padajući izbornik Edit i pod opcijama Project Settings odabrati Player. Budući da se ova aplikacija izrađuje prvenstveno kao web aplikacija, odabrana je rezolucija od 1024x768 piksela.

Postavljanje redoslijeda pokretanja scena vrši se pomoću Build Settings prozora. Na početno je mjesto potrebno postaviti scenu menu, a na drugo mjesto scenu game kako bi se najprije učitala scena sa izbornikom. Kako bi se dodao gumb za pokretanje igre, treba kreirati tekst. U kartici GameObject u podizborniku CreateOther potrebno je odabrati 3d Text, preimenovati ga te u Inspector kartici unijeti polje kod opcije Text u „Započni igru!“. Kreirani tekst se postavlja na željenu poziciju ispred kamere te mu se dodaje Box Collider (kolizija) kako bi kasnije bilo moguće kreirati interakciju.

Kako bi se tekst, odnosno gumb nalazio točno ispred kamere, potrebno je uključiti Scene View i Game View kartice u isto vrijeme unutar Unity3Da kako bi bilo moguće točno namjestiti kameru.

Da bi izbornik funkcionirao, potrebno je gumbu dodati Javascript kod koji će igrača preusmjeriti na „game“ scenu, odnosno na scenu na kojoj se igra odvija. Za to je potrebno kreirati novu Javascript dadoteku koji na pritisak tipke miša učitava i pokreće scenu „game“.

3.16 Spremanje i izvoz aplikacije

Budući da je ova igra kreirana s namjerom da se postavi na internet te da se može pokretati iz web preglednika u Build Settings prozoru, odabire se opcija Web Player te se pritiskom na gumb Build And Run aplikacija sprema na željeno mjesto. Nakon spremanja se pokreće u zadanom internet pregledniku. Da bi se aplikacije izrađene u Uniy programu mogle pokretati u web pregledniku, potrebno je instalirati besplatni Unity3D player koji se, ako nije instaliran, instalira prije pokretanja aplikacije.

4. Zaključak

Kreiranje 3d igara, i onih manje zahtjevnih, zahtijeva širok spektar znanja i vještina rada, ne samo u Unity3D programu, već i u ostalim programima namijenjenim izradi 3d sadržaja, te upotrebu najmanje jednog programskog jezika. Jasno je da je za stvaranje ozbiljnije aplikacije potrebno više osoba, čak i timova, gdje se sama aplikacija radi po dijelovima. Novonastale aplikacije za web, mobilne telefone te igraće konzole izlaze veoma brzim tempom zbog čega se i sam razvoj programa za izradu tih aplikacija poboljšava.

Unity3D program je cjelovit program koji obuhvaća izradu aplikacija za širok spektar uređaja. Tako je moguće kreirati aplikacije koje se pokreću u web preglednicima, aplikacije kao instalacijske datoteke, aplikacije koje se pokreću u Flash pokretačima, aplikacije namijenjene iOS operacijskim sustavima, aplikacije za PS3,Wii te Xbox 360 igraće konzole. Izgled programa te opcije koje nudi dizajnirane su na način na koji bi se mogli snaći i početnici u kreiranju aplikacija.

Ovaj rad najprije uvodi i upoznaje korisnika sa sučeljem i osnovnim funkcijama Unity3D programa, a zatim ga vodi kroz cijeli proces izrade jednostavne igre.

Rad je osmišljen na način da pomaže korisniku u upoznavanju Unity3D programa, odnosno njegovog sučelja i osnovnih funkcija te da korisniku korak po korak objašnjava i olakšava početak izrade željene aplikacije.

5. Literatura

• [], preuzeto: 4. listopad 2012

• [], preuzeto:29. listopad 2012

• [], preuzeto: 19. rujna 2012

• [], preuzeto: 2010

• [(video_games)], preuzeto: 26.rujan 2012

• [], preuzeto: 24. listopad 2011

• [], preuzeto: 26. travanj 2012

• [], preuzeto: 17. listopad 2012

• [nature-sounds.html], preuzeto: listopad 2012

• [], preuzeto: 26. travanj 2012

• [], preuzeto: 22. lipanj 2012

6. Informacije o autorima

Saša Golub, bacc. graph. tech.

Adresa, grad, zemlja

Telefon

golub.sasho@

Doc.dr. sc. Damir Vusić, prof. v. š.

Prodekan za nastavu

Veleučilište u Varaždinu, odjel Multimedija, oblikovanje i primjena

J. Križanića 33, Varaždin, Hrvatska

00 385 42 493 334

00 385 42 493 333

dvusic@velv.hr

Andrija Bernik, dipl. inf

Predavač

Veleučilište u Varaždinu, odjel Multimedija, oblikovanje i primjena

Ruđera Boškovića 14c, Varaždin, Hrvatska

091 899 1882

bernik.velv@

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download

To fulfill the demand for quickly locating and searching documents.

It is intelligent file search solution for home and business.

Literature Lottery