Brzi napredak trodimenzionalne racunarske grafike, razvoj i popularizacija
Interneta, kao i potraznja za alatima za suradnju pomocu racunala
(Computer Supported Cooperative Work) potakli su istrazivanja na polju
Umrezenih Virtualnih Okruzenja (Networked Virtual Environments). Sustavi
ovog tipa omogucuju slobodno kretanje i djelovanje vise korisnika u zajednickom
virtualnom okruzenju putem mreze. Komunikacijski mehanizam se brine za
odrzavanje konzistencije virtualnog svijeta svih korisnika: svi moraju
vidjeti jednako okruzenje u svakom trenutku; akcije svakog korisnika
moraju biti vidljive svima ostalima.
Nakon kratkog uvoda u virtualna okruzenja opisati cemo osnovne
principe rada Umrezenih Virtualnih Okruzenja (UVO), te sustav Virtual
Life Network (VLNET), razvijen u suradnji Sveucilista u Zenevi i
Savezne Politehnicke Skole u Lausanni.
S obzirom na prosirenost VRML-a, te paznju koju pobudjuje u
(informatickoj) javnosti, istrazivanja na podrucju UVO tesko
mogu ignorirati ovaj standard. Stoga cemo ukratko opisati sto je VRML,
sto bi VRML mogao postati u skoroj buducnosti, te kakva je veza VRML-a
i Umrezenih Virtualnih Okruzenja, pogotovo sustava VLNET.
Virtualni predmet je opis nekog predmeta u memoriji racunala, pod
uvjetom da racunalo omogucava vjerodostojno trodimenzionalno predocenje
opisanog predmeta iz kuta gledanja koji korisnik moze interaktivno
mijenjati. Kako bi graficko predocenje bilo moguce, opis predmeta
mora minimalno sadrzavati definiciju geometrije predmeta, te svojstva
povrsinskog materijala o odnosu na svjetlo (boja, sjaj, prozirnost...).
Da bi se poboljsao dozivljaj stvarnosti i uporabna vrijednost, virtualni
predmeti mogu imati definirana ponasanja koja mogu ovisiti o akcijama
korisnika. Na primjer, za virtualni sat je pozeljno da pokazuje tocno
vrijeme; za bilo koji predmet je (najcesce) pozeljno da pocne padati
ako je ostavljen slobodno u prostoru. Definicija ponasanja mora postojati
zajedno s opisom predmeta.
Virtualni svijet, ili virtualno okruzenje, je virtualni predmet ili
skup virtualnih predmeta koji kod korisnika stvaraju predodzbu da
se nalazi i krece unutar prostora u kojem se moze orijentirati.
Virtualni covjek je virtualni predmet koji izgledom i ponasanjem
slici covjeku (ovo podrucje istrazivanja je daleko kompleksnije nego
sto bi se dalo naslutiti iz ove jednostavne definicije).
Slika 1. prikazuje virtualni predmet (sat) i virtualne ljude u
virtualnom svijetu.
--SLIKA 1--
3.1. Princip UVO
--SLIKA 2--
Slika 2 shematski prikazuje dva korisnika u jednostavnom UVO-u koje
se sastoji od jednog okruglog stola. Svaki korisnik vidi virtualno
okruzenje na svom ekranu i moze se u njemu kretati (npr. pomocu misa),
te vrsiti odredjene radnje na predmetima (npr. pomaknuti stol). U okviru
u sredini slike je prikaz virtualnog okruzenja iz neutralne perspektive.
Oba korisnika postaju dio virtualnog okruzenja i prikazani su u njemu
pomocu virtualnih ljudi. Pozicija virtualnog covjeka u okruzenju
odgovara tocki iz koje korisnik gleda okruzenje. Prema tome, korisnik ne vidi
svoje vlastito virtualno tijelo (ili samo djelomicno, npr. ruke), ali
vidi virtualno tijelo drugog korisnika, dakle moze vidjeti gdje se
on nalazi u okruzenju i sto radi. U primjeru na slici 2 svaki korisnik
gleda stol sa svoje strane i vidi drugog korisnika nasuprot.
Na potpuno istom principu virtualno okruzenje moze biti napuceno vecim
brojem korisnika pri cemu sva racunala moraju biti povezana mrezom.
3.2.1. Komunikacijska struktura
Komunikacijska struktura i protokoli unutar UVO moraju ispunjavati
slijedece funkcije:
3.2.2. Prikaz korisnika
Da bi korisnik bio svjestan prisustva drugih korisnika u virtualnom okruzenju potrebno je svakog korisnika na neki nacin graficki predociti. Osim cinjenice da je netko prisutan, zalimo znati i gdje se nalazi, u kojem smjeru gleda i sto radi. Osim ovih funkcija, prikaz korisnika treba posluziti i za medjusobnu identifikaciju, te za sto bolju komunikaciju izmedju korisnika.
3.2.3. Manipulacija i ponasanje predmeta
Ova problematika nije svojstvena samo Umrezenim Virtualnim Okruzenjima, nego i virtualnim okruzenjima opcenito. Pozeljno je da predmeti imaju prirodna ponasanja, pogotovo reakcije na radnje korisnika (o ovome je vec bilo govora u poglavlju 2).
Virtual Life Network (VLNET) pripada kategoriji Umrezenih Virtualnih Okruzenja. Sustav je razvijen u suradnji laboratorija MIRALab (Sveuciliste u Zenevi) i Laboratorija Racunarske Grafike (Laboratoire d'Infographie, Savezna Politehnicka Skola u Lausanni). U ova dva laboratorija postoji dugogodisnje iskustvo u modeliranju i animaciji ljudskog tijela, sto je iskoristeno za realistican prikaz korisnika koji je jedna od najvaznijih odlika sustava (otuda i ime). Osim do sada nabrojenih funkcija UVO, VLNET posjeduje dodatne funkcije: medjusobno povezivanje virtualnih svjetova, te mogucnost uvodjenja "samostalnih" virtualnih ljudi u okruzenje.
4.1. Komunikacijska struktura VLNET-a
Komunikacije u VLNET-u su zasnovane na konceptu client/server (slika 3).
Kada korisnik (upotrebom VLNET-client aplikacije) uspostavi vezu sa VLNET-
-serverom, server salje opis virtualnog svijeta, te prima podatke
o grafickom prikazu korisnika. Ukoliko su drugi korisnici vec
prisutni, svaki ce dobiti poruku o prisustvu novog korisnika te
njegov opis. Ovim je veza uspostavljena.
Sve kretnje i ostale akcije korisnika se salju serveru, koji ih
prenosi svim ostalim korisnicima.
Bilo koji predmet u VLNET okruzenju se moze deklarirati kao veza
sa nekim drugim serverom. Kada se korisnik priblizi takvom predmetu,
veza sa trenutnim serverom se prekida i uspostavlja se veza s
novim serverom, cime korisnik stice dojam premjestanja u novi
virtualni svijet.
--SLIKA 3--
4.2. Prikaz korisnika
--SLIKA 4--
Graficko predocenje ljudskog tijela je zasnovano na viseslojnom modelu
prikazanom na slici 4. Na najnizem nivou je model kostura sa 74 stupnja
slobode gibanja. Ova struktura omogucava upravljanje gibanjem tijela.
Na kostur je vezana struktura tzv. metaball-a koja tijelu daje oblik.
Iz ove strukture se upotrebom jos jednog medjusloja koji sluzi za
ubrzanje postupka dobiva konacni prikaz tijela u obliku mreze poligona.
Ovakav viseslojni model omogucava potpunu kontrolu tijela uz relativno
vjerodostojne deformacije prilikom gibanja.
Grafickim predocenjem tijela obavljeno je tek pola posla. Potrebno je
jos ostvariti kretanje tijela koje odrazava akcije korisnika. Korisnik
upravlja svojom pozicijom unutar virtualnog svijeta, te pozicijom ruke
(za manipulaciju predmeta) pomocu misa ili neke prikladnije ulazne
jedinice. Ovime su definirane pozicija i orijentacija glave i desne
ruke. Na osnovu ovih podataka kompleksne motoricke funkcije proizvode
pokrete hodanja i pokrete ruke.
Jedan od najvaznijih vidova komunikacije medju ljudima je izraz lica;
stoga je u VLNET-u omogucena video komunikacija ukoliko je korisnik
opremljen kamerom. Iz digitaliziranog videa se izdvaja dio slike
koji sadrzi lice korisnika i salje preko mreze ostalim korisnicima.
Upotrebom "texture mapping" metode, slike lica korisnika se reproduciraju
na licu virtualnog covjeka (slika 5).
--SLIKA 5--
4.3. Manipulacija i ponasanje predmeta
Predmeti unutar VLNET okruzenja se mogu deklarirati kao slobodni ili
fiksni. Slobodne predmete korisnik moze pomicati pojedinacno ili
vise njih odjednom, te ih organizirati u grupe. Prilikom ispustanja
predmeta simulirana je sila teze; korisnik moze trenutno iskljuciti
silu teze i ostaviti predmet u zraku ako to zeli.
Bilo kojem predmetu se moze pridodati neka od definiranih motorickih
funkcija. Na primjer, kazaljkama na satu se jednostavno mogu pridodati
funkcije rotacije i tako postici da sat pokazuje tocno vrijeme. Trenutno
je za dodavanje novog tipa motoricke funkcije potrebno kompilirati
citav program, no uskoro se planira mogucnost upravljanja predmetima
pomocu nezavisnih mini-programa napisanih u jeziku C ili pomocu Java
applet-a.
4.4. Samostalni virtualni ljudi
U VLNET okruzenje moguce je ukljuciti samostalne virtualne ljude koji se izgledom ne razlikuju od ostalih korisnika, ali njihovo ponasanje nije odredjeno akcijama korisnika nego "inteligentnim" algoritmom odlucivanja. S tehnicke strane, samostalni virtualni ljudi koriste potpuno jednake komunikacijske protokole, prikaz korisnika i algoritme za manipulaciju predmeta kao i ostali korisnici, samo sto je ulazna jedinica zamijenjena jedinicom "inteligentnog ponasanja". Ovo je jos u eksperimentalnoj fazi.
4.5. Primjene VLNET-a
VLNET je zamisljen kao sustav opce namjene. Sadrzaj svakog virtualnog svijeta definira njegovu namjenu. Iskusali smo nekoliko mogucih primjena ovakvog sustava, od kojih su neke prikazane na slici 6.
--SLIKA 6--
4.5.1. Tele-kupovina (teleshopping)
U suradnji sa tvrtkom Chopard iz Zeneve (proizvodjac satova) razvili smo virtualno okruzenje u kojem prodavac potencijalnom kupcu pokazuje razne modele satova uz mogucnost jednostavnih operacija poput promjene remena. Ova primjena je demonstrirana na izlozbi TELECOM 95 u Zenevi, sa "kupcem sata" u Singapuru. Veza izmedju Zeneve i Singapura je ostvarena putem ATM-a.
4.5.2. Primjene u medicini
Trodimenzionalni modeli ljudskog tijela i organa mogu biti zajednicki analizirani unutar virtualnog okruzenja. Ovo je zanimljivo za obrazovne primjene. Uz upotrebu metoda za rekonstrukciju 3D organa iz medicinskih slika (npr. MRI) moze se zamisliti i primjena u dijagnostici gdje bi se VLNET mogao primijeniti za konzultaciju sa udaljenim specijalistom u kompliciranim slucajevima.
4.5.3. Virtualni sastanci
Jedan od eksperimentalnih VLNET svjetova je virtualna soba za sastanke u kojoj je na raspolaganju virtualni projektor diapozitiva. U razvoju su i druga pomagala (virtualna ploca, virtualni video) koja ce poboljsati mogucnosti komunikacije medju korisnicima.
4.5.4. Uredjenje prostora
U ovoj eksperimentalnoj aplikaciji korisnici mogu zajednicki premjestati namjestaj u prostoriji.
4.5.5. Zabava
Mogu se zamisliti razne igre unutar virtualnih svjetova. Trenutno postoje VLNET svjetovi za igranje saha, te za rjesavanje 3D slagalice. U razvoju je "samostalni" virtualni covjek koji ce igrati tenis protiv korisnika.
5.1 Sto je VRML?
VRML je standard koji omogucava opis virtualnih svjetova i njihovu
dostupnost putem World Wide Web-a. VRML 1.0 je zasnovan na Silicon
Graphics-ovom Open Inventor ASCII formatu za opisivanje 3D objekata.
U VRML-u se mogu opisati staticki 3D predmeti i svjetovi, te pridodati
veze predmeta prema drugim VRML modelima, WWW stranicama ili
multimedijskim objektima (video, audio, slike). Ove veze rade na
potpuno jednak nacin kao veze u hypertext dokumentima.
Korisnik opremljen VRML browser-om moze pristupiti bilo kojem VRML
svijetu na Mrezi, slobodno se pomicati unutar njega, te slijediti
veze prema drugim svjetovima ili Web stranicama.
5.2. VRML 2.0
Premda VRML 1.0 pruza zanimljive mogucnosti, ovaj standard je ipak
prilicno ogranicen. Najveci nedostatak je staticnost VRML modela:
predmeti u VRML svijetu se ne micu i ne reagiraju na akcije korisnika.
Na bazi nekoliko prijedloga uskoro ce biti definiran novi standard
VRML 2.0. Prema nekim prognozama najvise sanse da bude prihvacen
kao standard ima prijedlog Silicon Graphics-a pod nazivom "Moving
Worlds" (ovaj prijedlog podrzavaju jos Netscape, Sony i citava
lista drugih tvrtki). Neki smatraju da ce prevagnuti prijedlog
Microsoft-a "ActiveVRML", no autori su skloniji prvoj pretpostavci
tako da cemo ukratko opisati "Moving Worlds" prijedlog za VRML 2.0.
Ovaj prijedlog ukljucuje cetiri vazna prosirenja: animacija,
interakcija, zvuk i definicija prototipa.
Animacija je omogucena putem vanjskih scriptova koji mogu upravljati
odredjenim parametrima unutar virtualnog svijeta. Nije definirano
koji jezik treba biti upotrebljen za ove scriptova, ali izmedju
redaka se cita Java.
Interakcija je moguca putem senzora koji reagiraju na akcije korisnika
i salju odgovarajuce poruke upravljackom script-u.
Izvori zvuka mogu biti tockasti ili usmjereni; oba tipa imaju
ogranicenu udaljenost s koje se mogu cuti.
Definicija prototipa omogucava laksi razvoj klasa slicnih objekata.
5.3. VLNET i VRML
Mogucnosti koje pruza VRML su podskup mogucnosti VLNET-a. Ovo ce, doduse u manjoj mjeri, jos uvijek biti slucaj s VRML-om 2.0 (u sklopu standarda se ne planira podrska visekorisnickog nacina rada). S druge strane, VRML je vec prilicno rasiren, dok VLNET upotrabljavaju samo autori i nekolicina partnera. Stoga je namjera autora omoguciti kompatibilnost s VRML-om na (za korisnika) jednostavan nacin, ali istovremeno zadrzati dodatne mogucnosti VLNET-a i dalje ih prosirivati. U razvoju je nova verzija VLNET-a zasnovana na ovakvom pristupu. Ova nova verzija koristi HTTP protokol za prijenos opisa virtualnog svijeta (kao i VRML), dakle potrebno je imati standardni HTTP server. Uz to ce biti potreban VLNET mini-server koji ce sluziti za visekorisnicku komunikaciju. Na ovaj nacin ce biti moguce na bilo koji server koji sadrzi VRML svjetove jednostavno dodati visekorisnicki nacin rada. VLNET ce podrzavati VRML format podataka, ali ce zadrzati i svoj vlastiti format radi mogucnosti prosirivanja. U ovisnosti o tipu servera i formatu podataka, biti ce moguci slijedeci nacini rada:
SERVER FORMAT NACIN RADA PODATAKA ------------------------------------------------------------ HTTP VRML Standardni VRML browser HTTP+VLNET VRML Visekorisnicki rad HTTP+VLNET VLNET Visekorisnicki rad + dodatne mogucnosti VLNET-aKakve ce biti dodatne mogucnosti VLNET-a u odnosu na VRML 2.0 za sada je tesko reci. U odnosu na VRML 1.0 VLNET ima prednost animacije i interakcije. Ove funkcije ce biti ukljucene u VRML 2.0, no pitanje je na koji tocno nacin i sto bi VLNET mogao pruziti osim svoje osnovne prednosti - visekorisnickog nacina rada.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Igor Pandzic Igor.Pandzic@cui.unige.ch MIRALab University of Geneva tel. +41/22/705 76 56 24, rue General-Dufour 705 77 63 CH-1211 GENEVE 4 SWITZERLAND fax +41/22/705 77 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++