Uvod

U praktičnom djelu rada dan je kratki pregled korištenja UDK te kreirani level igre. Praktični rad podijeljen je po poglavljima, prilikom čega se prvih osam poglavlja odnosi na kreiranje jednostavnog levela igre, dok se posljednje poglavlje odnosi na dodatni primjer izrade terena. Po poglavljima je objašnjeno najjednostavnije kreiranje osnovnog prostora, pa sve složeniji elementi kao što su animacije i kreiranje osvjetljenja.

Perspektive

Na slijedećoj slici prikazane su četiri perspektive koje se koriste prilikom rukovanja s UDK-om. Korisnik može perspektive raspodijeliti po želji. Perspektiva broj 1 predstavlja tlocrt, perspektiva broj 2 nacrt, perspektiva broj 3 bokocrt, dok je četvrta perspektiva upravo perspektivni prikaz.

perspektive

Prostor se kreira jednostavnim desnim klikom na ikonu kocke, te se prilikom toga odredi veličina terena koju se želi kreirati. Isti postupak može se ponoviti i za zidove ukoliko se radi o zatvorenom prostoru ili se pak mogu primijeniti druge metode za preciznije rezultate. Na slijedećoj slici prikazan je postupak kreiranja prostora pomoću objekta kocke.

kreiranje prostora

Kako se može vidjeti na slikama prostor je poprilično osvijetljen iz razloga što je uključen takozvani ulit mode, odnosno UDK vidi da nismo postavili nikakvo svjetlo pa nam ga on odmah generira. No, praktičnije je da se prije daljnje izrade doda takozvano radno svijetlo koje će se koristiti samo za osvjetljenje prilikom modeliranja, dok će se za stvarno osvjetljenje levela koristiti osvjetljenje korištenjem objekata i sl. koje ćemo objasniti u nastavku. Radno svjetlo postavljamo na način da držimo tipku "L" i kliknemo bilo gdje na površinu koju smo kreirali. Ukoliko je potrebno namjestiti određeni radijus na svjetlu kako bi nam pokrilo cijelu površinu možemo kliknuti na tipku "F4" koja nam otvara svojstva objekta te možemo tamo namjestiti sve opcije. Radijus svjetla možemo vidjeti i na slici u obliku bijele polukružne crte.

Kreiranje radnog svijetla

Nakon postavljanja radnog svjetla kreiran je strop. Strop je kreiran na način da smo skopirali objekt od kojeg je načinjen pod, podijelili taj objekt kako bi načinili dvije odvojene prostorije, te primijenili određene efekte, odnosno skaliranja i translacije kako bi postigli oblik krova kao što se može vidjeti na slici.

Prostor final

Na donjoj slici moguće je vidjeti kako strop izgleda iznutra. Kako bi strop zaista bio tog oblika potrebno je primijeniti translaciju i skaliranje prvo izvana, te nakon toga iznutra.

strop

Ili možda jednostavnije i zornije prikazano wireframe modelom.

Strop

Postavljanje tekstura

Teksture možemo dodavati na više načina. Jedan od njih je da otvorimo "Content browser" u kojem se nalaze svi objekti koje je moguće koristiti unutar UDK. Nakon toga odaberemo željenu teksturu i jednostavno je "dropamo" na objekt na kojem je želimo primijeniti. Ukoliko imamo dosta objekata na koje želimo primijeniti istu teksturu možemo ih sve označiti s "ctrl + click" te primijeniti isti postupak.

Content browser

Nakon primjene tekstura naš kreirani prostor koji je prikazan u prethodnom poglavlju izgleda kao na slici ispod.

Teksture

Kako je moguće vidjeti na slici ove teksture nisu ujednačene na svim zidovima te ih je potrebno prilagoditi. Osim samog prilagođavanja da sve "crte idu u istom smjeru" možemo mijenjati i razna druga svojstva tekstura. Na primjer možemo ih povećavati tako da uzorak koji će biti vidljiv bude uvećan; smanjivati ih, micati lijevo-desno i sl. Rezultat popravljenih tekstura i malo prilagođenih na našem prostoru možemo vidjeti na slici ispod.

Teksture

Dakle ono što je napravljeno kod ovih tekstura je povećanje uzorka koji se prikazuje te ujednačavanje nagiba odnosno položaja teksture. Ukoliko je teksturu potrebno pomicati mogu se koristiti tipke- gore lijevo na slici, kojima je moguće postići pokretanje za nekoliko jedinica po vertikalnoj odnosno horizontalnoj osi.

Korištenje objekata

U UDK-u postoji nekoliko vrsta objekata koje je moguće koristiti, a koji su dostupni preko "Content browsera" koji je prikazan u prethodnom poglavlju. Radi demonstracije mi smo se fokusirali na korištenje takozvanih "static mesh-a" koje označavaju statične objekte koje nije moguće micati, odnosno oni su jednostavno statični objekti postavljeni na našem prostoru. U ovu svrhu moguće je koristiti objekte koji su dostupni u UDK-u ili samostalno modelirati u Mayi, Blenderu i sl. pa ih tada ubacivati u UDK. Za modeliranjem gotovo da i nema potrebe jer UDK nudi iznimno veliki broj mogućnosti.

U nastavku ćemo prikazati "punjenje" našeg levela sa static mesh-ima. Na slijedećoj slici prikazani su kreirani potporni stupovi od kojih se svaki sastoji od nekoliko objekata.

potporni stupovi

Kada želimo koristiti jedan objekt više puta ne moramo ga stalno "dovlačiti" iz "content browsera" veća ga kopiramo korištenjem tipke "alt" i povlačenjem miša u željenom smjeru. Na slijedećoj slici prikazan je kreirani zid s vratima koji se sastoji od nekoliko istih elemenata.

vrata

Kako naš level ne bi bio suviše dosadan kreirali smo još nekoliko polica od raznih objekata na koje smo poslagali nekoliko kutija koje smo rotirali u različitim smjerovima kako bi postigli što realniji doživljaj.

Police

Nakon nekog vremena kod izrade levela stvari postaju sve kompliciranije, odnosno na sceni ima previše objekata. Manipuliranje novim objektima postaje problem naročito u perspektivama tlocrta ili bokocrta te se iz tog razloga svi dodani objekti mogu grupirati kako bi se lakše njima upravljalo. Nakon toga jednostavno možemo sakriti nepotrebne objekte kako bi lakše dodavali nove i njima upravljali. Grupiranje objekata radimo na način da prvo odaberemo sve objekte za koje želimo da budu u jednoj grupi, zatim otvorimo "content browser" i odaberemo tab "layers". Nakon toga u meniu izaberemo opciju dodavanja novog layera i dodijelimo mu ime.

Grupiranje objekata

Na slijedećim slikama prikazan je završni izgled levela, odnosno izgled nakon što su kreirani/postavljeni svi objekti koje smo planirali. Također su postavljena i svjetla koja je moguće vidjeti na slici, no ona za sada ne predstavljaju stvarno osvjetljenje već ih je potrebno postaviti što će biti kasnije u nastavku opisano.

Završni dizajn

Na slijedećoj slici prikazan je drugi dio, odnosno izgled druge prostorije.

Završni dizajn

Kreiranje interaktivnih objekata

Kako bi level bio zanimljiviji moguće je kreirati objekte s kojima će igrač biti u interakciji. Prilikom korištenja UDK moguće je odabrati mnogo različitih vrsta takozvanih pomičnih objekata, odnosno onih s kojima igrač može manipulirati. Ukoliko se radi o FPS tipu igre jedan od najzanimljivijih objekata je dakako "Weapon Pickup Factory", odnosno neku stanicu za pokupiti oružje. Nju kreiramo na način da u "conent browseru" odaberemo "actor classes" te potom "Pickups" što označava "iteme" koje je moguće pokupiti, te potom "WeaponPickupFactory".

Weapon Pickup Factory

Na isti način moguće je dodati i druge interaktivne objekte. Mi smo se također odlučili za vozilo kako bi omogućili igraču vožnju po kreiranom levelu. Vozilo se dakle dodaje korištenjem istog izbornika te je moguće izabrati jedno od četiri već pripremljena vozila.

Vozilo

Za dodavanje nešto složenijih objekata čije "ponašanje" nije namješteno potrebna su dodatna podešavanja, odnosno kreiranje trigera, animacija i sl. što će biti objašnjeno u nastavku.

Pokretna vrata

Budući da u našem kreiranom levelu imamo prazninu koja omogućuje prolaz iz jedne prostorije u drugu, ista je iskorištena za kreiranje pomičnih vrata koja će se otvarati i zatvarati kako igrač bude prolazio. No, za ostvarivanje toga prvo trebamo kreirati rupu u zidu u koju će ta klizna vrata ulaziti kada se budu zatvarala. Na slijedećoj slici prikazan je wireframe za kreirani utor za vrata koji se može prepoznati po narančastoj boji.

Pokretna vrata

Nakon kreiranja utora potrebno je ponovno dodati teksturu. Kreirani utor za vrata prikazan je na slijedećoj slici.

utor za vrata

Budući da se radi o objektu koji će biti pomičan i koji će biti animiran postupak dodavanja objekta na scenu se ponešto razlikuje. Prvo se iz "content browsera" odabire željeni objekt, dakle žičana vrata. Potom se desnim klikom miša klikne na površinu na koju ih želimo postaviti i odabere "Add InterpActor". Nakon toga potrebno je dodati trigger objektu i to "touch" trigger, što znači da se dodirom nekog objekta ili ulaskom u određeno polje pokreče događaj. Potrebno je namjestiti i radijus koji označava u kojoj udaljenosti mora biti igrač od objekta kada se događaj počinje odvijati. Navedene postavke možemo vidjeti na slijedećoj slici.

Triger

Nakon što je postavljen triger potrebno je dodati event i animaciju koja će se pokrenuti. U tu svrhu koristi se "kismet". Unutar njega dodaje se naš triger, "matinee" što označava animaciju koja će se odigrati a koja se posebno podešava, te neki posebni eventi, primjerice sviranje zvukova. U našem levelu namještena je animacija otvaranja i zatvaranja pokretnih vrata prilikom dolaska igrača te zvučni efekti prilikom toga. Kismet je prikazan na slijedećoj slici.

Kismet

Fizika i interaktivnost

Kao demo prikaz korištenja fizike načinili smo njihajuću tkaninu kako je moguće vidjeti na slici ispod.

Kako bi level bio što zanimljiviji dodali smo nekoliko interaktivnih elemenata u obliku prekidača svjetla koje igrač može klikati. Jednim se pali svjetlo, dok se drugim pokreće samouništenje. Prilikom toga igraču se prikazuje nekoliko upozorenja u obliku poruka. Ukoliko igrač nastavi klikati na prekidač pokreće se samouništenje, zvuk alarma i glasovno odbrojavanje.

Naravno dio sa interaktivnosti riješen je u kismetu.

Osvjetljavanje levela

Do sada prikazane slike kreirane su za vrijeme korištenja radnog svjetla čije je dodavanje objašnjeno u početnim poglavljima. Međutim, kako bi nakon pokretanja levela, on stvarno bio vidljiv nužno je postaviti stvarno osvjetljenje. To se može načiniti na nekoliko različitih načina. Moguće je definirati da objekti sami emitiraju određeno svjetlo prilikom čega je moguće definirati jačinu tog svjetla, boju, radijus i sl., vrstu svjetla itd. Također je moguće dodati svjetlo koje nije vezano za objekt koje također može imati više različitih svojstava. Kod kreiranja ovog levela korišteni su objekti kao emiteri svjetala i obična svjetla.

Osvijeljenje

Na slici iznad prikazano je reflektorsko svjetlo koje emitiraju plave lampice. Ono je poprilično zagušeno i ima mali radijus kao što je moguće vidjeti na slici.

Osvjetljenje

Osim osvjetljenja pomoću objekata, dakle korištena su i obična svjetla koja daju dojam jačeg svjetla koje emitiraju objetki.

Osvjetljenje

Postavljanje igrača i instalacija

Kako bi level bio spreman za instalaciju potrebno je pripremiti "level start" odnosno označiti s koje pozicije će se igra pokrenuti. Ovu poziciju označavamo na način da desnim klikom miša kliknemo na površinu na kojoj želimo označiti početak igre. Prilikom toga potrebno je precizno podesiti "ikonu" kako ne bi bila previše iznad zemlje ili prenisko zemlji i sl.

Level start

ovisno o vrsti igre koja se razvija moguće je namjestiti i određene dodatke igraču prilikom pokretanja igre. Primjerice ukoliko se radi o FPS vrsti igre moguće je namjestiti da igrač prilikom pokretanja igre ima određeno oružje u ruci.

ORUŽJE PRILIKOM POKRETANJA IGRE

UDK između ostalog nudi i mogućnost eksportiranja levela, odnosno igre i kreiranja instalacijskog filea. Izgled instalirane kreirane igre, prikazan je na slijedećoj slici.

SLIKA INSTALIRANOG FILEA

Izrada terena

Kod izrade terena, odnosno svih otvorenih mapa UDK nudi odmah i okruženje u smislu osvjetljenja i to dnevno s oblacima, jutarnje, večernje ili noćno. Za demonstraciju izrade terena koristili smo dnevno okruženje.

Teren u UDk-u se kreira na način da se u glavnom izborniku "tools" odabere new terrain. Nakon toga unosimo željenu vrijednost x i y koordinata kojima zadajemo dužinu i širinu terena. Nakon što se unesu željene koordinate otvara se terrain editor koji nudi mnoštvo mogućnosti za uređivanje terena. Kako bi crtali izbočine na terenu odabiremo "paint" ikonu, držimo tipku "ctrl" i vučemo po površini lijevom tipkom miša.

Kreiranje terena

Nakon što kreiramo željeni izgled terena možemo mu dodijeliti teksturu. Teksturu dodjeljujemo na način da u "content browseru" odaberemo željeni materijal, zatim odemo u terrain editor te u sivom polju dolje - slika, kliknemo desnom tipkom miša i odaberemo dodavanje nove teksture uz opciju "auto-create".

Tekstura

Na tako načinjeni teren moguće je dodavati i razne statične ili pomične objekte. Primjerice moguće je postaviti drveće, kutije, što god nam padne na pamet.

Dodavanje drveća

Na teren je također moguće dodati više tekstura. Tako na primjer neki dijelovi terena mogu biti popločeni kamenom, na nekima može biti zelenija trava i sl.

Druga tekstura

Osim ovih postoj mnoge dodatne mogućnosti koje pruža terrain editor. Primjerice moguće je dodavati razne dekoracije. Također mogućnosti dizajna odnosno oblikovanja su gotovo beskonačne.

Teren


Ovaj projekt izradili su Vladimir Mrkela i Andrijana Jarnjak u svrhe kolegija "Računalna grafika" na Fakultetu organizacije i informatike u Varaždinu 2012. godine.

UVOD | SEMINAR | PRAKTIČNI RAD | DOWNLOAD | LITERATURA
Vladimir Mrkela i Andrijana Jarnjak (2012). Template: Template Reactor.