A7B39MVR - Virtu´aln´ı realita Playground Bc. Jaroslav Mach, Martin Porostl´ y, Tom´aˇs Vancl, Jan W´agner 16. prosince 2010
1
Obsah 1 Zad´ an´ı 1.1 Zad´ an´ı projektu . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Zadavatel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 3 3
2 Hra hˇ riˇ stˇ e
4
3 Tvorba hry 3.1 Objekty virtu´ aln´ıho svˇeta 3.2 Mˇeˇren´ı FPS . . . . . . . . 3.3 Sc´ena . . . . . . . . . . . 3.4 Oˇr´ıˇsky . . . . . . . . . . . 3.5 Zvuky ve sc´enˇe . . . . . . 3.6 HUD . . . . . . . . . . . . 3.7 Textury . . . . . . . . . . 3.8 Dalˇs´ı technologie . . . . .
. . . . . . . .
. . . . . . . .
4 Rady
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
4 4 4 5 7 8 8 8 9 9
2
1
Hra hˇ riˇ stˇ e
ˇ se zaˇcne C´ılem t´eto hry je aktivovat vˇsechny oˇr´ıˇsky v co nejkratˇs´ım ˇcase. Cas mˇeˇrit od vstupu avatara do hry. Avatar se objev´ı na okraji mapy a je jen na hr´ aˇci v jak´em poˇrad´ı oˇr´ıˇsky aktivuje. Pro ukonˇcen´ı hry je potˇreba rozsv´ıtit lampu zm´ aˇcknut´ım jej´ıch tlaˇc´ıtek ve spr´avn´e kombinaci, sebr´an´ı baterky a aktivov´ an´ı tanku pomoc´ı d´ alkov´eho ovladaˇce, rozhoup´an´ı obou houpaˇcek na minim´ aln´ı poˇcet bod˚ u a stisknut´ı tlaˇc´ıtek na dveˇr´ıch ve spr´avn´e kombinaci. Kromˇe aktivace oˇr´ıˇsk˚ u si s nimi lze i r˚ uznˇe pohr´at, napˇr. vystˇrelit z tanku, roztoˇcit kolotoˇc, nebo ot´ aˇcet s medv´ıdkem. Pokud se hr´aˇc ztrat´ı a nev´ı co d´ale, je moˇzn´e aktivovat tlaˇc´ıtko HINT, kter´e nad patˇriˇcn´ ymi oˇr´ıˇsky zobraz´ı pomocn´e ˇsipky.
2 2.1
Tvorba hry Objekty virtu´ aln´ıho svˇ eta
Pˇredmˇety z naˇs´ı sc´eny byly vymodelov´any pˇr´ımo ve VRML nebo v programu 3D Max a pot´e exportov´any. S vˇetˇsinou pˇredmˇet˚ u lze manipulovat (Sensory), nˇekter´e nav´ıc obsahuj´ı TouchSensor nebo reaguj´ı pomoc´ı ProximitySensoru. Kaˇzd´ y pˇredmˇet m´a 3 stupnˇe detailu a je vloˇzen jako prototyp. Sc´ena tak´e obsahuje HUD, kter´ y se skl´ad´a z prav´eho horn´ı ˇc´asti signalizuj´ıc´ı dokonˇcenost u ´kol˚ u hry. Tak´e je zde informaˇcn´ı tabulka o ˇcase, kter´ y uplynul od poˇc´ atku hry. N´ asleduj´ı 2 tlaˇc´ıtka ve spodn´ı ˇc´asti displaye, kter´a se staraj´ı o moˇznost restartu hry ˇci n´ apovˇedy (nad oˇr´ıˇsky se objev´ı ˇsipka).
2.2
Mˇ eˇ ren´ı FPS
Cel´ a sc´ena se vykresluje velmi rychle s FPS 80 pro vˇsechny mˇeˇren´ı. Tyto hodnoty dost´ av´ ame i pˇri maxim´aln´ım detailu na stroji Intel(R) Core2Duo CPU 2.66GHz, 4GB RM, GeForce 8800GT. Druh´e mˇeˇren´ı bylo provedeno na slabˇs´ım notebooku Dual-core 1.73GHz, 3GB DDR2, GeForce 8400M GS. I pro tento stroj byl vˇzdy rozptyl FPS mezi 80 a 83. D˚ uvodem takov´ ych rychl´ ych vykreslov´ an´ı jsou dobˇre vytvoˇren´e n´ızko-polygon´aln´ı modely s mal´ ymi texturami.
3
2.3
Sc´ ena
Objekty sc´eny jsou rozdˇeleny do nˇekolika sekc´ı. Nejdˇr´ıve jsou zde modely, kter´e pouze zlepˇsuj´ı estetick´ y dojem prostˇred´ı. D´ale jsou ve sc´enˇe objekty, kter´e sice nemaj´ı nˇejak´ y extra smysl, ale jsou uˇz souˇc´ast´ı samotn´eho dˇetsk´eho hˇriˇstˇe a nˇejak´ ym zp˚ usobem jsou vychytraleji udˇelan´e (napˇr´ıklad podpora LOD). Tˇret´ım typem jsou objekty, s kter´ ymi lze interagovat. D´ale potom objekty, kter´e jsou animovan´e. Nakonec hlavn´ı objekty, kter´e jsou souˇc´ast´ı takzvan´ ych oˇr´ıˇsk˚ u. N´ asleduje v´ yˇcet tˇechto model˚ u: Objekty prostˇred´ı: • • • •
Silnice - kˇriˇzovatka potaˇzen´a texturou silnice Mrakodrap - otexturovan´ y kv´adr Obrubn´ıky Heightmapou vytvoˇren´ y ter´en - obrazov´a informace urˇcuj´ıc´ı v´ yˇsku ter´enu v kaˇzd´em vrcholu jednoduch´eho gridu
Statick´e objekty sc´eny: • Pingpongov´ y st˚ ul - s pr˚ uhlednou s´ıt’kou a LOD 4
• Medvˇed kuky - medv´ıdek s LOD • Zed’ Modely s vyˇsˇs´ı funkcionalitou: • • • •
Tank - moˇznost stˇrelby, ot´aˇcen´ı hlavnˇe Kolotoˇc - moˇznost toˇcen´ı kolotoˇcem Kuky - rotace medvˇeda podle osy Y Houpaˇcka - animace houpaj´ıc´ı se houpaˇcky
Obr´ azek 1: Houpaˇcka
Obr´azek 2: Dveˇre
Obr´ azek 3: Lampa
Obr´azek 4: Tank
5
2.4
Oˇ r´ıˇ sky
´ • Dveˇre ve zdi v lev´em doln´ım rohu sc´eny. Ukolem je zm´aˇcknout ve spr´ avn´em poˇrad´ı tlaˇc´ıtka nach´azej´ıc´ı se na dveˇr´ıch a t´ım je odemknout a otevˇr´ıt, aby jimi ˇslo proj´ıt. N´apovˇedou hr´aˇci v tomoto oˇr´ıˇsku je zvuk, kter´ y je slyˇset pˇri zm´ aˇcknut´ı nˇekter´eho tlaˇc´ıtka, kter´e je v on´e spr´avn´e kr´ atk´e posloupnosti tlaˇc´ıtek slouˇz´ıc´ıch k odemknut´ı dveˇr´ı. • Tank, kter´ y lze rozpohybovat. Na silnici se leˇz´ı baterie, kter´a lze sebrat a vloˇzit do d´ alkov´eho ovladaˇce. Ovladaˇc se nach´az´ı zhruba uprostˇred hˇriˇstˇe. Po vloˇzen´ı bateri´ı do ovladaˇce a jeho zapnut´ı se rozjede tank, kter´ y byl do t´e doby pˇristaven´ y na pˇrilehl´e silnici. • Lampa nach´ azej´ıc´ı se kousek ode dveˇr´ı. Toto mˇestsk´e osvˇetlen´ı lze rozsv´ıtit. Pˇri rozsv´ıcen´ı lze d´ale posuvn´ ym tlaˇc´ıtkem mˇenit intenzitu svˇetla. Rozsv´ıcen´ı lampy je dosaˇzeno zm´aˇcknut´ım spr´avn´e kombonace tˇr´ı tlaˇc´ıtek na jej´ım boku. • Houpaˇcka, kterou lze rozhoupat. Na kaˇzd´em statick´em drˇz´aku houpaˇcky se kromˇe t´e automaticky se houpaj´ıc´ı nach´az´ı takov´a, kterou je tˇreba myˇs´ı rozhoupat dostateˇcnˇe na to, aby byla dostaˇzeno bodov´a hranice pro splnen´ı oˇr´ıˇsku. Po rozhoup´an´ı se houpaˇcka sama pˇrirozenˇe ˇ ım v´ıce se houpaˇcka dohoupe. Sk´ ore je poˇc´ıt´ano po dobu houp´an´ı. C´ houpe, t´ım v´ıce hr´ aˇc z´ısk´av´a bod˚ u
6
2.5
Zvuky ve sc´ enˇ e
Sc´ena obsahuje mnoho zvukov´ ych trigger˚ u. Po cestˇe k parku slyˇs´ıme uˇz v d´ alce hraj´ıc´ı si dˇeti. Proch´azej´ıce kolem lampy jsme uv´ıt´ani speci´aln´ım syst´emem, kter´ ym je lampa ˇr´ızena. Nˇekdo by mˇel opravit tu houpaˇcku, ˇrekneme si, kdyˇz uslyˇs´ıme hlasit´e vrz´an´ı jeji konstrukce. Tank vyd´ av´ a zvuk nastartovan´eho motoru. Pˇri stisknut´ı tlaˇc´ıtka na jeho z´adi se ozve zvuk v´ ystˇrelu z dˇela. Houpaj´ıc´ı se houpaˇcky vyd´avaj´ı zvuk vrz´ an´ı. Pˇri pˇribl´ıˇzen´ı k lampˇe se ozve uv´ıtac´ı zvuk. Pˇri pr˚ uchodu dveˇrmi je sliˇset hudba. Tlaˇc´ıtka na lampˇe vyd´avaj´ı zvuk cvaknut´ı, pˇri kliknut´ı na nˇe. Tlaˇc´ıtka tvoˇr´ıc´ı posloupnost odemykaj´ıc´ı dveˇre vydavaj´ı specifick´ y zvuk klapnut´ı. Na stˇredu sc´eny je slyˇset enviroment´aln´ı zvuk dˇetsk´eho hˇriˇstˇe. Pˇri dokonˇcen´ı vˇsech oˇr´ıˇsku se po kliknut´ı za z´aveeˇcn´e tlaˇc´ıtko pˇrehraje z´avˇereˇcn´ y zvuk outra.
2.6
HUD
Je sloˇzen z idik´ atoru ˇcasu, kter´ y poˇc´ıta uplnyul´ y ˇcas od vstupu do sc´eny. Indik´ ator˚ u splnˇen´ ych oˇr´ıˇsku, kter´ y zobrazuje kter´e oˇr´ıˇsky jiˇz m´ate, nebo nem´ ate dokonˇcen´e. Tlaˇc´ıtka hint, kter´e zobraz´ı pomocn´e ˇsipky na oˇr´ıˇsky a objekty potˇrebn´ ymi k jejich splnˇen´ı. Tlaˇc´ıtko restart, slouˇz´ıc´ı k restartov´an´ı cel´e sc´eny.
2.7
Textury
Vˇsechny objekty maj´ı v z´ akladu na sobˇe materi´al s pˇr´ısluˇsnou barvou, aby pˇri nenaˇcten´ı textruy st´ ale vypadali vhodnˇe. Vˇsechny objekty jsou otexturov´ any vhodnou texturou, kter´a ale m´a adekv´atnˇe mal´e rozliˇsen´ı, aby bylo dosaˇzeno dobr´eho pomˇeru velikost/kvalita.
7
2.8
Dalˇ s´ı technologie
Nˇekter´e modely, nebo ˇc´ asti model˚ u, (napˇr´ıklad medvˇed Kuky) byly vymodelov´ any pro vˇetˇs´ı kvalitu sc´eny ve speci´aln´ıch modelovac´ıch programech (3DSMax a Blender). Potom byly vyexportov´any do VRML a naˇcteny naˇs´ı sc´enou.
3
Rady • • • •
Nezkouˇsejte vytv´ aˇret moc sloˇzit´e modely jinak se z toho zhrout´ıte. Snaˇzte se m´ıt co nejˇcitelnˇejˇs´ı k´od. Pouˇz´ıvat prototypy je velmi n´apomocn´e. VRML je obˇcas velmi uˇzivatelsky oˇskliv´e. Mˇejte trpˇelivost. Tvoˇrte radˇeji ve VRMLPadu jednoduˇsˇs´ı modely. Nevyplat´ı se pouˇz´ıvat modelovac´ı software jako je 3DSMax (i kdyˇz v nˇem um´ıte) • Nezd´ a se to, ale je to opravdu hromada pr´ace. U vˇetˇsiny si budete ˇr´ıkat,”proˇc to vlastnˇe dˇel´am”(a o to je to horˇs´ı)
8
Reference ˇ ara - Laskav´ [ZARA] Jiˇr´ı Z´ y pr˚ uvodce virtu´aln´ımi svˇety http://www.cgg.cvut.cz/LaskavyPruvodce/LaskavyPruvodceVirtualnimiSvety.pdf
9