VIRTUALNA PREZENTACIJA INTERIJERA

M. Anić-Ivičić, A. Bernik, i D. Vusić

1. Sažetak

Tema ovog rada je izrada virtualne prezentacije interijera temeljene na virtualnoj šetnji. Za virtualizirani prostor uzet je realan prostor Veleučilišta u Varaždinu. U ovom radu detaljno je opisan proces koji je potreban za realizaciju ovog projekta te je potkrijepljen slikama i ilustracijama. Navedeni su alati koji su najčešće korišteni u izradi 3D modela, tehnike izrade i razlozi korištenja istih tehnika. U radu je objašnjen proces izrade i primjene u dva programa za 3D grafičko oblikovanje. U poglavlju koji opisuje rad u 3ds Maxu navedeni su procesi izrade modela s malim brojem detalja, teksturiranje i izvoz istih za primjenu u drugom programu u kojem se proces izrade virtualne šetnje nastavlja. Drugi opisani program je Unity razvojna okolina za izradu računalnih igara u 3D tehnici.
U poglavlju koji opisuje Unity objašnjeni su osnovni pojmovi sadržani u Unity razvojnoj okolini te njihova primjena. Zadnja cjelina je praktični dio koji po koracima opisuje rad u oba programa te objašnjava povezanost između modela i njegovog apliciranja u okolinu za izradu virtualne prezentacije.

2. Uvod

Prezentacija proizvoda ili usluga oduvijek je pomicala granice kako bi krajnjem korisniku, uglavnom kupcu, ponudila što bolju demonstraciju onoga što se predstavlja. Prije pojave modernih medija sadržaji su se isključivo prezentirali direktnim pristupom korisniku Novi mediji, prvenstveno misleći na Internet, omogućili su ogroman napredak prezentacije. Fotografije i ilustracije bile su mnogo godina glavni alat marketinga i grafičkih dizajnera u predstavljanju svoje ponude na web mjestima. Napretkom procesorske snage računala, grafičkih procesora te povećanje brzine prijenosa podataka prosječnom korisniku pružilo je mogućnost pregledavanje sadržaja u trodimenzionalnom prostoru u realnom vremenu. 3D prostor u kojem se stvaraju svi proizvodi vezani za 3D grafiku omogućio je razvijanje virtualne stvarnosti ili VR (engl. virtual reality, u daljnjem tekstu VR). Korištenje VR-a u prezentaciji izaziva mnogobrojne rasprave i sukobljena mišljenja. Povlače se pitanja o tome da li je VR trenutno dovoljno uvjerljiv i da li prikazuje stvari onakve kakve doista jesu. VR zahtijeva od korisnika nove vještine korištenja 3D prostora. 3D prostor se prikazuje na dvodimenzionalnom ekranu, ali i dalje omogućava navigaciju u tri dimenzije i interakciju s elementima scene. Najveća zapreka korisnicima je navigacija u 3D prostoru i tehnike manipulacije sadržajem. Dobro poznata metoda pretraživanja web stranica na principu klika i otvaranja traženog sadržaja zamjenjuje se metodom prolaska i istraživanja virtualnog prostora. To uglavnom predstavlja zapreku za korisnike koji nemaju iskustva s kontrolama koje se najčešće koriste u računalnim igrama dok je s druge strane mlađim ljudima, uglavnom igračima računalnih igara i umjetnicima koji rade u novim medijima, to posve prirodna radnja. Cilj ovog rada je prikazati način prezentacije u virtualnoj stvarnosti. Namjena ovakve prezentacije je pokretanje virtualne šetnje na Internet pregledniku. Kao osnovni alati koristit će se 3ds Max, za modeliranje i teksturiranje objekata i Unity za stvaranje virtualnog prostora. Unity je alat koji je uglavnom namjenjen za izradu računalnih igara čiji se engine može iskoristiti za virtualni prostor u kojem će se odvijati prezentacija interijera.
Izraz engine se koristi za razvojnu okolinu namjenjenu kreiranju računalnih i videoigara. Prvi dio rada razraditi će i objasniti teorijsku primjenu potrebnih elementa koja će se u drugom dijelu rada primjeniti u izradi virtualne prezentacije. Ovaj projekt sadrži veliku širinu znanja iz modeliranja, teksturiranja, programiranja i animiranja kako bi se postigla realnost virtualnog svijeta.

3. Teoretski dio

3.1. Anatomija 3D modela

3D model je osnovna građevna jedinica 3D računalne grafike [http://3d.about.com/od/3d-101-The-Basics/3d-101-A-Basic-Guide-To-Computer-Graphics.htm, kolovoz 2012]. Bez modela ne bi postojala računalna animacija, 3D računalne igre, filmovi sa specijalnim efektima niti TV reklame kakve poznajemo [http://3d.about.com/od/3d-101-The-Basics/a/Anatomy-Of-A-3d-Model.htm, rujan 2012]. Svaki objekt, lik i okruženje u 3D računalnoj igri ili računalnoj animaciji nastao je iz 3D modela tako da možemo zaključiti da su poprilično bitni i nezobilazni.

3.1.1.  3D model

3D model je matematička reprezentacija bilo kojeg trodimenzionalnog objekta u 3D programskom okruženju. 3D model reprezentira 3D objekt koristeći skup informacija o poziciji točaka i drugih informacija u 3D prostoru spojenih različitim geometrijskim oblicima, kao npr. trokuti, linije, zakrivljene površine itd. Pošto je 3D model skup informacija može se stvoriti ručno, algoritamski koristeći preoceduralno modeliranje i skeniranjem 3D skenerima. 3D model se može prikazati kao 2D sliku kroz proces koji nazivamo renderiranje ili ga možemo koristiti u računalnoj simulaciji. 3D printer omogućuje stvaranje fizičke reprezentacije 3D računalnog modela. Za razliku od 2D slike, 3D model se može gledati iz bilo kojeg kuta, može se povećavati, smanjivati, rotirati i slobodno modificirati njegov oblik. Proces stvaranja i oblikovanja 3D modela nazivamo 3D modeliranje [http://3d.about.com/od/3d-101-The-Basics/a/Anatomy-Of-A-3d-Model.htm, rujan 2012].

3.1.2.  3D modeliranje

Proces kreiranja matematičke reprezentacije trodimenzionalnog objekta naziva se 3D modeliranje. Objekt koji nastaje kreiranjem u programu za 3D računalnu grafičku naziva se 3D model. Kroz proces 3D renderiranja, može se dobiti 2D slika 3D modela iz jedne perspektive ili kao alternativa, 3D model se može iskoristiti kao resurs u grafičkoj simulaciji u realnom vremenu [http://hr.wikipedia.org/wiki/3D_modeliranje, rujan 2012]. Procesom 3D renderiranja dobivaju se i nizovi 3D slika koje se povezuju u animaciju. 3D model sadrži informacije o točkama u 3D prostoru i druge informacije koje računalo interpretira kao virtualni objekt. Objekt koji korisnik vidi na zaslonu monitora samo je vizualizacija informacija sadržanih u objektu. Postoje više načina za kreiranje 3D modela, a najpopularniji je kreiranje u 3D grafičkom programu. Danas su najpoznatiji 3ds Max i Maya. Osim stvaranja modela kroz korištenje specijalnih programa, moguće je kreirati modele kroz razne algoritme. Takvo modeliranje naziva se proceduralno modeliranje [http://hr.wikipedia.org/wiki/3D_modeliranje, rujan 2012]. Skeniranjem stvarnog objekta koristeći 3D skenera i interpretiranjem istog u računalu razumljiv format također je moguće stvoriti 3D model na računalu. Od mnogo tehnika kojima se može kreirati 3D model samo nekoliko ih je postalo vrlo popularno. To su poligonalno i NURBS tehnike modeliranje koje su objašnjene u daljnjem tekstu.

3.2. Tipovi 3D modeliranja

Postoje dva osnovna tipa modeliranja koji su najpopularniji i najkorišteniji. To su poligonalno i NURBS modeliranje. Osnovna razlika među njima je način izrade i manipuliranje. Pošto je 3D model matematička reprezentacija trodimenzionalnog objekta postoje i razlike u matematici koja stoji iza njihovog prikaza.

3.2.1.  Poligonalno modeliranje

Pristup modeliranju kod poligonalnog modeliranja je oblikovanje poligona. Oblikovanje se može vršiti izdubljivanjem, okretanjem, dijeljenjem, pomicanjem, dodavanjem, spajanjem poligona i još mnogim tehnikama koje poligonalna metoda dopušta. Dva najpopularnija stila poligonalnog modeliranja su box (engl. kocka) i edge (engl. rub) modeliranja.
Box modeliranje se tako naziva jer počinje s kockom i stvara model manipulacijom rubova, ploha i točaka. Edge modeliranje započinje se s poligonom i manipulacijom rubova tvori model. Uobičajno je da su modeli napravljeni edge stilom modeliranja organskog oblika gdje je potrebno više pratiti zaobljene linije topologije referentnog oblika. U svakom 3D programu postoje osnovni ili primitivni oblici s kojima počinjemo poligonalno modeliranje. Primitivni oblici u 3DS Maxu su kocka, valjak, sfera, piramida i ploha (ili ravnina). Sastavni dijelovi svakog primitivnog oblika su površine (engl. face) koje se nekad nazivaju i poligoni, točke (engl. vertex, plural vertices) i rubovi (engl. edge) [K.L. Murdock, 2010]. Linije koje ograničuju površinu su rubovi a mjesta gdje se rubovi sastaju nazivaju se točke. Oni su osnovni elementi 3D modela i njihovom manipulacijom u prostoru mijenjamo oblik modela [A. Chopine, 2011].

Trokut - Poligon se može sastojati od tri ili više rubova i točaka. Broj točaka i rubova uvijek je isti. Broj točaka i rubova mora biti tri kako bi postojao poligon kojeg u tom slučaju nazivamo trokut (engl. triangle). Trokut kao najjednostavniji oblik pogodan je za brzo računanje i koristi se kod izrade objekata u računalnim igrama. [K.L. Murdock, 2010]

Četverokut - Četverostrani poligon sastoji se od četiri ruba i istog broja točaka. Zbog broje rubova i točaka naziva se četverokut (engl. quad). Pogodni su za stvaranje uredno posložene mreže modela i pogodni su za pretvaranje u trokute ukoliko je potrebno. Modelari najviše koriste četverokute u izradi modela jer im urednost mreže dopušta najbolju kontrolu nad modelom. [K.L. Murdock, 2010]

N-gon - Naziv za poligon s više od četiri ruba i točke naziva se n-gon. Nijhov matematički model najkompliciraniji je računalu za procesiranje i rezultati nisu uvijek predvidljivi. Struktura mreže modela građenog od n-gon poligona je nestabilna i neuredna. Njihova upotreba se uglavnom izbjegava zbog anomalija kod zaobljivanja, teksturiranja i animiranja modela. [K.L. Murdock, 2010]

3.2.2.  Topologija modela prema referenci

Mreža modela koja je podijeljena mnogo poligona počinje izgledati kao zakrivljena površina. Tokom dijeljenja mreže na manje poligone vodi se računa da mreža uredna, jednostavna i po mogućnosti dobro organizirana. Raspored poligona koji nastaje na mreži modela nazivamo topologija. Kao primjer za opisivanje dobre topologije modela može se uzeti plohu gume. Kada se razvlači, savija i deformira na bilo koji način, gumena ploha ne puca niti se deformira što je i cilj dobre topologije mreže 3D modela. [A. Chopine, 2011] Kada objekt posjeduje mrežu s dobrom topologijom može se bolje predvidjeti ishode zaglađivanja. Omogućuje preciznije predviđanje deformacija koje nastaju animacijom. Također je bitno za apliciranje tekstura na model, što je vrlo bitno u ovom završnom radu. Razumijevanje topologije vrlo je bitno i poželjno je imati je na umu od samog početka modeliranja objekta. Popravljanje topologije u kasnijim fazama izrade modela može biti vrlo zahtjevno i dugotrajno.

Referenca - Prije svakog početka modeliranja poželjno je imati referencu onoga što se modelira. Kada se želi modelirati objekt iz realnog svijeta referenca je presudna za konačni izgled modela. Apstraktne modele moguće je modelirati bez reference no uobičajna praksa je da se prije faze modeliranja napravi skica u obliku ilustracije. Ukoliko se modelira kompleksni organski model, npr. model karakternog lika, nužno je imati ortografske prikaze u obliku ilustracija. Ortografski prikazi stavljaju se kao podloga u 3D program i prema njima modelar izrađuje točnu topologiju modela. Referenca kod izrade modela bilo kojeg arhitektonskog objekta služi kako bi se model podijelio na manje segmente i kako bi se pomno isplanirao način pristupa modeliranja.

3.2.3.  Modularni dizajn

Kada na modelu nailazimo na ponavljajuće elemente koristimo tehniku modeliranja koja se naziva modularni dizajn. Modularnost često nalazimo u arhitekturi kod koje se elementi ponavljaju mnogo puta na površini objekta. Kako bi se izbjeglo nepotrebno modeliranje svakog elementa posebno koristimo ovu tehniku. Kada se modelira tehnikom modularnog dizajna izbjegava se mogućnost pogreške i odstupanja u geometriji kod istih elemenata modela. Također ona nam dopušta teksturiranje samo jednog elementa čime doprinostimo preciznosti i brzini izrade [L. Ahearn, 2009]. Modularnost prožima sve aspekte dizajna igara. Modelari za računalne igre kreiraju komade scene koji se mogu duplicirati, rotirati i postavljati u scenu po potrebi. Tipično je da se veliki ponavljajući komadi, kao npr. podovi, zidovi, stropovi i sl., postavljaju prvi u scenu igre. Nakon njih postavljaju se dekoracije scene kao npr. stupovi, plafonjere, prozori i sl. Modularni dizajn omogućuje bolju kontrolu nad scenom unutar game enginea. Model podijeljen na manje elemente fleksibilniji je od modela koji sadrži sve elemente u jednoj mreži jer daje mogućnosti manipulacije razmještaja u prostoru i promjene teksture za specifične dijelove scene.

 a

 

Slika 1. Modularni dizajn

3.3. Teksturiranje

Kako bi modelu dodali dimenziju realnosti potrebno je na njegovu mrežu primjeniti teksture. Teksturiranje je tehnika pridodavanja 2D slika na poligone modela [A. Gahamn, 2011]. Drugi naziv za teksturu je materijal. Teksture mogu biti fotografije, ilustracije ili kombinacija istih. Za izradu tekstura koristimo programe za bitmap i vektorsku grafiku kao što su Photoshop, GIMP, Illustrator itd. Teksturom možemo dodati površini modela detalje koji nisu modelirani poligonima, kao npr. izbočenja, hrapavost, ogrebotine, transparanciju itd. Prikazivanje sjena kojima dodajemo modelu plastičnost, a samim time i realnost također je moguće postići teksturom. Teksturom možemo kontrolirati rezultate glatkoće i odsjaja. Teksture svojom veličinom odnosno rezolucijom utječu na vrijeme procesuiranja i brzine prikaza. Veće teksture omogućuju prikazivanje više detalja na teksturiranom modelu, ali s cijenom sporijeg renderiranja [A. Gahamn, 2009]. Ako je krajnji proizvod renderirana 2D slika možemo upotrebljavati veće teksture no ukoliko je model za game engine onda se mora biti vrlo pažljivi s odabirom rezolucije [L. Ahearn, 2009]. Kako bi teksture uredno prilagodile radnoj okolini u kojoj ju primjenjujemo potrebno je obratiti pažnja na pravilo “power of 2” [L. Ahearn, 2009]. Power of 2 je rezolucija teksture koja ima odnos visine i širine 1:1. Najčešći tipovi tekstura su diffuse, bump, specular, normal i alpha teksture. Svaka od njih drugačije utječe na izgled površine modela i razlikuje se u načinu primjene i izrade.

3.3.1.  Mapiranje tekstura

Sljedeći korak nakon odabira teksture koja se primjenjuje na površinu modela je mapiranje. To je proces u kojem s predefiniranim postavkama 3D programa odabire način na koji će se tekstura prilagoditi površini. Ovisno o obliku površine odabire se prikladna postavka. Ova metoda koristi se za mapiranje jednostavnijih objekata ili dijelova objekata.
Osnovna metoda primjene teksture na površinu objekta je planarna projekcija. Kao što samo ime govori odnosi se na ravninu koju projiciramo na površinu. Koristi se za ravne površine jer se kod savinutih površina tekstura prikazuje deformirano. Kockasta projekcija predviđena je za kvadratične oblike kao što su kutije, ormari, stranice stola, vrata itd. Kod kockaste projekcije tekstura se dijeli na šest kvadrata koji u paru djeluju na stranice površine objekta. Primjenom ove projekcije mogu se postići fluidni prijelazi teksture na okomitim površinama. Cilindrična projekcija omotava teksturu oko objekta. Koristi se za mapiranje teksture oko valjkastih objekata. Kod cilindrične projekcije postoji opcija “cap” kojom teksturiramo površinu koja zatvara objekt s gornje i doljnje strane. Postoji još i sferična projekcija kojom mapiramo kugle i slične objekte. Njena uporaba je generalno ograničena na sferične objekte no prednost sferične projekcije je da je u tom pogledu nezamjenjiva.

 
a 

Slika 2. Primjena odgovarajućih projekcija na objekte

3.3.2.  Kontrolna tekstura

Uobičajeni tok rada kod teksturiranja počinje s kontrolnom teksturom. Ona se sastoji od kvadratičnog uzorka crno bijelih ili kvadrata u bojama. Kvadrati su na sofisticiranijim kontrolnim teksturama obilježeni brojevima i slovima. Kontrolna tekstura pokazuje korisniku kako se tekstura ponaša kada je primjenjena na površinu i trenutno se mogu vidjeti pogreške kao npr. deformacija, obrnuti smjer kretanja teksture i veličina kvadrata. Nakon dobro postavljene kontrolne teksture daljnji tijek rada je uvelike olakšan.

4. Eksperimentalni dio

4.1. Izrada eksperimentalnog rada pomoću Unity 3D alata

Unity game engine i urednik (engl. editor), razvijen od tvrtke Unity Technologies, je razvojna platforma koja služi za stvaranje kreativno interaktivnih 3D i 2D sadržaja [http://en.wikipedia.org/wiki/Unity_(game_engine), listopad 2012]. Svojom misijom tvrtka Unity Technologies želi game engine i profesionalne alate vezane za razvoj igara učiniti dostupnim developerima svih kupovnih moći. Do pojave Unitya i sličnih game enginea razvoj igara bio je rezerviran samo za velike studije sa milijunskim budžetima. Postoje dvije osnovne licence za Unity; Unity i Unity Pro. Unity Pro nudi dodatne značajke kao npr. renderiranje tekstura, globalnu rasvjetu, razne efekte kamere i dr. Obje osnovne licence sadrže razvojnu okolinu, tutorijale, projekte za učenje, podršku na službenom forumu te automatsku obnovu verzije. Dodatne verzije koje su dostupne kao proširenja su Unity razvojna okolina za iOS, Android, Adobe Flash Player i Windows Phone 8. Za proširenja potrebno je imati Unity Pro licencu.

4.1.1.  Modeliranje

Za modeliranje low poly modela u sceni koristi se kombinacija box i edge loop tehnike modeliranja. Prije početka modeliranja potrebno je prilagoditi mjerne jedinice i mrežu sučelja 3ds Maxa. Za mjernu jedinicu koristi se centimetar a mrežu sučelja dijelimo na 10 centimetara između linija. Mreža sučelja vrlo je bitna, pogotovo u ortografskim pogledima, zbog edge loop tehnike kojom rubove hvatamo za linije mreže.

Box modeling - Veliku prostoriju (predavaonica K1 Veleučilišta u Varaždinu) uzima se kao početni model. Na njezinoj osnovi izrađivat će se ostali modeli scene. Modeliranje započinje izradom kocke dimenzija 1400cm x 700cm x 400cm. Kocka se pretvara, koja je po zadanom standardni primitivni oblik, u poligonalni oblik kako bi se poligoni, rubovi i točke mogli manipulirati. Odabirom za manipulaciju poligona selektira se gornja ploha kvadra, koja predstavlja strop, i briše. Unity game engine nije u mogućnosti renderirati poligone obostrano stoga ih je potrebno okrenuti u smjeru na kojih ih kamera gleda u sceni. Po zadanom poligoni u kocki gledaju prema van i potrebno ih je okrenuti prema unutra jer je scena smještena unutar “kocke”.
Poligoni okreću smjer gledanja primjenom alata Flip koji se ponuđuje u paleti Edit Polygon kada su poligoni selektirani. Okretanje smjera poligona potrebno je napraviti na početku modeliranja jer u kasnijim fazama to može postati poprilično komplicirano.

Kopiranje i spajanje modula - Modul zida potrebno je kopirati i postaviti na poziciju koja je rezervirana za njega. Odabirom svih poligona koji čine modul i pomicanjem uz pritisak tipke shift duplicira se modul. Duplicirani modul potrebno je pozicionirati tako da se spaja s izvornim točno na rubovima i na točakama. Za točno pozicioniranje koristi se snap alat u modu hvatanja za točku ili rub. Kada se duplicira element nude se opcije slične kao kod detach alata. To su dupliciranje kao element modela uz zadržavanje postojećeg poligona i dupliciranje u zasebni objekt. Za ovu namjenu koristi se dupliciranje kao element uz zadržavanje postojećeg poligona. Duplicirani modul jest element modela no potrebno ga je spojiti s izvornim elementom. Kako bi se postigla dobra topologija mreže modela bitno je da se izbjegnu elementi koji nisu povezani s ostatkom mreže. Nepoželjni efekti koji se događaju kada u modelu elementi nisu spojeni u kompaktnu topologiju su pucanje mreže kod animiranja ili vidljive rupe između elemenata kod rendera u game enginu. Stoga je potrebno elemente spojiti koristeći “weld” alat. Weld alat spaja točke poligona. Broj točaka koje se mogu spojiti je neograničen dokle god točka nije na spoju triju spojenih poligona. Spajanjem svih dodirnih točaka dupliciranog elementa s točkama osnovnog elementa dobiva se jedinstveni element i zajednička mreža modela.

4.1.2.  Teksturiranje

Prije pridodavanje ponavljajuće teksture na poligone modela potrebno je primjenom UVW map modifiera postaviti način na koji će se tekstura ponašati. UVW Map modifier je alat koji omogućuje kontrolu ponašanja teksture po stavkama položaja teksture u UVW sustavu. UVW sustav sličan je XYZ prostornom sustavu no njegova namjena je isključivo za teksturiranje. UVW Map modifier mapira selektirane poligone modela i na istim poligonima prema predefiniranim vrstama mapiranja rasprostire teksturu. Vrste mapiranja koje se koriste za mapiranje poligona u ovom radu su plošno mapiranje, mapiranje kocke i cilindra. Postoje još i mapiranje sferom, mapiranje na poligon pojedinačno te projekcijsko mapiranje kod kojeg se projicira na poligone iz svake ravnine XYZ sustava. Svako od predefiniranih vrsta mapiranja sadrži parametre kojima se utječe na veličinu uzorka u svim smjerovima, te kut iz kojeg se mapiranje projicira. Prije primjene UVW Map modifiera potrebno je na model primjeniti kontrolnu teksturu. Kontrolna tekstura pomaže kod uočavanja pogrešaka prilikom prevelikog rastezanja teksture. Za uočavanje pogrešaka kontrolna tekstura je praktična jer je podijeljena na kvadratični uzorak u raznim bojama i polja kvadrata su imenovana abecednim redoslijedom i brojevima. Ukoliko se kod mapiranja primjeti da je kontrolna tekstura izobličena u uzorku ili brojevima tada se mapiranje podesi ručno. Kontrolna tekstura također svojim izgledom može predvidjeti koliko će se puta kasnije primjenjena ponavljajuća tekstura ponoviti i u kojem smjeru.

4.1.3.  Uključivanje modela i slaganje scene

Game engine kao i svaka druga razvojna okolina ima svoja pravila koje je potrebno poštivati. Unity za razliku od ostalih okolina za razvoj igara ima sučelje i način rada prilagođen većini prosječnih korisnika. Uvijet da korisnik poznaje osnove modeliranja, animiranja, teksturiranja, programiranja, rasvjete i primjene svih navedenih stavki je ključan za korištenje. No način rada u Unityu je najituitivniji do sada i to je prvenstveno razlog njegove popularnosti. Stvaranje projekta u Unityu započinje se organiziranjem mapa u koje se u nadolazećim faza rada smještaju modeli, teksture i ostali elementi scene. Osnovne mape koje sadrži ovaj projekt su organizirane na način da se osnovni uvezeni elementi razdvoje po srodnim skupinama. Npr. FBX mapa koristi se za lociranje svih uvezenih modela, mapa TXT za teksture itd. Istim mapama može se manipulirati iz sučelje operativnog sustava. Unity automatski ažurira sve promjene koje se izvršavaju na mapama i unutar njih. Nakon organizacije modeli iz 3ds Maxa kopiraju se u mapu nazvanu FBX koja je određena za njih. Teksture koje se koriste na modelima unose se u mapu TXT. Svaki model uvezen u Unity sadržava informacije o mreži poligona modela, materijalima i veličini kojom će biti prikazani po zadanom u sceni. Sve postavke modela moguće je mijenjati, no prikladnije je da se sve postavke odrede kod izvoza iz 3ds Maxa kako nebi došlo do odstupanja između elemenata, prvenstveno se misli na veličinu prikaza. Ukoliko je tekstura modela uvezena u Unity mapu TXT biti će automatski primjenjena na materijal koji je rezerviran za nju.
Prvi element ili modul scene koji je pozicioniran u sceni je model učionice K1 prema kojem se ostali elementi slažu. On se pozicionira u ishodište koordinatnog sustava svojom točkom pivota. Ostale module kao što su hodnici, vrata, prozori, podovi i stropovi pozicioniramo koristeći hvatanje točke jednog modula za točku drugog modula. Hvatanje se obavlja pomicanjem modela uz držanje tipke “V”. Na taj način može se postići precizno slaganje modula bez praznina između njih. Ova tehnika moguća je zbog planiranog modeliranja temeljenog na izradi modula iz poligona već postojećeg modula koji je opisan u tekstu ranije. Ostali modeli koji služe za popunjavanje scene slažu se proizvoljno. Bitno je jedino da je točka pivota kod njih smještena na donje rubove kako bi ih se moglo točno pozicionirati na x ravninu odnosno kako ne bi probijali modele podova.


a 

Slika 3. Spojeni moduli scene

4.1.4.  Sudari i okidači

Kako bi sustav registrirao interakciju u igri potrebno je korisititi komponentu sudara. Sastavni dio komponente sudara je collider ili objekt scene koji se sudara s ostalim objektima istih svojstava. Collider je termin koji označava objekt u sceni Unity okoline koji se sudara. Građen je od nevidljive mreže koja okružuje oblik objekta i zadužen je za detektiranje sudara između dva ili više collidera. Collider kao komponenta ima svoje varijable i može mu se modificirati veličina i pozicija. Detekcija i povrat informacije o sudarima između collidera nazivaju se detekcije sudara. Svakom collideru u varijablama može se zadati uloga okidača (engl. trigger).
Kada mu je zadana uloga okidača, collider na detekciju sudara obično izvršava programiranu akciju zadanu u skripti. Akcije pokrenute sudarom mogu biti bilo što, od jednostavne promjene boje, pozicije i rotacije pa do mnogo kompleksnijih akcija izvršavanja efekata s česticama, animacija i sl.

Postavljanje collidera - Interakcija na sceni započinje postavljanjem collidera. Collider ima više funcija kojima se može postići interakcija. Funcije koje se koriste u sceni virtualne prezentacije interijera su sudari i pokretanje okidača. Sudar je osnovna funkcija koju obavlja collider. Elementi
scene ne sadrže komponentu collidera stoga je kroz njih moguće prolaziti. Kako bi se stvorila interakcija između kamere i elemenata scene potrebno je pridodati elementima scene komponente collidera ili stvoriti zasebne, “nevidljive” elemente s colliderom. Kamera u svojoj komponenti Character Controller sadrži collider koji u sudaru s ostalim colliderima scene spriječava međusobno
prodiranje.

Postavljanje okidača - Okidač ili trigger je varijacija collidera. Svaki collider ima u mogućnost postati trigger. To se određuje u varijablama collidera odabirući opciju triggera. Ukoliko se collider prenamjeni u trigger on više nema mogućnost obavljanja funcije sudara i spriječavanje kretanja već postaje okidač kojim se vrše druge funcije u službi postizanja interaktivnosti. Kao što sama riječ govori okidač pokreće neku akciju. U ovom radu okidač služi za pokretanje animacije i prikaz GUI tekstura. Collider u službi okidača i dalje posjeduje mogućnost prepoznavanja sudara no spriječava kretanje već pokreće ili zaustavlja akciju ukoliko drugi collider ostvari kontakt ili prodre u njegovo područije. Kako bi okidač pokrenuo neku akciju potrebno mu je pridodati komponentu koja vrši tu funciju. Za tu namjenu pridodaje se komponenta Activate Trigger. Ona sadrži skriptu koja pokreće akciju koja se pridoda u varijablama komponente.


a 

Slika 4. Postavljenje okidača

4.1.5.  Build projekta

Build je proces sličan kompiliranju programa gdje sve elemente koje su sadržane u radnoj verziji igre sažimamo u finalni proizvod.  Postavljanjem kvalitete finalnog builda, Unity automatski komprimira teksture i ostale assete projekta u zadanu kvalitetu. Kvaliteta određuje veličinu komprimiranih elemenata a time i veličinu datoteke finalnog proizvoda. Namjena finalnog builda određuje kvalitetu. Ukoliko je namjena buildanog projekta plasiranje na web moraju se uzeti u obzir ograničenja koja postoje. Trenutno najveće ograničenje web builda je brzina prijenosa podataka na Internetu kod prosječnog korisnika. Kod plasiranja builda za druge platforme kao što su samostalni build za PC i Mac ili za mobilne platforme potrebno je brinuti o mogućnostima tih platfomi i o jačini procesorske snage prosječnog računala. Unity standardna verzija nudi build igre za sljedeće platforme: PC i Mac samostalne platforme, Mac OSX Dashboard widget i Web Player [http://en.wikipedia.org/wiki/ Unity_(game_engine), listopad 2012].

4.1.6.  Web Player

Kako bi Web player build projekta napravljenog u Unity game enginu mogao pokrenuti potrebno je na računalu imati instalirani Web player plugin. Web player plugin je plugin sličan Adobe Flash pluginu koji omogućuje web pregledniku da pokrene web build. On je besplatan i može se skinuti s Unity web stranica [http://en.wikipedia.org/wiki/Unity_(game_engine), listopad 2012]. Web Player build kreira datoteku igre s ekstenzijom “.unity3d”. Ekstenzija poziva Web Player plugin zajedno s pripadajućom HTML datotekom koja sadrži potrebni ugrađeni kod. HTML datoteka i datoteka s ekstenzijom “.unity3d” može se implementirati u web stranicu [http://en.wikipedia.org/wiki/Unity_(game_engine), listopad 2012]. Uobičajna praksa je da se igre izrađuju s rezolucijom 1024px x 768px(standardna rezolucija prosječnog monitora), no primjenjujući Web Player build, rezolucija koja se koristi za prikaz u web pregledniku najoptimalnija je u rezoluciji 800px x 600px. Tim postavkama manje se opterećuje GPU (grafička procesorska jedinica) i dobivaju bolje preformanse. Projekt koji se izrađuje u Unityu može biti generiran za prikaz na raznim platformama. Za virtualnu prezentaciju interijera odabran je prikaz kroz Web player odnoso platformu web preglednika. Namjena virtualne prezentacije interijera je virtualna šetnja kojoj se pristupa putem Interneta.
Poštivajući ograničenja koja su postavljena trenutnim dosegom tehnologije izvoz projekta u finalni proizvod mora biti postavljen kako bi se reproducirao u optimalnoj kvaliteti. Najoptimalnija rezolucija prikaza na ekranu prosječnog korisnika Interneta je 1024 x 768 piksela. Slijedeći tu činjenicu postavke rezolucije web playera ne smiju prelaziti tu veličinu. U suprotnom veličina rezolucije prelazit će okvire u kojem se prikazuje sadržaj i doživljaj virtualne šetnje biti će nepotpun. Osim rezolucije kvalitetu prikaza određuju i druge postavke koje se određuju u dijaloškom okviru QualitySettings. QualitySettings sadržava predefinirane postavke kvalitete prikaza koje su skalirane po brzini prikaza i opterećenju hardvera. Tako nalazimo Fastest, Fast i Simple koji se razlikuju u nijansama ali zajednička značajka im je da prezentaciju prikazuju s manje detalja, koristeći kompresirane teksture i smanjenu kvalitetu prikaza sjena. Njihova prednost je da su manje zahtjevne za proces prikaza i na slabijim računalima reproducirat će se lakše uz manje trzaja. Obrnuto proporcijonalno funkcioniraju kvalitete Beautiful i Fantastic razine prikaza. Svaku razinu kvalitete prikaza moguće je definirati prema željama i potrebama korisnika.

5. Zaključak

Prezentiranje proizvoda je postala zasebna disciplina marketinga kojoj je u cilju predstaviti i prikazati proizvod. Novi mediji otvorili su vrata novim načinima prezentacije. Internet trgovina postaje dominantni kanal kupnje i prodaje proizvoda i usluga. Dosadašnja praksa direktnog marketinga i fizičkog prisustva trgovca koji demonstrira proizvod ili uslugu, zamijenjena je digitalnim i virtualnim
prezentacijskim materijalima plasiranim putem Interneta. 3D programi i 3D računalna grafika postaju sve popularniji oblik stvaranja grafičkih i filmskih proizvoda. Gotovo ne postoji niti jedan medij, tradicionalni ili moderni, u kojem proizvodi 3D računalne grafike nisu implementirani ili uključeni u proizvodnom procesu. Vođeni tim činjenicama može se zaključiti da su nezaobilazni u izradi materijala vrhunske produkcije. Jedan od vodećih 3D programa za stvaranje 3D modela, 3D animacije i vizualnih efekata je Autodesk 3ds Max. Osim navedenih industrija, 3ds Max koriste 3D umjetnici, znanstvenici, studenti i tzv. 3D hobisti za izradu 3D proizvoda široke namjene. U ovom završnom radu 3ds Max korišten je za izradu kompletne 3D scene. Scenu čine modeli stvoreni u low poly tehnici koja se koristi u izradi modela za računalne igre.
Razlog korištenja 3ds Maxa kao alata za izradu modela je njegova prilagođenost izradi low poly modela i tekstura koje su potrebne za konačni izgled. Normal i lightmap teksture osobito su bitne u stvaranju low poly modela koji sadržavaju više detalja no što ih sama mreža poligona prikazuje. 3ds Max u tom slučaju nudi vrlo dobro riješenje stvaranja tekstura preko alata Render to Teksture te konačni izgled modela ovisi o kvaliteti navedenih tekstura. Navedeni način modeliranja i teksturiranja uobičajan je u procesu izrade 3D modela za gaming industriju a 3D Max se u tom procesu pokazao kao najbolji odabir što i dokazuju mnogi vrhunski studiji koji ga koriste kao osnovni alat. Kada se govori o game engine alatima prvenstveno se misli na izradu računalnih igara.

Osnova svakog Unity projekta jest igra, no način na koji se krajnji proizvod prezentira može se uvelike razlikovati od računalne igre. Na primjeru u ovom radu pokazano je korištenje Unity programa u stvaranju virtualne šetnje kroz realni prostor. Namjena koju ima virtualna šetnja je korisniku prezentirati prostor i sadržaje s kojima se dosada nije susretao u realnom svijetu. Statična scena 3D prostora u kojoj se korisnik kreće pogledom iz prvog lica zadovoljava potrebe vizualizacije no game engine daje i mogućnost izrade interaktivnog sadržaja. Interakcija s objektima scene virtualne šetnje produbljuje doživljaj i pruža mogućnosti dodatnog informiranja unutar virtualnog prostora. Cilj ovog rada je bio postići novi oblik prezentiranja kombinirajući računalnu igru i virtualnu šetnju. Naglasak se želio postaviti na prednost takvog načina prezentiranja u smislu slobodnog kretanja korisnika kroz cijelokupni virtualni prostor i interaktivnosti s elementima prostora. Također želio se prikazati način pokretanja virtualne prezentacije bez korištenja instalacije na računalo, kao što je uobičajeno kod računalnih igara, već jednostavim pokretanjem iz web preglednika. Ograničenja u obliku brzine i količine prijenosa podataka s Interneta te procesorske snage i snage grafičkih kartica, utječu na kvalitetu prikaza virtualne prezentacije ovakvoga oblika. Budući da tehnologija svakoga dana pomiče granice, ograničenja će biti sve manja, a rezultat toga bit će sve kvalitetniji i realističniji prikaz materijala stvorenih prikazanom tehnikom i procesima u ovom završnom radu.

6. Literatura

  • K.L. Murdock: 3ds Max 2011 Bible, Indianapolis, Wiley Publishing Inc, 2010.
  • A. Chopine: 3D ART ESSENTIALS: The Fundamentals of 3D Modeling, Texturing, and Animation, Burlington, Elsevier Inc., 2011.
  • L. Ahearn: 3D Game Textures, Create Professional Game Art Using Photoshop, Burlington, Elsevier Inc., 2009.
  • A. Gaham: 3ds Max Modeling for Games, Waltham, Elsevier Inc., 2011.
  • A. Gaham: Game Art Complete, All-in-One: Learn Maya, 3ds Max, ZBrush, and Photoshop Winning Techniques, Burlington, Elsevier Inc., 2009.
  • D. Brooker: Essential CG Lighting Techniques with 3ds Max, Burlington, Elsevier Inc., 2006.
  • T. Akenine-Möller, E. Haines, N. Hoffman]: Real-Time Rendering, Third Edition, Wellesley, A K Peters, 2008.
  • W. Goldstone: Unity Game Development Essentials, Birmingham, Packt, 2009.
  • http://hr.wikipedia.org/wiki/Virtualni_svijet, kolovoz 2012
  • http://en.wikipedia.org/wiki/Computer-generated_imagery, kolovoz 2012
  • http://en.wikipedia.org/wiki/Three-dimensional_space, kolovoz 2012
  • http://3d.about.com/od/3d-101-The-Basics/3d-101-A-Basic-Guide-To-Computer-Graphics.htm, kolovoz 2012
  • http://3d.about.com/od/3d-101-The-Basics/a/Anatomy-Of-A-3d-Model.htm, rujan 2012
  • http://hr.wikipedia.org/wiki/3D_modeliranje, rujan 2012
  • http://www.bencloward.com/tutorials_normal_maps1.shtml, listopad 2012
  • http://en.wikipedia.org/wiki/Autodesk_3ds_Max#Industry_usage, listopad 2012
  • http://en.wikipedia.org/wiki/List_of_films_made_with_Autodesk_3ds_Max, listopad 2012
  • http://suite101.com/article/what-is-3d-polygon-modeling-a73217, listopad 2012
  • http://en.wikipedia.org/wiki/Mental_ray, listopad 2012
  • http://en.wikipedia.org/wiki/Unity_(game_engine), listopad 2012
  • http://unity3d.com/unity/editor/importing, listopad 2012
  • http://chrisholden.net/tutor/chmodel.htm, kolovoz 2012
  • http://www.polycount.com/forum/showthread.php?t=45813, listopad 2012
Patrik Ervells latest collection is ironically titled “Software”ADIDAS ORIGINALS TUBULAR SHADOW. In the notes from the presentation, Ervell says he was interested in developing tension between nostalgia and sci-fi,NIKE ZOOM WINFLO 3 and even included 90s cyberpunk amongst his influences. Ervell developed this point of view by creating an imaginary software company called Idegen software systems. He then re-appropriated the company’AIR JORDAN XXXI MENs logo in several of the collection’s garments. Elsewhere,MBT TARIKI MEN mohair coats with oversized lapels made an appearance alongside mock neck tees,NIKE AIR JORDAN RETRO 5 police-inspired ribbed sweaters,MBT FORA GTX WOMEN flight bombers, and polyurethane leather coats. The setting was also suitably dystopian, and the resulting ambiance was something akin to if the creators of Deutschland 83 and Hackers met up and decided to create a collection… We mean that as a compliment.Yesterday afternoon,JORDAN CP3 IX MEN artist JR spent the day working on his latest collaborative piece with Daniel Arsham in Greenpoint,NIKE AIR MAX 90 Brooklyn,MBT KIMONDO GTX MEN NYC. Connecting the lines between art, architecture, dance and theater, Daniel Arsham has been known to subvert existing architectural structures in unconventional,NIKE CLASSIC CORTEZ NYLON playful ways; confusing and confounding the expectations of space and form. Source: Street Art News .