81
0 UNIVERZITET SINGIDUNUM DEPARTMAN ZA POSLEDIPLOMSKE STUDIJE MASTER STUDIJE -STUDIJSKI PROGRAM- SAVREMENE INFORMACIONE TEHNOLOGIJE -MASTER RAD- VIRTUELNO OKRUŽENJE ZA GRAFIČKI DIZAJN Mentor: Kandidat: Prof. dr Ranko Popović Marko Stevanović Br. Indeksa: 410250/2010 Beograd, 2012.

MR - Virtuelno Okruzenje Za Graficki Dizajn

Embed Size (px)

DESCRIPTION

Virtuelno Okruzenje Za Graficki Dizajn

Citation preview

  • 0

    UNIVERZITET SINGIDUNUM

    DEPARTMAN ZA POSLEDIPLOMSKE STUDIJE MASTER STUDIJE

    --SSTTUUDDIIJJSSKKII PPRROOGGRRAAMM--

    SSAAVVRREEMMEENNEE IINNFFOORRMMAACCIIOONNEE TTEEHHNNOOLLOOGGIIJJEE

    --MMAASSTTEERR RRAADD--

    VIRTUELNO OKRUENJE ZA GRAFIKI DIZAJN

    Mentor: Kandidat:

    Prof. dr Ranko Popovi Marko Stevanovi

    Br. Indeksa:

    410250/2010

    Beograd, 2012.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    1

    APSTRAKT

    U vremenu velikih promena kao to je ovo u kojem ivimo, pored razvoja privrede, ekonomije, tehnologije, naunih dostignua, organizacionih struktura, razvijaju se i obrazovne tehnologije. Pored klasinog obrazovanja pojavila se potreba za sticanjem novih znanja, kako u koli, tako kasnije u poslovnom sistemu i na radnom mestu. Uvoenjem novih obrazovnih tehnologija stiu se nove mogunosti razvoja obrazovanja i komunikacije meu ljudima. Primer za to je uvoenje kompjuterske tehnologije u sva podruja ljudske delatnosti. Ovakvi oblici obrazovanja, uenja kod kojih nema neposrednog kontakta izmeu predavaa i osoba koje stiu obrazovanje naziva se uenje na daljinu (eng. e-learning). Intenzivni razvoj informacionih i komunikacionih tehnologija je ubrzao globalizaciju poslovnih procesa i pojavu elektronskog poslovanja. Razvoj elektronskog poslovanja je postavilo osnove za uspenu realizaciju uenja na daljinu. U poetku je uenje na daljinu predstavljalo samo podrku standardnom obrazovanju, u vidu elektronskih udbenika i komunikacije elektronskom potom, dok danas postoje mnogi univerziteti kod kojih se studiranje odvija na daljinu.

    U prvom delu prikazani su osnovni koraci izgradnje jednog virtuelnog okruenja kao i principi modelovanja i implementacije osnovnih funkcionalnosti u X3D programskom jeziku. Uz to je opisan i rad sa avatarima, odnosno njihovo kreiranje, brisanje, upravljanje, prikazivanje, dodavanje ponaanja i chat funkcije u cilju kreiranja viekorisnikog virtuelnog okruenja. U drugom delu detaljno su opisane smernice i standardi u dizajnu iz sveta informacionih tehnologija. Obuhvaeni su i protokoli koji se koriste u sklopu podrke virtuelnih okruenja, a akcenat je stavljen na protokole i chat kanale koji se koriste u Second Life virtuelnom svetu. Mree za velika poslovanja obino imaju klijent-server arhitekturu, poznatu i kao arhitekturu dva nivoa. Najvei deo posveen je upravo arhitekturama, zahtevima za podrku, savremenim konceptima arhitekture, reenjima problema skalabilnosti kao i strategijama i zahtevima za propusnim opsegom. Trei deo prikazuje realizovano reenje virtuelne laboratorije za grafiki dizajn, kao i kurs kreiran u Moodle-u. Akcenat je stavljen na prednosti upotrebe novih tehnologija i sistema za uenje na daljinu odnosno kako se nastava moe pratiti od kue i pritom stei permanentno znanje uz praktinu

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    2

    primenu istovetnu kao sa klasinih predavanja. Virtuelna laboratorija ima ulogu pripreme za rad u realnoj laboratoriji.

    Kljune rei: X3D,Virtual Lab, Moodle...

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    3

    SADRAJ 1. METODOLOGIJA IZRADE RADA ................................................................. 5

    1.1 Uvod ......................................................................................................................... 5

    1.2 Predmet istraivanja ................................................................................................. 6 1.3 Cilj istraivanja ........................................................................................................ 6 1.4 Metode istraivanja .................................................................................................. 7 1.5 Struktura rada ........................................................................................................... 7

    2. X3D I SAVREMENE RAUNARSKE MREE .............................................. 8 2.1 Razvoj Interneta ....................................................................................................... 8 2.2 Definicije osnovnih pojmova ................................................................................. 10 2.3 Istorija X3D ............................................................................................................ 11 2.4 VRML .................................................................................................................... 12

    2.5 X3D ........................................................................................................................ 14

    2.5.1 Prednosti X3D nad VRML .................................................................................................. 14

    2.5.2 Pregled X3D profila i usaglaenosti .................................................................................... 16

    2.6 Alati ........................................................................................................................ 17

    2.7 Skript jezik ............................................................................................................. 18 2.7.1 Skripte za povezivanje ......................................................................................................... 18 2.7.2 Skripte za aktivaciju ............................................................................................................ 19 2.7.3 Skripte za kretanje ............................................................................................................... 19 2.8 Avatari .................................................................................................................... 20

    2.9 BS Collaborate i BS Contact ........................................................................................... 21

    2.9.1 Konektovanje na server ....................................................................................................... 21 2.9.2 Provera identiteta korisnika ................................................................................................. 23

    2.9.3 Upravljanje korisnikom sesijom ........................................................................................ 23 2.9.4 Prikazivanje avatara............................................................................................................. 25 2.9.5 Upravljanje avatarom .......................................................................................................... 25 2.9.6 Pristupanje sceni .................................................................................................................. 26 2.9.7 Brisanje avatara ................................................................................................................... 26 2.9.8 Prikaz sopstvenog avatara ................................................................................................... 27

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    4

    2.9.9 Dodavanje ponaanja avatarima .......................................................................................... 27 2.9.10Dodavanje Chat funkcije ...................................................................................................... 28

    3. PROTOKOLI I ARHITEKTURA VIRTUELNIH OKRUENJA............... 29 3.1 Smernice i standardi ............................................................................................... 29

    3.1.1 Vaei standardi .................................................................................................................. 30

    3.1.2 Postojee smernice .............................................................................................................. 34 3.2 Protokoli ................................................................................................................. 35

    3.2.1 Okruenje nezavisno od protokola ...................................................................................... 43 3.2.2 Sistemski servisi .................................................................................................................. 44

    3.3 Arhitektura ............................................................................................................. 44

    3.3.1 Zahtevi za podrku arhitekture ............................................................................................ 47

    3.3.2 Komunikacija ...................................................................................................................... 48 3.3.3 Savremeni koncepti arhitekture ........................................................................................... 49

    3.4 pLVE reenje problema skalabilnosti ............................................................................ 51 3.5 CPU i GPU performanse ................................................................................................. 52

    3.6 Mreni saobraaj ............................................................................................................... 53 3.6.1 Zahtevi za propusnim opsegom ........................................................................................... 54

    3.6.2 Provera identiteta korisnika ................................................................................................. 55

    3.6.3 SEMMO Skalabilni engine za MMOG i MMOW ............................................................ 55

    4. VIRTUELNA UIONICA ZA GRAFIKI DIZAJN .................................... 56 4.1 Alati za kreiranje virtuelne uionice ...................................................................... 56 4.2 Virtuelna uionica .................................................................................................. 58

    4.3 Izgled i elementi virtuelne uionice ....................................................................... 60

    4.4 Raunarski sistemi znanja ...................................................................................... 66 4.5 Moodle ............................................................................................................................... 67

    4.5.1 Pregled osnovnih mogunosti Moodle-a ............................................................................. 69

    4.5.2 Uloge korisnika Moodle-a ................................................................................................... 69

    4.5.3 Realizacija kursa preko Moodle-a ....................................................................................... 70 5. ZAKLJUAK ..................................................................................................... 77

    6. LITERATURA ................................................................................................... 79

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    5

    1. METODOLOGIJA IZRADE RADA

    1.1 Uvod

    Internet, kao virtuelna institucija, poslednjih godina postaje dominantan medij za komunikaciju i poslovanje. Ne treba posebno naglaavati da je Internet revolucionarno promenio svet u kojem ivimo, pa s toga, dananje poslovanje, bez Interneta gotovo i da je nezamislivo. Korak napred svakako predstavlja i uvoenje i korienje trodimenzionalnog prikaza (3D). 3D internetom, poznatim i kao virtuelni svet, obezbeeni su novi pogledi i vidici za dalji razvoj i korienje internet tehnologije. Osim za zabavu, unapreene su nove metode za nauno komuniciranje, trgovinu, poslovanje, razmenu informacija i slino, pri emu prostorna udaljenost ni u kom pogledu nee predstavljati prepreku. Dve kljune karakteristike su: - da se aktivnosti mogu izvravati bez fizikog prisustva; - razmena informacija razliitih oblika meu korisnicima. Treba pomenuti CVE (Collaborative Virtual Environments), to su kolaborativna virtuelna okruenja, za saradnju udaljenih korisnika. CVE podrava ovek-ovek komunikaciju pored postojee ovek-maina. CVE je zapravo kompjuterski generisan virtuelni svet u kome se uesnici sastaju i sarauju, a moe biti u dvodimenzionalnom, dvo i po dimenzionalnom i trodimenzionalnom obliku. Kolaborativna okruenja imaju veliki potencijal za implementaciju u raznim oblastima i njihovo meusobno povezivanje.

    Globalna aplikacija Second Life, amerike kompanije Linden Research, je najbolji primer kako funkcionie jedno takvo okruenje. Kompanije i osobe iz stvarnog sveta otvaraju u tom virtuelnom svetu svoja predstavnitva, prodavnice, kompanije, pa ak i ambasade. Dokaz tome su i predstavnitva koja su u Second Life-u otvorili italijanski i francuski predsednici, ambasada vedske, kao i kompanije poput IBM-a, AMD-a, BMW-a, Beneton-a, Sony-a, Adidas-a i mnogih drugih.

    Koncept virtuelnog prenoenja znanja stvara jedno sasvim novo polje istraivanja i reavanja problema. Kako bi se postigao napredak i ostvarili razvojni ciljevi nezaobilazno reenje kojem se kompanije priklanjaju je svakako elektronsko uenje. Virtuelne uionice pored toga to su otvoreni

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    6

    tip uenja i to su dostupne svima, bez obzira na karakteristike i finansije, ine da proces uenja bude zanimljiv i interesantan. Stvaranje virtuelne uionice zasnovano je na modelu zajednikog uenja i korienja internet tehnologija. Cilj virtuelnih uionica je potpuno jasan, a to je bri, efikasniji, jeftiniji i kvalitetniji razvoj i obrazovanje.

    1.2 Predmet istraivanja

    Predmet izrade master rada zasniva se na X3D modelovanju, upoznavanju korisnika sa principima koji se koriste prilikom modelovanja, kao i sam razvoj i karakteristike istog. Pored toga, objanjeni su principi i karakteristike Moodle platforme za elektronsko uenje kao i rad u virtuelnoj laboratoriji za grafiki dizajn i priprema za rad u realnom okruenju.

    1.3 Cilj istraivanja

    Cilj rada je upoznavanje sa tehnikama i principima X3D modelovanja kao i praktina primena prilikom izrade avatara. Poseban akcenat je stavljen na primenu programskog paketa BSCollaborate kod izrade avatara, kao i primenu on-line kursa u virtuelnom okruenju.

    Drutveni cilj rada je da se korisnici upoznaju sa prednostima virtuelnog sveta kao i mogunostima X3D modelovanja.

    Ostvarivanje cilja istraivanja zasnovano je na teorijama i naunim injenicama kao i saznanjima iz brojnih radova i literature raznih strunjaka sublimiranih sa saznanjima samog autora.

    Rad ukazuje na to da X3D tehnologija prati obrazovni proces i sinhronizovana je sa tehnolokim progresom i mogunostima kompjuterske multimedijalne tehnologije.

    Takodje namera je da se primenom kursa, koncipiranog u Moodle-u, na virtuelnu laboratoriju za grafiki dizajn pokae pozitivna strana uenja na daljinu.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    7

    1.4 Metode istraivanja

    Istraivanje je koncipirano na saznanjima iz naune i strune literature, odnosno saznanjima drugih autora koji su u svojim lancima i knjigama istraivali problematiku kojom se bavi i ovaj rad. Tokom istraivanja, korieno je est principa naunog saznanja: objektivnost, pouzdanost, optost, sistematinost, preciznost i istorinost ili razvojnost. Na osnovu postavljenog cilja ovog istraivanja odabrane su metode koje e svojom kombinacijom sainjavati metodiku rada. U izradi ovog rada korieno je vie metoda kao to su: metoda modelovanja, metoda analize i sinteze, induktivna i deduktivna metoda, metoda klasifikacije, metoda komparacije.

    1.5 Struktura rada

    Prvi deo objanjava poreklo i nastanak X3D-a, a na njega se nastavljaju delovi o pregledu i usaglaenosti X3D profila, alatima za modelovanje i animaciju, skript jezicima i avatarima. Definie se pojam X3D-a, iznose se razliite definicije i miljenja, govori se o njegovom razvoju, prednostima i korisnikoj upotrebi. Nakon optih i uvodnih razmatranja u ovom delu se nalazi opis i upotreba programskog paketa BSCollaborate kao i izrada i implementacija avatara. U drugom delu opisane su smernice, standardi i protokoli koji se koriste u sklopu podrke virtuelnih okruenja, a najvei deo posveen je arhitekturama i njihovim savremenim konceptima, kao i zahtevima za podrku, zahtevima i strategijama za propusnim opsegom, ali i reenjima problema skalabilnosti. Trei deo sadri detaljni opis izrade virtuelne laboratorije za grafiki dizajn i alata kojim je to ostvareno. Opisan je i kurs koji je izraen pomou Moodle softverskog paketa, sa ciljem da se korisnici bolje upoznaju sa mogunostima i pripreme za rad u realnoj uionici.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    8

    2. X3D I SAVREMENE RAUNARSKE MREE

    2.1 Razvoj Interneta

    Internet je javni sistem povezanih raunarskih mrea na globalnom nivou ili kako se jo naziva, velika internacionalna-globalna baza podataka. Nastanak globalne mree vezuje se za 1869. godinu i elju Ministarstva odbrane SAD da se istrai nain i razvije mrea koja e preiveti nuklearni napad. Sredinom 1983. godine tadanja mrea prelazi sa NCP-a (Network Control Protocol) na TCP/IP (Transmision Control Protocol / Internet Protocol) i u tom trenutku je bilo 1000 raunara povezanih sa ARPANET-om (Advanced Research Project Agency Network) koji je razvijao ovu mreu dok je danas prema procenama taj broj preko 2 milijarde. Koliina podataka koja je u opticaju je nezamislivo velika, a primenu je osim za naune i vojne potrebe, kako je prvobitno planirano, naao i u svetu trgovine, industrije kao i u ovekovoj svakodnevnici i zabavne svrhe. U poslovnom svetu prednost Interneta u odnosu na druge medije se ogleda u tome to trite nema granice, lake se uspostavlja kontakt i komunicira sa partnerima, a i velika koliina informacija je na dohvat ruke.

    Internet razvoj se moe prikazati u nekoliko etapa:

    - Web 1.0: - odlikuje se statikim stranicama umesto sadanjih dinamikih, to znai da nema mogunost menjanja sadraja; - ne interaktivnost, korisnici mogu samo da itaju bez menjanja sadrine sajta. - od elemenata koji se koriste danas, tu su hiperlinkovanje i bukmarkovanje.

    - Web 2.0: - taj naziv je prvo upotrebila OReilly grupacija 2003. godine, a predstavlja vie novi nain korienja Interneta nego evoluciju njegove sri.U osnovi on upuuje na poboljani nain deljenja informacija, upotrebljivost i interoperabilnost odnosno mogunost menjanja sadrine sajta od strane korisnika.Primeri za to su socijalne mree (MySpace, Facebook), sajtovi za deljenje video sadraja (Youtube), enciklopedije (Wikipedia), razni forumi i td.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    9

    - Web 3.0: Poznat i kao ,,Semantiki Internet, sadri par tehnologija za araniranje i struktuiranje podataka koji se mogu pronai na Internetu da bi se uinili dostupnim i iskoristivim za programe i aplikacije zahvaljujui metadata sistemu. A sve to sa ciljem da Internet ne bude samo u slubi ljudi ve i maina. I moda i najbitniji segment predstavlja napredna pretraga podataka na Internetu gde e softver pronalaziti najbitnije podatke sa raznih sajtova i utedeti znaajno vreme koje se troilo na pretragu.

    - Web 4.0: Poznat i kao ,,Simbiozni Internet, zbog mogunosti da ga koriste i ljudi i maine kao to je to sluaj kod Web 3.0, ali sa dosta naprednijim mogunostima i mnogo monijim interfejsom npr. koji se moe kontrolisati mislima. Ova ideja je jo daleko od realizacije, ali e svakako u dogledno vreme biti realizovana.

    - Web 5.0: Predstavlja temu koja jo uvek nije previe dotaknuta, ali se pretpostavlja da e vetaka inteligencija zameniti ljudsku.

    Budunost Interneta je blistavija od raunara, mobilnih telefona, televizije i td. jer sve zavisi upravo od Interneta. Koncept na kome se zasniva budunost je virtuelna prisutnost korisnika gde e raunar pomou softvera obavljati tu ulogu. Ovo je izvodljivo na taj nain to bi raunar elektronskom obradom korisnikih aktivnosti nauio mnogo toga o korisniku i bio bi u mogunosti da uz virtuelnu prezentaciju u potpunosti zameni korisnika u komunikaciji sa drugima i to bez fizikog prisustva samog korisnika.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    10

    2.2 Definicije osnovnih pojmova

    Vizuelizacija - predstavlja vizuelnu prezentaciju podataka radi lake akvizicije znanja.

    2D vizuelni prikaz je kompjuterski bazirano generisanje digitalnih slika, uglavnom dvo-dimenzione modele (2D geometrijski modeli, tekst, digitalne slike) i simulaciju 3D slika.

    2.5D vizuelni prikaz ili pseudo 3D je grafika projekcija i tehnika koja ini da serija slika ili scena izgleda kao 3D to zapravo nije. A koristi se i kod 3D igara koje su ograniene na 2D prikaz.

    3D vizuelni prikaz slui za prikaz slika ili scena koje osim irine i duine imaju i dubinu. To je ujedno i skup razliitih tehnika za kreiranje i prezentaciju 3D objekata. Efekat je visoki stepen oseaja realnosti pa se na ovu vrstu prikaza sve vie oslanja i filmska industrija [5].

    4D vizuelni prikaz predstavlja kombinaciju 3D sadraja i fizikih efekata.

    6D vizuelni prikaz predstavlja kombinaciju 3D sadraja, fizikih efekata i interakcije.

    Stvarnost (eng. Reality) oznaava stvarno postojanje odnosno prirodno, realno okruenje suprotno od virtuelnog.

    Simulirana realnost je stanje sa velikim stepenom simulacije pomou kompjuterske tehnologije. Razlikuje se od realnosti, ali se simulira gotovo do stepena da se ne moe razlikovati.

    Virtuelna realnost (eng. Virtual Reality) je izraz koji se primenjuje u kompjuterski simuliranim okruenjima tj. simuliranje fizikog prisustva na mestima u imaginarnom svetu isto kao u realnom, tako da korisniku stvara utisak prisutnosti u tom imaginarnom okruenju. Korisnik je u mogunosti da kontrolie kretanje i da vri reakcije u realnom vremenu [1]. Vrste VR su:

    proirena realnost - predstavlja video zapis u realnom vremenu koji u kombinaciji sa kompjuterskom grafikom stvara utisak pomeane realnosti. uvuena to su okruenja sa razliitim stepenom prisutnosti i aktiviraju se prema potrebi. proirena virtuelnost - predstavlja spajanje objekata iz realnog sveta sa virtuelnim okruenjem. x realnost - predstavlja deljenje informacija izmeu virtuelnog i realnog sveta.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    11

    Virtuelni svet predstavlja kompjuterski simulirano okruenje odnosno online zajednicu u kojoj korisnici mogu da rade gotovo sve stvari kao u realnom ivotu. Mogue je kretanje, komuniciranje, kreiranje objekata i njihovo korienje i td. Grafike prezentacije kojima su predstavljeni korisnici zovu se Avatari. Vrste virtuelnih svetova su: Meta univerzumi i online igrice.

    Virtuelna okruenja - postoje full-immersive i non-immersive virtuelna okruenja, a razlika je u nivou prisutnosti. U full-immersive okruenju korisnik je potpuno izolovan od spoljanjeg sveta, dok je u non-immersive okruenju korisnik svestan svog realnog okruenja.

    Virtuelni continuum - predstavlja sve varijacije i kompozicije realnih i virtuelnih objekata.

    2.3 Istorija X3D

    Sa razvojem Interneta prepoznata je i potreba za jezikom pomou kojeg je mogue prikazati 3D objekte u pretraivau. Razvojni put od VRML-a do X3D-a bie detaljno opisan kao i razlike koje su rezultat evolucije jezika za 3D grafiku.

    Slika 1: Razvojni put od VRML-a do X3D-a

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    12

    2.4 VRML

    VRML je ISO standard za interaktivnu trodimenzionalnu Web grafiku, planiran sa vizijom da omogui stvaranje virtuelnih svetova na Web-u i da bude 3D fajl interchange format, pogodan za laku konverziju sa drugim 3D formatima. VRML je predstavljen 1994. godine i postao je standard za opisivanje 3D objekata na Internetu, a za istinske tvorce smatraju se Mark Pesce i Tony Parisi [1].

    Prva njegova verzija omoguavala je kreiranje statinih 3D scena prilagoenih Web-u bez mogunosti za interakciju sa scenom. VRML u ovom obliku nije mogao da zadovolji narastajue zahteve Internet korisnika i vrlo brzo je upuen poziv svim veim proizvoaima softvera da predloe svoja reenja. Izmeu ostalih Microsoft je ponudio svoj Active VRML, ali je prihvaen SilliconGraphics-ov Open Inventor 3D fajl format i na njemu je baziran sledei standard. Zvanina specifikacija VRML 2.0 objavljena je 1997. godine i zbog toga se esto ovaj jezik referencira kao VRML 97. VRML 2.0 je poprilino unapreen u odnosu na prethodnu verziju, pre svega novo izdanje omoguava punu interakciju korisnika sa elementima scene, a i otvorena je mogunost da se VRML pretraiva koristi u kombinaciji sa drugim eksternim aplikacijama, najea primena je kombinacija sa java apletom. Zamerka i esto opravdanje za relativno malu popularnost u irim krugovima je kompleksnost.VRML specifikacija moe da se podeli u dva dela. Prvi deo opisuje skup vorova za kreiranje same scene kao to su 3D primitive Box, Sphere, IFS , zajedno sa opisom parametara. Tu spadaju i vorovi za grupisanje elemenata scene i manipulisanje u prostoru, rotacije Zatim, tu je i grupa vorova koji opisuju razliite senzore za interakciju sa korisnikom, Proximity, Touch, Time i dr. I grupa specijalnih vorova Viewpoint, Background, Navigation Info i td.

    Drugi deo specifikacije obrauje dinamiku modifikaciju tj. kreiranje virtuelnog sveta, precizirajui funkcije VRML pretraivaa dostupne ugraenim interpreterima kojima se promene na sceni mogu inicirati iz same scene ili sa Web stranice. Sam programski jezik je strogo tipiziran i key senzitivan, nije objektno orjentisan, ali postoji mogunost da se iz njega izvede jedan objektno orjentisani model. edna od najveih prednosti ove tehnologije u odnosu na konkurente je ugraen Prototype mehanizam, on omoguava da se upotrebom postojeih elemenata jezika kreiraju novi, korisniki vorovi koje pretraiva tretira na isti nain kao i built-in tipove.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    13

    Izgradnja nekog velikog virtuelnog sveta podrazumeva ogroman broj objekata ije se stanje neprekidno menja i koji moraju razmenjivati informacije o svom stanju kako meusobno tako i sa samim svetom. Oigledno da jednim takvim sistemom ne moe manipulisati ovek ve je neophodno razviti odgovarajua softverska reenja, pametne baze podataka ili neto slino i to bi se moralo raditi paralelno sa sistematizacijom interfejsa kod samih objekata koji ine svet. Pored ovoga, ogroman problem predstavljaju i mreni protokoli, virtuelnoj realnosti treba Peer to Peer mrena arhitektura, a ne client-server. Kod P2P mree svaki vor prikaen na mreu dodaje svoje resurse sistemu i ini ga jaim, dok kod client-server arhitekture svaki client prikaen na server praktino ini sistem slabijim. Osim toga kod samog protoka informacija server je u svakom pogledu suvian korak. Kada se uzme u obzir zahtev da jedan takav sistem mora da bude multiplatformski, da omogui pristup sistemu razliitim hardverskim ureajima, od ranih stanica do mobilnog telefona, koji rade pod razliitim operativnim sistemima i aplikacijama, postaje jasno koliko je razvoj potrebnih protokola sloen poduhvat. Ovim se moe objasniti injenica da se na osnovu onoga to je danas mogue videti na Internetu, kada je VRML u pitanju, nikako ne moe donositi zakljuak o njegovim potencijalima, jednostavno, VRML je naiao na probleme ija se reenja ne mogu traiti u okviru njega samog. Oni e stajati i pred svakom drugom tehnologijom tog tipa i ne mogu se reiti promenom imena tehnologije, a pogotovo ne suavanjem njenih mogunosti i ciljeva da bi se izbeglo ono to je teko reivo. Ipak VRML 2.0 uspeno je proao sve rigorozne testove neophodne za proglaenje meunarodnog standarda ISO 14772-1:1997, pa tako postaje poznat kao VRML97. I pored povremenih potekoa VRML je ostao najee podravan otvoreni standard na svetu. Trea generacija VRML-a je zapravo X3D. Verzija 3.0 je odobreni ISO standard (ISO/IEC 19775), 2004. godine. Od tada je razvoj industrijskih mogunosti ispraen godinjim specifikacijama auriranja. Za napredak i dopunu mogunosti X3D-a, zaduen je Web3D konzorcijum koji podrava sve koji se ukljue u razvoj ove tehnologije [1].

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    14

    2.5 X3D

    X3D (eXtensible 3D) je naslednik odnosno trea generacija VRML-a, a osim to moe biti izraen u klasinom VRML kodu, X3D koristi XML (eXtensible Markup Language) za prikaz VRML oblika. X3D je besplatni-otvoreni i ISO ratifikovani standard, koji prua sistem za skladitenje, preuzimanje i reprodukciju grafikog sadraja u realnom vremenu ugraenog u aplikacijama, u okviru otvorene arhitekture za podrku irokog spektra oblasti i korisnikih potreba. Kako bi nastavio tradiciju VRML-a kao ekspresivnog 3D formata koji je podran od strane mnogih alata, X3D omoguava skriptovanje (ECMAScript ili Java) i vorove (eng. nodes) prototipova, pa sve to prua novu vrstu funkcionalnosti. Ono to je zanimljivo jeste da X3D definie odnose i meusobno ponaanje, a ne koristi se imperativnim korak-po-korak programiranjem. X3D sadri bogati skup funkcija koje se mogu prilagoditi za upotrebu u inenjerstvu i naunoj vizuelizaciji, CAD i arhitekturi, medicinskoj vizuelizaciji, treninzima i simulacijama, multimediji, zabavi, edukaciji i td. [5].

    2.5.1 Prednosti X3D nad VRML

    1. X3D je VRML kompatibilan. I dalje je prisutno klasino VRML kodiranje (.x3dv). Nita od tehnologije nije izgubljeno, ak ta vie, napredovala je i razvila se u X3D. U X3D je uloen veliki trud da se dostigne potpuna kompatibilnost sa VRML-om uporedo sa reavanjem problema koji su direktno uticali na slabu meufunkcionalnost okruenja sa korisnicima.

    2. XML kodiranje je glatko integrisano sa ostalim aplikacijama. XML je brzo postao preduslov za korporacijske ili dravne baze podataka. Korienje XML kodiranja ini jednostavnijim upravljanje, kontrolu, validaciju i razmenu informacija.

    3. X3D scene i okruenja funkcioniu pouzdano na razliitim pokretaima. Glavni problem sa VRML-om je taj da je teko razviti VRML okruenje koje funkcionie odgovarajue na svim pretraivaima. To je problem zbog nedostatka odgovarajuih specifikacija za VRML aktivnosti u VRML standard. Uloen je veliki napor da se obezbedi adekvatna specifikacija X3D akcija, na takav nain da bi postojala meufunkcionalnost scena i okruenja meu pretraivaima.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    15

    4. X3D je komponentni jezik to omoguava specifikaciju profila prilagoenih delimino velikim tritima (npr. medicina, arhitektura, filmska industrija)

    5. X3D autorizacija za korisnike je konzistentna i laka. X3D interfejs za autorizaciju scena prua konzistentnu funkcionalnost za sve skripting jezike, kako za interne tako i za eksterne. Ovo ne vai za VRML, gde ava i ECMAScript imaju veoma drugaiji nain programiranja. X3D reava sve ovo navoenjem ujedinjenog skupa apstraktnih usluga koje mogu biti mapirane za bilo koji program ili skripting jezik tako da okolina radi konzistentno bez obzira na programski jezik. ezike veze su obezbeene za ava i ECMAScript to ini X3D autorizaciju jednostavnijom.

    6. X3D je bogatiji funkcijama. Veliki broj funkcija potrebnih za VRML su date u X3D-u na nain koji je u potpunosti integrisan u arhitekturu tj. standardizovane su. Stoga su izbegnuta mnoga ad hok reenja koja su u tuem vlasnitvu. X3D se moe zamisliti kao VRML 3.

    7. X3D se stalno aurira i poboljava. X3D raste u pogledu funkcionalnosti. Predloeni Nacrt Amandman 1 specifikacija koji dodaje stvari kao to su 3D teksture i jezici za senanje je dostupan. Ovo takoe ispravlja neke identifikovane anomalije u originalnoj X3D specifikaciji. Struktura X3D-a omoguava lake i redovno auriranje. Takoe je lake dodavati nove funkcije koje se prilagoavaju promeni grafike i komercijalnim tritima.

    8. X3D aplikacije su oznaene kao pouzdane i predvidljive. X3D program za usaglaenost je razvijen od strane WEB3D Konzorcijuma koji garantuje da e autorizacija i reprodukcija aplikacija biti pouzdana i predvidljiva.

    9. X3D otvoreni kod aplikacija za usaglaenost je dostupan resurs za programere. Implementacija skoro svih X3D otvorenih kodova je dostupna i besplatna za sve pretraivae. Za razliku od VRML scena, X3D scene e besprekorno raditi na svakom pokretau koji sadri kod za usaglaenost.

    10. X3D binarni format nudi enkripciju (tj. bezbednost) i kompresiju (tj. brzinu). Kompresovano binarno kodiranje je u razvoju to omoguava enkripciju za bezbedonosne modele i veoma veliku kompresiju (znaajno kompresovaniju nego VRML-ov gzip) X3D okruenja. Ralanjivanje scena i ubrzanje uitavanja od 300-500% su uobiajena pojava. Treba imati na umu da je za sve pretraivae lako da podre sva kodiranja jer je jedina razlika u njihovoj implementaciji u tome da je

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    16

    potreban drugaiji parser. Programeri X3D pretraivaa planiraju da omogue podrku svih kodiranja [5].

    2.5.2 Pregled X3D profila i usaglaenosti

    Modularna arhitektura X3D-a omoguava slojevitim profilima da prue: poveanu funkcionalnost za trodimenzionalno okruenje i poboljanu interaktivnost, pouzdaniju razmenu podataka formata za aplikacije vertikalnog trita unutar malog preuzetog uzorka sastavljenog od modularnih blokova funkcionalnosti (komponenti), koje mogu jednostavno da razumeju programeri aplikacija i sadraja [5].

    X3D osnovni profili:

    - Interchange je osnovni profil za razmenu geometrijskih modela izmeu razliitih 3D aplikacija. Dizajniran je da bude jednostavan za eksportovanje i importovanje. Podrani su osnovni geometrijski oblici, materijali i teksture, osnovna osvetljenja i animacije. Ne postoji run-time model za renderovanje, to ga ini vrlo lakim za korienje i integrisanje u bilo kojim aplikacijama.

    - Interactive omoguava interakciju korisnika sa 3D okruenjem dodavanjem razliitih senzor vorova: za korisniku navigaciju i interakciju (npr. PlanseSensor, TouchSensor), merenje uveanja i dodatna osvetljenja (Spotlight, Pointlight).

    - Immersive ovaj profil najvie lii na VRML97. Sadri sve to i Interactive profil ukljuujui i nekoliko naprednih mogunosti (omoguava potpunu 3D grafiku i interakciju, ukljuujui audio podrku, specijalne efekte i skriptovanje) i brojne vorove.

    - Full ukljuuje sve definisane vorove u X3D specifikaciji kao i DIS (Distributed Interactive Simulation), NURBS (Non-Uniform Rational B-Spine), H-Anim (Humanoid Animation), GeoSpatial i druge napredne komponente.

    - MPEG-4Interactive je profil dizajniran specijalno za MPEG4 multimedijalne sadraje i priblian je Interactive profilu.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    17

    - CADInterchange ovaj specijalizovani profil podrava importovanje CAD modela. Sadri veinu vorova iz Interchange profila i veliki broj novih vorova za CAD.

    2.6 Alati Prilikom izrade trodimenzionalnih projekata mogue je koristiti vie vrsta alata razliitih tehnikih mogunosti. Njihova svrha upotrebe je razliita pa imamo osim onih koji slue za animaciju i modelovanje i alate za kreiranje sadraja virtuelnih okruenja, a postoje i oni za izgradnju 3D grafikih aplikacija.

    Kategorije i podkategorije alata:

    - Modelovanje i animacija - Mediji - Grafike biblioteke - Vii nivo (npr. scene graph) - Nii nivo (npr. immediate-mode rendering) - VR biblioteke

    - Drajveri za ureaje - Integrisani alati najvieg nivoa - Audio biblioteke

    - Haptic biblioteke

    - Kolaborativne biblioteke

    Kategorije alata za modelovanje i animaciju:

    - Komercijalni: npr. 3D Studio Max, Maya, Cinema4D, FormZ - Lini: npr. AC3D

    - Besplatni: npr. gMAX

    - Otvorenog koda: npr. Blender3D, Wings3D, Art of Illusion

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    18

    Alati za obradu slika, namenjenih kreiranju tekstura:

    - 3D alati za slikanje i crtanje (npr. Alias Studio Paint 3D) za slikanje u realnom vremenu oko 3D objekata

    - video alati za animaciju tekstura - alati za audio procesiranje i modifikovanje

    2.7 Skript jezik

    Kako bi virtuelni svet bio interesantniji za korisnika, pored statikih objekata, skriptama se definiu akcije objekata za interakciju sa korisnicima. Skripte mogu biti tekstualne, a mogu biti i deo programske strukture. Postoji ideja i radi se na tome da se kreira zajedniki skript jezik, a za sada su se objektno orjentisani jezici dobro pokazali za skriptovanje aplikacija za virtuelne svetove iako nemaju klasian nain nasleivanja. Za interpretativne jezike je potreban vii nivo znanja [1].

    Postoje tri osnovna tipa skripti:

    - Skripte za povezivanje (Connection Scripts)

    - Skripte za aktivaciju (Trigger Scripts)

    - Skripte za kretanje (Motion Scripts)

    2.7.1 Skripte za povezivanje

    Povezivanje ulaznih i izlaznih ureaja razliitih objekata ostvaruje se preko skripti za povezivanje. Informacije o poloaju i pokretima ureaja se koriste za kontrolu poloaja i akcije elemenata u virtuelnom svetu. Dok se kod nekih sistema ove funkcije ugrauju direktno u program, kod drugih je kompletan VR program jedan skript za povezivanje. Pokazatelj interakcije odnosno povratna informacija prilikom selektovanja nekog objekta se kod prostijih sistema manifestuje vizuelnom ili

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    19

    audio povratnom informacijom, dok je kod naprednijih jednostavan princip dodirom, kao to je vibracija dojstika.

    2.7.2 Skripte za aktivaciju

    U sluajevima kada treba da otpone odreeni dogaaj poziva se skripta za aktivaciju. Koristi se za detekciju rastojanja od objekta do 3D efektora ili oka (tzv. Virtuelni ovek).

    2.7.3 Skripte za kretanje

    Na promene poloaja, orjentaciju ili neke druge atribute objekata (svetla, kamere) utiu skripte za kretanje. Da bi se zadrala jednostavnost i brzina, za objekte se koristi samo jedan skript za kretanje. Skripte za kretanje mogu biti veoma mone funkcije ukoliko se ne pretera u kompleksnosti, a samim tim i u vremenu izvrenja te funkcije.

    Postoji veliki broj skript jezika, a ovo su neki od njih:

    AppleScript, AWK, BeanShell, Ch, CLIST, ColdFusion, ECMAScript, ActionScript, DMDScript, ECMAScript for XML, JavaScript, Jscript, CMS EXEC, EXEC 2, F-Script, Falcon, Frink, Game Maker Language (GML), ICI, Io, JASS, Java, Groovy, Join Java, Tea, Lua, Linden Scrpit Languages, MAXScript, MEL , Mondrian, Mythryl , Perl ,PHP, Pikt, Python, R, REBOL, REXX , Revolution, Ruby, Smalltalk, Shell, S-Lang, sed, TCL, TorqueScript, VBScript , Windows PowerShell , Shell komandni jezici: UNIX shell i DCL

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    20

    2.8 Avatari

    Avatar kao grafiki model korisnika na Web-u moe biti u dvo i tro-dimenzionalnom obliku, shodno njegovoj potrebi. U sluaju kada korisnik komunicira sa drugim korisnicima preko chat-a ili na nekom od foruma radi lakeg raspoznavanja koriste se 2D avatari koje je mogue odabrati iz liste ponuenih ili importovati svoj. U drugom sluaju imamo 3D avatare koji su daleko tei za kreiranje i koriste se u igrama ili virtuelnim svetovima. Teina kreiranja 3D avatara ogleda se u tome da je zbog sloenosti ljudskog tela veoma teko napraviti savren model, meutim noviji modeli nisu daleko od toga. Ono o emu treba voditi rauna prilikom modelovanja jeste skup njegovih buduih funkcija. U delu koji sledi opisano je povezivanje serverske platforme BS Collaborate sa X3D scenom, dodavanje avatara toj sceni kao i funkcionalnost razgovora.

    Slika 2: 3D model u formi avatara

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    21

    2.9 BS Collaborate i BS Contact

    Serverska platforma BSCollaborate namenjena je za rad sa aplikacijama virtuelne realnosti. Ova platforma u kombinaciji sa osnovnim komponentama BSContact-a omoguava komunikaciju izmeu avatara i 3D objekata u zajednikom okruenju. BSCollaborate i BSContact podravaju 3D funkcionalnosti (npr. pozicioniranje avatara) [2].

    2.9.1 Konektovanje na server

    Prvi korak je svakako kreiranje viekorisnike scene, a za to je neophodno dodavanje dva vora, NetConnection i BSCollaborate vor. Ime domaina (eng. hostname) i broj porta (eng. port number) odreeni su NetConnection vorom, koji slue za konekciju sa BSCollaborate serverom. Sa druge strane BSCollaborate vor imenuje sobu u kojoj se X3D scena pridruuje na serveru i kontrolie stanje sesije.

    NetConnection { field SFBool enabled TRUE eventOut SFBool isActive

    field MFString address "localhost" field SFInt32 port 0 field SFInt32 protocol 0 field SFTime timeOut 0 field SFBool secure TRUE }

    NetConnection vor

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    22

    DEF Conn NetConnection { address "test.bitmanagement.de" port 12345 protocol 3 }

    Upotreba NodConnection vora

    DEF MU BSCollaborate { field SFNode connection "NULL"

    field SFString roomName "Marko

    eventIn MFString tryLogin eventIn SFTime 22ogout eventOut SFBool loginResult eventOut SFInt32 sessionId eventOut SFNode hasJoined eventOut SFNode hasLeft

    eventIn SFVec3f ownPosition eventIn SFRotation ownOrientation eventOut SFNode hasMoved

    eventIn MFString meSay eventOut SFNode hasSaid

    field MFNode users [] }

    BSCollaborate vor

    Nakon kreiranja konekcije servera i scene, BSCollaborate vri proveru odnosno autentifikaciju identiteta lokalnih korisnika kako bi postali vidljivi drugim korisnicima u sceni. Svaki skript za BSCollaborate izvrava se u vie instanci. Ovaj vor odreuje koja soba treba biti povezana sa scenom, a ujedno alje dogaaje ka sceni i prima ih kako bi omoguio pored pomenutih funkcija jo i upravljanje sesijom (upravlja aktivnostima korisnika), upravlja avatarima i omoguava chat. Samo jedan BSCollaborate vor moe biti po sceni.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    23

    2.9.2 Provera identiteta korisnika

    Slanjem poruka tryLogin polju BSCollaborate vora u X3D kodu za opis scene, vri se provera identiteta lokalnih korisnika. To su uglavnom korisniko ime i ifra, meutim moe biti ID sesija koja je ve uspostavljena sa sistemom za upravljanje korisnicima. Na serveru se nalazi i modul koji prima podatke i koristi ih za autentifikaciju.

    Slika 3: Provera identiteta korisnika

    2.9.3 Upravljanje korisnikom sesijom

    Kad god se korisnik pridrui sceni, automatski prima poruku sa svojim podacima kao i o tome da je prijava prihvaena i o drugim korisnicima u sceni. I drugi korisnici dobijaju poruku sa informacijom o novom korisniku. Kada korisnik napusti scenu deava se slina situacija, ostali korisnici bivaju obaveteni o tome. U UserData voru se skupljaju informacije o svakom korisniku to omoguava BSCollaborate voru da izvrava sve funkcije vezane za korisnike. Da bi se omoguilo skripti da lake vri pregled prijavljenih korisnika BSCollaborate vor sadri MF vor sa poljem pod nazivom ,,users (korisnici), koje sadri UserData vorove svih prijavljenih korisnika.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    24

    UserData { field SFInt32 idx field SFInt32 sessionId field SFString nickname field SFString avatarString eventOut SFString loginState eventOut SFVec3f position eventOut SFRotation orientation eventOut SFBool isMoving eventOut MFString chat field SFNode userData }

    UserData vor

    idx index ulaska u vor MF sa poljem BSCollaborate.users sesionsid predstavlja jedinstveni ID za korisnike nickname nadimak korisnika avatarString predlog koji avatar treba da reprezentuje korisnika

    Slika 4: Upravljanje korisnikom sesijom

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    25

    2.9.4 Prikazivanje avatara

    BSCollaborate ne prikazuje avatare sam po sebi, ve se oslanja na sadraj koji se time bavi. Proto pod imenom AvatarInfo upravlja jednim avatarom, a tu je i skripta pod nazivom ScrAvatarMgr koja prima dogaaje iz BSCollaborate vora.

    PROTO AvatarInfo [ eventIn SFString set_avatarString eventIn SFVec3f set_position eventIn SFRotation set_orientation ]

    Dodavanje avatara sceni

    2.9.5 Upravljanje avatarom

    Prikaz avatara je rezultat reakcije vora ScrAvatarMgr skripte na dogaaje iz BSCollaborate vora. ScrAvatarMgr vor reaguje na hasoined, hasLeft i hasMoved. Kada ScrAvatarMgr skripta dobije hasoined signal ona poinje sa ispitivanjem UserData vora radi kreiranja avatara. Tu se podrazumeva provera da li je indeks jednak nuli jer je u tom sluaju dogaaj za lokalnog korisnika. Za svakog drugog korisnika skripta kreira instancu AvatarInfo vora. BSCollaborate vor ne ostvaruje interakciju sa UserData, ali omoguava da AvatarInfo vor zajedno sa UserData vorom bude dostupan svaki put kada BSCollaborate poalje izvetaj o korisniku. Skripta dalje dodaje AvatarInfo vor grupi vorova, pa on postaje deo grafike scene to mu omoguava prikazivanje avatara.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    26

    2.9.6 Pristupanje sceni

    Kada avataru nije poslata inicijalna pozicija oni se nalaze u nultom poloaju. U funkciji AvatarLoaded se dodeljuje poetna pozicija avatara, a u sluaju da AvatarInfo vor primi poloaj pre uitavanja sa servera taj poloaj moe biti skladiten za kasnije. Kako bi interfejs bio jasniji kod se premeta sa set_avatar.String pozicije na poseban Init dogaaj. Na ovaj nain mogue je podesiti parametre (avatar string, initial position, orientation...), i onda pokrenuti inicijalizaciju AvatarInfo vora.

    Funkcije set_position(.) i set_orientation(.) se reguliu sledeim kodom:

    if(bHaveAvatar) { // send it to the avatar. AssignPos(Pos); }else { // store it for later. InitialPosition= Pos; }

    2.9.7 Brisanje avatara

    U trenutku naputanja scene od strane korisnika, BSCollaborate vor alje hasLeft dogaaj. Reakcija na ovaj dogaaj je uklanjanje AvatarInfo vora ovog korisnika iz GrAvatar Group vora. Ono to sledi jeste uklanjanje UserData vora od strane BSCollaborate vora, a BSContact brie AvatarInfo vor. Zbog toga je bitno da se druge reference ne uvaju u AvatarInfo ili UserData voru jer e biti obrisane. Sloenije aplikacije mogu animirati avatar i ukloniti ga vor po vor iz GrAvatar Group po zavretku animacije.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    27

    Slika 5: Brisanje avatara

    2.9.8 Prikaz sopstvenog avatara

    Po podrazumevanoj vrednosti BSContact je u reimu prvog lica, a moe biti i u treem. Kada je reim u prvom licu avatar nije prikazan i scena je prikazana korisniku sa pozicije avatara. Ovako korisnik vidi okruenje koje vidi avatar. U reimu treeg lica vidi se ceo avatar i deo scene iza njega. Kada se vri promena reima izmeu prvog i treeg lica skripta koristi funkciju: Browser.showMyAvatar(.) ili Browser.setThirdPersonView(.).

    2.9.9 Dodavanje ponaanja avatarima

    Iz stanja mirovanja avatar se aktivira jer poseduje odreeno ponaanje pri emu je ono sinhronizovano sa korisnikom koji registruje isto ponaanje za avatar. Treba istai da skripte koje avatar izvrava moraju biti usklaene sa reimom u kojem se on nalazi, te da on reaguje samo na akcije svog korisnika. Svaki avatar mora da poseduje definisano stanje mirovanja kao i stanje akcije.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    28

    Slika 6: Dodavanje ponaanja avatarima

    2.9.10 Dodavanje Chat funkcije

    Problem dodavanja chat funkcije se reava dodavanjem odreene datoteke koja se povezuje sa ExternProto izrazom. Potrebno je uraditi sledei niz stvari:

    - Povezivanje scene sa BSCollaborate - Podeavanje grafikog korisnikog interfejsa chat-a - Podeavanje hasSaid i meSay dogaaja BSCollaborate vora sa grafikim korisnikim interfejsom.

    Slika 7: Dodavanje chat funkcije

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    29

    3. PROTOKOLI I ARHITEKTURA VIRTUELNIH OKRUENJA

    3.1 Smernice i standardi

    U svetu informacionih tehnologija, prilikom dizajniranja interaktivnih softvera svi oblici preporuka, bilo da su to konkretne ili apstraktne preporuke, podrazumevaju se pod kontekstom smernica (eng. Guidelines). Smernice moemo segmentirati u vie razliitih vrsta u kojima se one pojavljuju:

    - Kompilacije uputstava - Ergonomski algoritmi

    - Stil uputstava

    - Pravila dizajna - Standardi

    Standardi predstavljaju skup svih specifikacija, funkcionalnih i operativnih, sa ciljem da se standardizuje dizajn [7]. To su dokumenti priznati od strane internacionalnih organizacija za standardizaciju koje su zvanini organ, a imaju za cilj da obezbede ustaljenu primenu smernica i pravila da bi se postigao optimalni stepen reda. U ove meunarodne organizacije se mogu ulanjivati nacionalna tela bilo koje zemlje, te organizacije su:

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    30

    - Meunarodna unija za telekomunikacije (ITU) - Meunarodna elektrotehnika komisija (IEC) - Meunarodna organizacija za standardizaciju (ISO)

    Slika 8: ISO (International organization of standardization )

    3.1.1 Vaei standardi

    INTUITION (IST Network of Excellence on Virtual Reality aNb VirTUal Environments ApplIcaTIONs for Future Workspaces) istrauje projekte radi auriranja odnosno predlaganja novih standarda za prikaz 3D modela, usled nedostatka funkcionalnosti aktuelnih standarda za 3D geometrijsku predstavu. Ukoliko se za prikaz kompleksnih 3D povrina, koje imaju ulogu da to verodostojnije doaraju izgled, koriste X3D i MPEG4 standardi izgledae veoma loe zbog nedostataka ovih standarda [1]. Glavna pitanja i problemi su u vezi sa:

    Tehnologijama virtuelne realnosti:

    - Standardi za ureaje - Komunikacioni protokol izmeu interakcije, ureaja za praenje i rendering kompjutera - Dosledni sistemi polarizacionih filtera i projektori za kvalitetnu stereo projekciju

    Korisnost aplikacija za virtuelnu realnost:

    - Karakteristike ergonomije i sigurnosti radnog okruenja - Dizajn i ponaanje 3D korisnikih interfejsa - Standardne funkcionalnosti koje korisnik moe da oekuje

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    31

    Pod relevantnim sadrajima se podrazumevaju sledei:

    - MPEG-7: formalno nazvan Multimedia Content Description Interface, prua bogat set standardizovanih alata namenjenih multimedijalnom sadraju.

    - OWL-S: je semantiki markup za Web servise koji snadbeva Web servis provajdere osnovnim setom markup jezikih konstruktora za opisivanje svojstava i sposobnosti njihovih Web servisa, na kompjuterski interpretiran nain.

    - WSMO: Web Service Modeling Ontology opisuje razliite aspekte semantikih Web servisa. - VoiceXML (CCXML). Voice Extensible Markup Language je dizajniran za kreiranje audio

    dijaloga koji proizvodi sintetizovan govor, digitalni audio, prepoznavanje govora i DTMF ulaz, snimak izgovorenog ulaza, telefonija i konverzacija.

    - ISO 14915: 2003 softverska ergonomija za multimedijlne korisnike interfejse - Kvalitetni standardi displeja u medicini su DIN 6868-57, AAPM TG-18, NEMA PS 3.14, JIS Z

    4752-2-5 ili IEC 61223-3-6, ali ne podrazumevaju 3D displeje. - IEC 61223-3-6 (IEC). Osnova standarda je osiguranje kvaliteta displeja MPEG-7 (ISO/IEC).

    Osnova standarda je Multimedia Content Description Interface. - OWL-S. Osnova standarda su semantiki Web servisi. - WSMO. Osnova standarda su, takoe, semantiki Web servisi. - ISO/IEC 14772-1:1997 (Web3d Consortium). Tema standarda je definisanje bazne

    funkcionalnosti i enkodovanje teksta za VRML. - ISO/IEC 14772-2:2002, External Authoring Interface (Web3d Consortium). - ISO/IEC FDIS 19775:200x (Web3d Consortium). Tema standarda je arhitektura i SAI (eng.

    Scene Access Interface). - ISO/IEC FCD 19776:200x (Web3d Consortium Tema standarda je enkodovanje XML-a i

    klasino VRML enkodovanje. - ISO/IEC FCD 19777:200x (Web3d Consortium). Tema standarda je su ECMAScript i JAVA. - XUL. Tema standarda je XUL (akronim, XML User Interface Language). - V2 URC. Osnova standarda su soket interfejsi (korisnika okruenja), udaljene konzole i agenti

    maternjeg jezika. U pitanju je set standarda koji dozvoljavaju operacije korienjem univerzalnih udaljenih kontrolera, vienamenskih ureaja i inteligentnih agenata.

    - UIML. Tema standarda je UIML (akronim, User Interface Markup Language).

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    32

    - ISO/IEC 19775-1:2004 (International Organisation for Standardization (X3D)). Tema standarda je X3D (eng. Extensible 3D) -- Deo 1: Arhitektura, osnovne komponente. WP/ Activity: WP1.3, WP1.5.

    - ISO/IEC 19775-2:2004 (International Organisation for Standardization (X3D)). Tema standarda je X3D -- Deo 2: SAI (akronim, Scene Access Interface). WP/Activity: WP3.3.

    - ISO/IEC FDIS 19776-1 (International Organisation for Standardization (X3D)). Tema standarda je X3D enkodovanje -- Deo 1: XML (akronim, Extensible Markup Language) enkodovanje. WP/Activity: WP2.1.

    - ISO/IEC 19776-2 (International Organisation for Standardization (X3D)). Tema standarda je X3D enkodovanje -- Deo 2: VRML enkodovanje. WP/Activity: WP2.1.

    - ISO/IEC FCD 19777-1 (International Organisation for Standardization (X3D)). Tema standarda je X3D jezika veza -- Deo 1: ECMAScript. WP/Activity: WP3.3.

    - ISO/IEC FCD 19777-2 (International Organisation for Standardization (X3D)). Tema standarda je X3D jezika veza -- Deo 2: Java. WP/Activity: WP3.3.

    - ISO/IEC FCD 19774 (International Organisation for Standardization (H-ANIM)). Tema standarda je animacija oveka (eng, H-Anim). WP/Activities: WP2.1, WP5.1, and WP5.2.

    - JTOpen program (UGS & JTopen members). Tema standarda je plaforma za vizuelizaciju, kolaboraciju i deljenje podataka kroz ciklus razvoja proizvoda.

    - ISO 10303 (STEP) (International Organisation for Standardization (STEP)). Tema standarda je industrijski automatizovani sistem i intergacija. WP/Activities: WP2.1, WP5.1, and WP5.2.

    - VoiceXML (CCXML) (W3C). Tema standarda su govorni interfejsi. - ISO 14915:2003 (ISO). Tema standarda su multimedijalni ergonomski ureaji. - Calimera smernice. Interaktivni, multimedijalni resursi u muzejima, bibliotekama i arhivama, kao

    i interaktivne korisnike aplikacije. - Istraivanje korisnosti i dizajna smernica sistema virtualne realnosti. Korisni inenjerski

    napori u Virginia Tech's Systems Research centru.

    - Smernice za vizuelizaciju. Fokus je na sposobnosti prikazivanja finalnog objekta . - Smernice za dizajn interakciju i smernice za projektovanje pouzdanih agenata za

    konverzaciju. (Cowell, A.J., & Stanney, K.M. (2003)) - Inteligentni agenti virtuelne realnosti. (IVA 03, Kloster Irsee, Nemaka, Sep 15-17, 2003)

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    33

    - Smernice za dizajn virtuelno realnog trening sistema. (Cohn, J. Schmorrow, D., Lyons-Nicholson, D., Stanney, K., i Muth, E. (2003))

    - IMAGE 2003.(Scottsdale, AZ, Jul 14-18, 2003) - CVE i SVE od metafore do realnosti. (David Leevers, 1999). - Prepoznavanje gestova u virtuelnom okruenju: Veliki je potencijal mogunosti prepoznavanja

    pokreta u virtuelnim okruenjima, zbog podranosti intuitivne i efikasne interakcije izmeu raunara i oveka. Obezbeen je pregled razliitih ljudskih faktora motivacije za korienje gestikulacije u virtuelnim okruenjima.

    - Smernice za poveanje utiska prisutnosti u akustinim virtuelnim okruenjima: Dizajn smernice koje se fokusiraju na oseaj prisutnosti u interaktivnim virtuelnim akustinim okruenjima.

    - Smernice za redukovanje korisnike disorjentacije tokom navigacije u virtuelnom okruenju. (Tim Marsh i Shamus P. Smith, 2001

    - Efikasne tehnike interakcije virtuelnih okruenja bogatih informacijama. Efektivan nain integracije podataka i istrauje. Virtuelna okruenja bogata razliitim tehnikama interakcije mogu biti od vee koristi od standardnih virtuelnih oktuenja, zbog toga se i istrauje efektivan nain integracije podataka kao to su tekst, video, zvuk, slike i drugi podaci koji se koriste u virtuelnim okruenjima.

    - Dizajn smernica za interakciju pomou haptic ureaja (haptic u prevodu znai oseaj dodira). Cilj ove studije je prikupljanje informacija u okviru tri okruenja dizajna haptic ureaja:

    - virtuelni objekti i dizajn interfejsa - referentne take virtuelnih okruenja - upotreba koordinatnih linija i ogranienja u virtuelnim okruenjima

    - Saveti za izgradnju virtuelnih okruenja

    Korisnika navigacija u virtuelnim okruenjima korienjem svesnosti o virtuelnom prostoru. U virtuelnim okruenjima mogua je oteanost kretanja, a kao dva glavna razloga se navode kretanje kroz ili neposredno pored objekata u virtuelnom svetu, ali i nedostatak jasnih znakova navigacije u okruenju. Opisana je validacija smernica korienjem utisaka i studija korisnika, a rezultati su pokazali da se upotrebom smernica moe smanjiti broj greaka prilikom navigacije.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    34

    3.1.2 Postojee smernice

    Smernice koje su namenjene 2D okruenjima, koriste se i u domenu razvoja i dizajna virtuelnih okruenja, kao to su:

    - Microsoft, 1995. - Open Software Foundation, 1993. - Shneiderman, 1992. - IBM, 1992. - Apple Computers, 1992. - Helander, 1987. - Smith & Mosier, 1986.

    Ove smernice su rezultat zajednikih projekata ili akademskih istraivanja, osim RealPlaces Design Guide (IBM, 2000) koja sadri kljune elemente za izgradnju 3D korisnikih okruenja namenjenih da podre poslovne aplikacije. Web standardi za interaktivni 3D sadraj omoguavaju trajnost podataka, interoperabilnost i integraciju [5]. Zbog dovoljno jake hardverske podrke, interaktivna virtuelna okruenja graena u VRML-u (akronim, Virtual Reality Modeling Language), mogu se pohvaliti brzinom i jednostavnou izrade.

    Slika 9: Primer virtuelnog okruenja graenog u VRML-u

    Sledei kod je primer koji prikazuje objekat projektovan u X3D-u, baziranom na VRML-u.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    35

    Slika 10: Objekti u X3D-u

    3.2 Protokoli

    Virtuelna okruenja baziraju se na arhitekturama koje se oslanjaju na centralne servere. Namena virtuelnih okruenja je podrka to veeg broja korisnika, meusobno deljenje objekata, kao i

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    36

    njihovih avatara. Ipak, problem virtuelnih okruenja je u odgovarajuem skalabilnom mrenom protokolu za velika distribuirana virtuelna okruenja na Internetu [5].

    Virtuelna okruenja se ne oslanjaju na samo jednu emu distribucije nego i na fleksibilne, univerzalne i skalabilne mrene protokole, a o tome svedoe i protokoli kao to su ISTP i VRTP. Ovi mreni protokoli za deljenje virtuelnih svetova baziraju se na heterogenom pristupu, a sadre i neke od osnovnih internet protokola kao to su:

    - korisnik nema dodirnih taaka sa mrenim slojem - ne oslanja se na odreeni mreni sloj - protokol kao nezavisna aplikacija - protokol prua podrku za sve tipove fajlova koji se dele kao i za klijente u virtuelnom okruenju - protokol mora da bude prilagodljiv korisnicima irom sveta

    Za realizovanje deljenih virtuelnih organizacija koriste se i prenose putem Interneta razni tipovi podataka:

    - nepouzdan peer-to-peer prenos

    - pouzdan peer-to-peer prenos velikih fajlova - pouzdan prenos fajlova srednje veliine - pouzdan i nepouzdan prenos malih dogaaja - nepouzdan prenos grupe podataka u realnom vremenu

    Dva elementa WWW-a (World Wide Web) su HTML format i HTTP protokol.HTTP razdvaja strunjake za razvoj softvera i autore sadraja i omoguava pretraivaima i serverima da budu nezavisno kreirani. Medjufunkcionalnost i razdvajanje doveli su do razvoja tehnologije i prilagodljivog sadraja. Sve je vea upotreba novih 3D standarda kao to su VRML, X3D i Collada, ali nijedan nije zvanini i potpuno zadovoljavajui protokol.

    HTTP/FTP protokoli slue za prenos fajlova preko Interneta. Poruke se mogu slati jednoznano (jednom korisniku), peer-to-peer ili vieznano (veem broju korisnika). Slanje veem broju korisnika se vri prosleivanjem datagrama jednoj IP adresi koja prezentuje vieznanu grupu. Korisnici se pridruuju toj grupi kako bi prihvatali poruke. Poruke se prenose korienjem MBone-a (vieznani ruter).

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    37

    IP multicasting (vieznano slanje) je vrsta protokola koji je prilagodljiv i namenjen velikom broju korisnika. Protokoli koji pripadaju ovoj grupi su sledei [8]:

    - DIS (Distributed Interactive Simulation) distribuirani interaktivni simulacioni standard je mreni protokol koji je korien za distribuirane simulacije u vojne svrhe, a to je ujedno i jedini postojei protokol za deljena virtuelna okruenja. Koristi se za sprovoenje platformi u realnom vremenu, koje su prisutne u igrakoj industriji, medicini i td. Ovo je protokol niske skalabilnosti do 300 uesnika.

    - ISTP (Interactive Sharing Transfer Protocol) interaktivni protokol za transfer podataka koristi heterogenu komunikacionu infrastrukturu za podrku i baziran je na postojeim HTTP, RTP, TCP i vieznani UDP. Osim toga ovaj protokol podrava naizmenine operacije razliitih sistema koji rade na razliitim hardverima. Kljune prednosti su da podrava [12]:

    - interakciju izmeu korisnika u realnom vremenu - razmenu informacija bilo koje vrste, potrebne u virtuelnom okruenju - skalabilnost velikog broja istovremenih korisnika i velikih virtuelnih okruenja

    - DWTP (Distributed World Transfer and communication Protocol) je protokol za distribuirani transfer virtuelnih okruenja i komunikaciju. Baziran je na TCP-IP i UDP-IP (jednoznano i vieznano) protokolima, kao i na razliitim komponentama: deamons i participants. Deamons obezbeuju servise korisnicima (participants) deljenih VW. Za razliku od veine protokola, koristi nekoliko razliitih deamon-a za realizaciju servisa neophodnih za podrku distribuiranih virtuelnih okruenja (reliability, recovery, world, jednoznano) [13]. Omoguava prenos sledeih podataka u realnom vremenu (eng. streams):

    - dogaaja (eng. events) - poruka (eng. messages) - fajlova (eng. files)

    Pored protokola koji su opisani tu su i protokoli koji se koriste unutar samih virtuelnih okruenja: - SRM (Scalable Reliable Multicast) je pouzdani multifunkcionalni okvir koji se koristi na sloju

    aplikacije i laganih sesija. Algoritmi ovog okvira su efikasni, robusni i pogodni za skaliranje

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    38

    velikih mrea i velikih sesija. Ovaj protokol je u velikoj meri testiran na globalnom nivou sa sesijama u rasponu od nekoliko, pa do preko hiljadu uesnika [14].

    - NACK (Negative Acknowledgment) su protokoli za vieznane kanale. Koriste se za pouzdan prenos veem broju primaoca, a pored osnovnih funkcija imaju i ulogu u oporavku podataka na prijemnoj strani.

    - RTMP (Real Time Messaging Protocol ) je pouzdan vieznani TCP protokol koji ostvaruje stabilne konekcije, odrava nizak nivo latencije i garantuje da e svi prijemnici rasporediti prijemne poruke na isti nain, a ujedno i pre isteka krajnjeg roka. Kako bi se niz podataka (eng. stream) preneo sa to vie sastavnih informacija, deli se na fragmente o ijoj se veliini dogovaraju klijent i server. Podrazumevani fragmenti su 64 bajtova za audio podatak, a 128 bajta za video podatak i veinu drugih tipova podataka [15].

    - GPL protokol (GNU Public Licence) je najee upotrebljavana besplatna softverska licenca, u originalnoj verziji napisana od strane Richard Stallman. Koristi se izmeu ostalog i u radu na prevoenju podataka u virtuelne sisteme u realnom vremenu.

    - VRTP (Virtual Reality Transfer Protocol) je protokol namenjen virtuelnim okruenjima, graenim u VRML-u sa sledeim funkcionalnostima:

    - pored funkcije protokola za transport, utie i na ponaanje elemenata - funkcija izgradnje veze sa HLA i DIS protokolima - funkcija komunikacije sa protokolima kao to su UDP i protokoli za protok podataka u

    realnom vremenu

    - funkcionie kao okvir ili ako je neophodno kao protokol za API [1].

    Second Life koristi VoIP (Voice over Internet Protocol) sistem sa dodatkom LSL-a (Linden Script Language) za kreiranje takvih korisnikih interfejsa u kojima se objekti mogu pomerati korienjem glasa [3].

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    39

    Slika 11: ,,Second Life

    - MVIP (Multicast VRML Interchange Protocol) je VRML vieznani komunikacioni protokol za razmenu, koji omoguava korisnicima da uestvuju u podeli virtuelnih svetova. Protokol koristi servise RTP-a i pristupa VRML kroz EAI za dinamiku promenu platforme VW. MVIP je namenjen izgradnji CVE, a baziran je na Vnet kodu. Vnet koristi jednostavan protokol na nivou aplikacije koji se zove VIP za komunikaciju meu avatarima i moe se menjati sa XML-om [9].

    - VIP (VRML Interchange Protocol) je jednostavan, kompaktan protokol za slanje VRML polja preko mree da bi se omoguilo viekorisniko uestvovanje u VRML svetu. Protokol je dizajniran da bude brz, tako da veliki broj korisnika moe da komunicira ak i preko modemske konekcije, pa je iz tog razloga binarni a ne ASCII.

    - CRC (Communications Research Centre), korienjem IPV4 vieznanog protokola prilagoen je VNet kod, modela peer-to-peer. Originalni MVIP kod koristi RTP protokol, dok druga generacija MVIP-a (MVIP-II), koristi RTP/I, prilagoeni RTP protokol za distribuirane interaktivne sisteme.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    40

    - MVIP-II koristi FreeWRL i VRML reim zasnovan na peer-to-peer vieznanoj arhitekturi. Osim to prua podrku za H-anim i VRML EAI/skripting, FreeWRL delimino podrava i X3D standard i X3D parsiranje. MVIP-II komponenta radi na Linux-u, a FreeWRL na Unix/Mac OSX platformama, a ovaj projekat je otvorenog koda.

    - Station Protocol je serijski komunikacijski link velike brzine koji podrava prenos podataka sa vie senzora i korisnikih ulaza (dugmad, dojstika i sl.) od ureaja za praenje do IS-900 procesora.

    - VSCP (Virtual Society Client Protocol) je protokol koji se koristi za uzajamnu komunikaciju klijenata i servera.

    - Vmedia predstavlja multimedijalni komunikacioni protokol koji ima ulogu prenosa kompresovanih koncentrinih podataka preko Interneta. Vmedia interaktivni pretraiva je tako konceptiran da korisnik moe slobodno da obavlja funkcije kao u realnom okruenju, a sve to sa protokom podataka od 33.6 kbps [10].

    - Verse je mreni protokol koji grafikim softverima omoguava komunikaciju u realnom vremenu. Ima primenu u gotovo svim moguim situacijama u kojima se ostvaruje saradnja kao to su vizuelne prezentacije i igre. Recimo da nekoliko dizajnera virtuelno radi na izradi novog modela automobila korienjem svojih raunara i odabirom softvera za ovu izradu. U sluaju da jedan od dizajnera vri redizajn karoserije automobila, njegovo delovanje e u realnom vremenu biti prikazano na raunarima svih korisnika. Ovim je fizika prisutnost korisnika neograniena i mogua je saradnja korisnika iz razliitih krajeva sveta, kao i meusobno deljenje hardverskih i softverskih resursa.

    - MUD klijent protokol je standard za tekstualna virtuelna okruenja, koji je iroko prihvaen, a zapravo je meta protokol bez osnovnog skupa naredbi.

    - pLVE je protokol za EVE (Educational Virtual Environment). Podrava sledee tipove podataka:

    - protok u realnom vremenu

    - fajlove - avatare

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    41

    - materijal (slike, tekst, 3D objekti i td.) - pokretae

    - najnovije informacije o stanju VW

    Slika 12: pLVE komponente i meusobna interakcija

    Zasniva se na sledeim komponentama:

    - Server deljenih objekata (Shared Object Server) - Server podataka (Message Server) - Audio/Video server (AV) - Chat server

    - Klijenti

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    42

    Slika 13: pLVE klijent server komunikacija

    - ZMP Zenith MUD protokol namenjen MUD sistemima. je vrsta meta-protokola.

    - SCTP Stream Control Transmision Protocol je transportni protokol koji pouzdano radi na vrhu potencijalno nepouzdanih IP paketa. Njegova uloga je da otkriva netanost podataka, dupliranje podataka kao i gubitak istih. To se izvrava pomou brojeva sekvenci i kontrolnih brojeva. Osim toga nudi i acknowledge transfer datagrama. to se tie selektivnog prenosnog mehanizma, on se koristi za ispravku oteenih podataka ili njihov gubitak. Ovaj mehanizam je opisan u RFC dokumentima [11]:

    - RFC 2960 - Stream Control Transmission Protocol. - RFC 3257 - Stream Control Transmission Protocol iskaz o primenjivosti - RFC 3286 Uvod u SCTP protokol - RFC 3309 Provera kontrolnog broja (Checksums) SCTP protokola - RFC 3436 Transportni sigurnosni sloj iznad SCTP protokola - RFC 3554 O upotrebi SCTP sa IPsec-om - RFC 3758 SCTP i proirenje delimine pouzdanosti - RFC 3873 SCTP MIB (Management Information Base) - RFC 4460 Specifikacija greaka i pitanja

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    43

    - RFC 4820 SCTP Padding Chunk and Parameter - RFC 4895 Informacije od znaaja za SCTP - RFC 5061 Dinamika rekonfiguracija adresa - RFC 5062 Otkriveni napadi na bezbednost i mere zatite

    - NTP Network Time Protocol je protokol dizajniran za sinhronizaciju asovnika raunara preko mree. Trea verzija NTP-a je formalizovana u RFC u 1305 dok verzija 4 koja se trenutno koristi nije formalizovana. SNTP (Simple NTP) je formalizovan u RFC 2030.

    - CICP (Content Injection and Control Protocol). Ovaj protokol je HTTP za virtuelne svetove. On omoguava programima ili aplikacijama unutar virtuelnih svetova kao to su Second Life ili Sun Wonderland, da ubacuje objekte u virtuelni prostor sa kojima korisnici unutar virtuelnog sveta mogu da komuniciraju. Interakcija sa ovim objektima alje poruke nazad u aplikaciju koja moe da modifikuje objekte ili da kreira nove ukoliko je to potrebno.

    - VWRAP (Virtual World Region Agent Protocol) je protokol koji podrava stvaranje i interakciju virtuelnih okruenja u kojima razliite organizacije mogu da primene razliite servise koje treba obezbediti iz razliitih oblasti kao i spajanje regiona u jedan svet.

    3.2.1 Okruenje nezavisno od protokola

    - VR-Link je objektno orjentisani C++ alat koji programeri simulacija koriste da brzo i jednostavno izgrade HLA i DIS u skladu aplikacije. On prua skup biblioteka koje implementiraju stabilan, dosledan i dokumentovan API (Application Programmers Interface) iznad razliitih protokola SDK (Software Developers Kit) za meufunkcionalnost. Kod napisan u VR-Link API-u ini da aplikacije postanu usklaene i sa TENA i IEEE [19]. Funkcionalnost je ostvarena kako na Linux, tako i na Windows operativnom sistemu.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    44

    3.2.2 Sistemski servisi

    - HID (Human Interface Device) je mreni transparentni prenosni sloj za pronalaenje i distribuciju podataka na razliitim sistemima u realnom vremenu. Ukljuuje 3D i 6D protok podataka kao i manje zahtevne prenose slika za aplikacije virtualne realnosti. Za klastering koristi imeplementaciju otvorenog koda OpenGS. Ovaj sloj prua mogunost korienja raznih vrsta algoritama za sortiranje sa ciljem optimizacije performansi renderinga.

    - Audio S3 (SpatialSoundsSystems) upotrebljivost ovog sistema dolazi do izraaja u sluaju da aplikativni server nema 3D audio kapacitet niti aktivne zvunike. Postoji izvestan broj protokola za distribuciju 2D stereo zvuka, ali ne i publikacija namenjenih prostorno orjentisanom zvuku. Sve ove usluge koriste isti Zero-Conf povratni mehanizam i jednostavan HTTP koji dozvoljava praenje (eng. Monitoring) i rekonfiguraciju razliitih aspekata interfejsa.

    3.3 Arhitektura

    - MUVE (Multi-User Virtual Environments) ili viekorisnika virtuelna okruenja doivljavaju svoj procvat sve veom primenom 3D grafike i implementiraju se duboko u oblastima elektronskog poslovanja, dizajnerstvu, zabavi, u izradi zajednikih projekata, raznim simulacijama i td. Ovakvoj irokoj rasprostranjenosti u mnogome doprinosi razvoj i poveanje mogunosti hardvera, ali i mree pa je tako vizuelizacija 3D grafike mogua ak i na hardverski sitnijim ureajima poput laptopova, smart telefona, PDA ureaja i sl.

    Pored naprednije grafike i teksta, razvoj virtuelne realnosti nam donosi i novi nain dizajna za razvoj sadraja internet prezentacija. to se tie distribucije 3D grafike, jedan od moguih naina je upotreba servera, koji opsluuju klijente potrebnim podacima. U narednom delu bie definisani softverski okviri koji omoguavaju dizajn 3D korisnikih okruenja.

    Tehnologije umreavanja i virtuelne realnosti koriste viekorisnika virtuelna okruenja (MUVE) kao aplikacije za kreiranje vizuelnih 3D efekata i mogunosti interakcije. Ograniena primena ovih sistema u prolosti razlog je slabog propusnog opsega mrea, meutim danas je situacija drugaija.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    45

    Poboljani su i protok mree i 3D tehnologija pa je primena multikorisnikih virtuelnih okruenja danas u porastu.

    Virtuelna okruenja koriste jednostavan protokol poruka koji predstavlja osnovni format za razmenu informacija izmeu korisnika. Interakcija korisnika u virtuelnim okruenjima se zasniva na tekstualnom askanju (eng. chat), kao i na avatarima odnosno pokretima tela i promenama pozicija. Za prikaz osnovnih animacija koje su aktivirane u datom trenutku koristi se play-on-demand reim. Zbog fleksibilne strukture i vrstih definicija XML je glavni format za razmenu podataka kod internet aplikacija.

    Arhitektura se sastoji od sledeih elemenata:

    - Server poruka ili MS (Message Server) - konzistentnost

    - skalabilnost

    - prenos sadraja

    Postoje dve vrste arhitekture sistema:

    - client-server - peer-to-peer

    Preduzea razliitih veliina imaju razliite raunarske potrebe. Vea preduzea moraju da koriste vie raunara nego to to rade manja preduzea. Velika preduzea rutinksi imaju velike konfiguracije, kao to su mainframe-ovi i mree. Mree za velika poslovanja obino imaju klijent-server arhitekturu, poznatu i kao arhitekturu dva nivoa. Bez obzira kako se ova arhitektura zove, ovakav tip predstavlja podelu rada raunarskih funkcija, to zahtevaju velika poslovanja.

    U strukturi klijent-server arhitekture, poslovna raunarska mrea mora imati raunar server koji funkcionie kao mozak organizacije, kao i grupu klijent raunara, koji se obino zovu radne stanice. Serverski deo klijent-server arhitekture zauzima raunar velikog kapaciteta, uglavnom mainframe, sa velikom koliinom funkcionalnih podataka koji se nalaze na njemu. Klijent delovi klijent-server arhitekture su svi manji raunari koje zaposleni koriste za obavljanje svojih obaveza.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    46

    Serveri obino sadre podatke i aplikacije kojima se moe pristupiti preko mree, ovaj tip server se zove aplikacioni server. Pored usluge skladitenja, server slui i kao izvor procesorske snage.

    Slika 14: Klijent-server arhitektura

    ak je i WWW (World Wide Web) primer za klijent-server arhitekturu. Svaki raunar koji koristi Web pretraiva je klijent i podatke o raznim Web stranicama kojima pristupa kao klijent se nalaze na razliitim serverima [16].

    Neki od sistema koji su prihvatili klijent-server arhitekturu su RING (Funk Houser, 1996), ActiveWorlds (ActiveWorlds, 2002), Vnet Primeri za viekorisnika okruenja koja su bazirana na ovoj arhitekturi su Virtual Society i AVIARY VR.

    - NPSNET je primer viekorisnikog okruenja koje se zasniva na veem broju peer-to-peer komunikacija. Baziran je na DIS protokolu koji koristi vieznani IP. Kod NPSNET-a ne postoji centralni server. Bamboo je naprednija verzija NPSNET-a koja podrava dinamiko proirenje vremena izvravanja, to se koristi za snadbevanje mrenih protokola po objektu radi postizanja optimalnih performansi i prenosa.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    47

    3.3.1 Zahtevi za podrku arhitekture

    Za kompletno funkcionisanje 3D klijent-server okruenja potreban je softverski okvir koji ispunjava sledee zahteve:

    - prenos podataka scene klijentima - prenos poruka i kontrolnih informacija izmeu klijenta i servera - prenos poruka i kontrolnih informacija izmeu klijenta i klijenta.

    Kako bi okvir bio u stanju da podri vei broj korisnika i vie 3D scena mora se uzeti u obzir sledee:

    - Skalabilnost: softver servera mora biti sposoban da podri vieprocesorski hardver kao i mree velikog broja konekcija, a broj scena i klijenata mogu biti ogranieni samo hardverom.

    - Podrani objekti: interfejs klijent-server treba da bude fleksibilan za razliite vrste informacija, odnosno da podrava razliite vrste formata ili struktura podataka na sceni.

    - Interaktivnost: je zapravo podrka interaktivnih 3D scena, to obuhvata kreiranje i uklanjanje postojeih objekata, interakciju i navigaciju meu korisnicima, detekciju koalizije i td.

    - Prilagodljivost klijenata: prilagodljivost snazi raunara, raspoloivim resursima, opsegu mree uspomo tehnika koje klijent-server okvir sadri.

    Jedan klijent-server okvir obavlja jedan proces. Server prima zahteve sa mree i upravlja procesima scene. to se tie scene, ona upravlja jednim procesom 3D okruenja i korisnika koji su konektovani na scenu. Procesima svakog korisnika pojedinano upravljaju mrena konekcija i transfer podataka. Ovo se obavlja pomou multipleksera i dodataka (eng. plug-in), koji je razliit za svaki tip podataka.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    48

    Slika 15: Procesi u klijent-server arhitekturi Ulazni tok podataka se demultipleksira i distribuira odreenim dodacima da bi se dobio originalan podatak objekta. U sledeem koraku aplikacija, pomou klijent-server okvira, obavlja vizuelizaciju ili procesuiranje podataka objekta. Ovaj proces se odigrava na klijent strani.

    Server izmeu ostalog slui za primanje podataka sa mree, a konekcija se uvek adresira na isti port. Aktivnosti servera se mogu podeliti na nekoliko grupa:

    - prihvatanje zahteva sa mree - provera novih zahteva

    - prosleivanje zahteva odreenom procesu scene - pokretanje procesa scene prvim zahtevom - upravljanje svim procesima scene

    3.3.2 Komunikacija

    Za izvravanje procesa komunikacije potrebno je da se poruke sastoje od adrese, primaoca i sadraja poruke. Razmena informacija se obavlja izmeu:

    - klijenta i multipleksera (konfiguracija) - scene i klijenta (detekcija koalizije)

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    49

    - klijenta i scene (navigacija) - dva ili vise klijenata (askanje)

    3.3.3 Savremeni koncepti arhitekture

    Postoje mnoga umreena virtuelna okruenja koja su namenjena istraivanjima ili komercijalnim proizvodima. Primeri nekih komercijalnih virtuelnih okruenja sa savremenim konceptima arhitekture (eng. State of the ART) su:

    - Bitmanagement solution - Octaga - ParallelGraphics - Active Worlds

    Implementacija umreenih virtuelnih okruenja opisana je u primeru EVE okruenja. EVE (Educational Virtual Environment) ili virtuelna edukaciona okruenja, su okruenja bazirana na klijent-multiserver arhitekturi. Ova implementacija je izvrena upotrebom Xj3D skupom alata i 3D pretraivaa baziranim na Javi. Klijent-multiserver arhitektura omoguava jednostavnu raspodelu izmeu vie server. Ova platforma koristi vie aplikativnih server za dodavanje odreenih funkcionalnosti poput teksta ili zvuka i server podataka [17].

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    50

    Slika 16: Arhitektura EVE platforme

    Za uspenu implementaciju EVE sistema, potrebno je ispuniti odreene zahteve:

    - Skalabilnost sistem treba da bude prilagodljiv tako da moe da obezbedi stabilnost sistema i u sluaju prisustva velikog broja korisnika.

    - QoS kvalitet servisa mora biti osiguran - Koherentnost uniformna struktura.

    - Interakcija podrka sistema interakciji korisnika ka sistemu i korisnika ka korisniku. - Vii nivo prisutnosti korisniki avatar sa funkcijama realnih pokreta radi utiska to vee

    prisutnosti.

    - Konzistentnost - nezavisnost u ponaanju korisnika kao i distribucija i sinhronizacija korisnikih ulaza, sve u cilju ostvarivanja utiska jedinstvenosti u virtuelnom svetu.

    Koraci koji se moraju preduzeti kako bi se zadovoljilli svi ovi zahtevi potrebne su odgovarajue arhitekture i protokoli, ija se efikasnost postie sledeim zahtevima:

    - Pouzdan prenos podataka zbog kvaliteta servisa;

    - Prenos edukativnog materijala poput slika, videa, zvuka.; - Podrka za korisnike sa razliitim karakteristikama mree;

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    51

    - Prenos korisnikih avatara i profila do ostalih korisnika;

    - Prenos virtuelnih okruenja do korisnika; - Sinhronizacija virtuelnih okruenja; - Efikasno upravljanje u sluaju otkaza sistema.

    3.4 pLVE reenje problema skalabilnosti

    Glavno pitanje u funkcionalnosti virtuelnih okruenja je pitanje skalabilnosti odnosno podrka sistema velikom broju korisnika. Skalabilnost se postie sledeim mehanizmima:

    - svaki server poruka je back-up server ostalih servera poruka; - svaki server poruka moe biti klijent drugog servera poruka, ako je drugi server preoptereen; - aplikacioni serveri se koriste u cilju redukovanja procesa protoka podataka servera poruka; - podrana jednoznana i vieznana komunikacija.

    Jo jedno pitanje koje se javlja je pitanje pouzdanosti, odnosno problem gubitka paketa. Problem se poveava korienjem UDP vieznanog slanja, jer UDP ne vodi rauna o izgubljenim paketima. Ovo su neke od mogunosti reavanja ovog problema:

    - klijent alje poruke serveru poruka jednoznanom komunikacijom, a potom server alje poruke do odgovarajue vieznane grupe ili do ostalih klijenata;

    - klijenti vieznane grupe primaju poruke korienjem svoje grupe, a ostatak klijenata prima poruke korienjem jednoznane konekcije.

    U Second Life aplikaciji klijenti se pomou programa konektuju na centralni server. Za razliku od MMOG (Massively Multiplayer Online Game) koji moe jednim serverom da podri vie hiljada korisnika, kod Second Life aplikacije mogua je podrka do 40 klijenata po serveru. Dok jedan deo servera simulira virtuelno okruenje, serveri poruka upravljaju sa tri baze podataka: prijavljivanja (eng. logging), pretrage i centralnom bazom podataka. Kratke poruke tokom sesija, usluge prijavljavanja i druge uobiajene usluge obavlja manji broj maina. Na sledei nain se vri izvrenje jednog koraka u sesiji klijent-server arhitekture. Za utvrivanje okvirnog obima podataka koji su potrebni svakom klijentu sistem koristi vizuelno izraunavanje, obzirom da svaki server

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    52

    komunicira sa velikim brojem klijenata i obrnuto. Serveri osim to imaju ulogu skladitenja objekata i obnavljanja virtuelnih okruenja, moraju i da odre optimalni nivo konzistentnosti. Ono to klijenti mogu da urade po pitanju smanjenja saobraaja mree je keiranje objekata i druge akcije. Second Life deli virtuelne svetove na polja povrine 256x256 metara, a svako polje je povezano sa simulacionim serverom i izvrava se na jednom CPU jezgru. To znai da korisnik koji se nalazi na nekom polju mora da komunicira sa serverom koji je zaduen za to polje, a u sluaju da dodje na granicu sa drugim ili pree na drugo polje morae da komunicira sa serverom zaduenim za to novo polje.

    Redukovanje komunikacije Second Life reava na sledei nain. Objekti virtuelnih svetova podeljeni su meu serverima, a samo jedan server upravlja objektom u bilo kom momentu. U sluaju pomeranja objekta ulogu jedinog aktivnog servera preuzima server koji je zaduen za dato okruenje odnosno sektor.

    3.5 CPU i GPU performanse

    Za procenu performansi procesora Second Life koristi Vune softver, a mogua su dva osnovna scenarija. Prvi sluaj je da korisnik nije u skorije vreme posetio lokaciju pa se podaci o graevinama, terenu, avatarima i ostalom ponovo uitavaju. Drugi sluaj je da je nedavno bio na datoj lokaciji pa se veina podataka nalazi u keu.

    Procesiranje animacije karaktera i simulacije omoguava veoma dobre vizuelne efekte i detaljniju geometriju okruenja. Brzinu renderinga tokom prenosa u realnom vremenu dodatno pospeuju zadaci procesiranja kao to je LoD, a koriste se za redukovanje protoka podataka tokom transfera objekata grafikim karticama.

    Preko OpenGL poziva iscrtavanja klijent Second Life platform vri renderovanje trouglova objekata. Broj poziva za renderovanje po jednoj slici zavisi od koliine vidljivih objekata. Manji broj trouglova po pozivu umanjuje performanse renderovanja trouglova iz razloga to GPU svaki put potroi vei deo vremena na interakciju sa grafikim drajverima umesto na samo renderovanje.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    53

    Slika 17: Broj renderovanih trouglova po sekundi

    Na slici 17. prikazan je broj renderovanih trouglova po sekundi u zavisnosti od broja trouglova u jednom pozivu.

    3.6 Mreni saobraaj

    Popularnost MMOG (Massively Multiplayer Online Game) je u konstantnom porastu. U ovim struktuiranim okruenjima korisnicima je omogueno da meusobno komuniciraju, a po popularnosti se izdvaja World Of Warcraft od kompanije Blizzard.

    MMOW (Massively Multiplayer Online World) su za razliku od MMOG drugaija okruenja, koja su nestruktuirana i imaju promenljiva okruenja. Korisnicima je omogueno da dodaju i uklanjaju elemente po sopstvenoj elji. Primer je Second Life od kompanije Linden Lab.

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    54

    3.6.1 Zahtevi za propusnim opsegom

    Da bi dobio kompletan sadraj okruenja klijent zahteva da se povee sa serverom, inae se vei deo sadraja nalazi na raunaru klijenta, to ukljuuje i potpuno okruenje. MMOG sadri servise koji ukljuuju mehanizme koji prate sve postupke klijenta i sinhronizuju ih sa serverom. Uglavnom je to klijent-server arhitektura preko koje server dobija potrebne informacije o klijentima.

    Mreni saobraaj online igara definie jaka linearna veza sa igraima na mrei i mali broj paketa. Prevashodnost je u redukciji minimalne koliine propusnog opsega kako bi veza bila kvalitetnija, a izgled okruenja to napredniji.

    MMOW zahteva kompleksniju klijent-server arhitekturu i propusni opseg poput MMOG ili vei, zato to doputa kreaciju dinamikog korisnikog sadraja, odnosno omoguava da korisnik u potpunosti utie na okruenje dok je to kod MMOG nepromenljivo. Ovaj propusni opseg slui za meusobnu komunikaciju avatara, a za animacije, teksture, 3D geometriju i ostale dodatke neophodno je obezbediti dodatni propusni opseg.

    Slika 18: Razlika u mrenom saobraaju prilikom konektovanja na MMOG World Of Warcraft i MMOW There

  • Marko Stevanovi Virtuelno okruenje za grafiki dizajn

    55

    3.6.2 Provera identiteta korisnika

    Tehnike koje odreuju veliinu propusnog opsega za uspostavljanje stabilnog okruenja su:

    - Interakcija objekata Server alje podatke korisniku o objektu kome se pribliio, a nakon toga korisnik aurira ke. Objekat se dodaje listi objekata za render. Ovaj proces se izvrava svaki put kada se korisnik odnosno njegov avatar priblii nekom objektu, jer svaki objekat poseduje ,,auru.

    - Keiranje objekata Deo potrebnih objekata se tokom igre skladiti sa servera u ke memoriju korisnika. Ovo se izvrava sa ciljem da se zaobie ponovno uitavanje sa server i time rastereti protok i poboljaju performanse.

    U sluaju MMOW, svaki put kada korisnik promeni okruenje neophodno je ponovno uitavanje podataka zbog pozicije avatara. Jasno je da ovde keiranje nema efekta, pa se pribegava skalabilnim reenjima. CDN (Conten