A7B39MVR - Virtuální realita Playground Bc. Jaroslav Mach, Martin Porostlý, Tomáš Vancl, Jan Wágner 16. prosince 2010 1
Obsah 1 Zadání 3 1.1 Zadání projektu.......................... 3 1.2 Zadavatel............................. 3 2 Hra hřiště 4 3 Tvorba hry 4 3.1 Objekty virtuálního světa.................... 4 3.2 Měření FPS............................ 4 3.3 Scéna............................... 5 3.4 Oříšky............................... 7 3.5 Zvuky ve scéně.......................... 8 3.6 HUD................................ 8 3.7 Textury.............................. 8 3.8 Další technologie......................... 9 4 Rady 9 2
1 Hra hřiště Cílem této hry je aktivovat všechny oříšky v co nejkratším čase. Čas se začne měřit od vstupu avatara do hry. Avatar se objeví na okraji mapy a je jen na hráči v jakém pořadí oříšky aktivuje. Pro ukončení hry je potřeba rozsvítit lampu zmáčknutím jejích tlačítek ve správné kombinaci, sebrání baterky a aktivování tanku pomocí dálkového ovladače, rozhoupání obou houpaček na minimální počet bodů a stisknutí tlačítek na dveřích ve správné kombinaci. Kromě aktivace oříšků si s nimi lze i různě pohrát, např. vystřelit z tanku, roztočit kolotoč, nebo otáčet s medvídkem. Pokud se hráč ztratí a neví co dále, je možné aktivovat tlačítko HINT, které nad patřičnými oříšky zobrazí pomocné šipky. 2 Tvorba hry 2.1 Objekty virtuálního světa Předměty z naší scény byly vymodelovány přímo ve VRML nebo v programu 3D Max a poté exportovány. S většinou předmětů lze manipulovat (Sensory), některé navíc obsahují TouchSensor nebo reagují pomocí ProximitySensoru. Každý předmět má 3 stupně detailu a je vložen jako prototyp. Scéna také obsahuje HUD, který se skládá z pravého horní části signalizující dokončenost úkolů hry. Také je zde informační tabulka o čase, který uplynul od počátku hry. Následují 2 tlačítka ve spodní části displaye, která se starají o možnost restartu hry či nápovědy (nad oříšky se objeví šipka). 2.2 Měření FPS Celá scéna se vykresluje velmi rychle s FPS 80 pro všechny měření. Tyto hodnoty dostáváme i při maximálním detailu na stroji Intel(R) Core2Duo CPU 2.66GHz, 4GB RM, GeForce 8800GT. Druhé měření bylo provedeno na slabším notebooku Dual-core 1.73GHz, 3GB DDR2, GeForce 8400M GS. I pro tento stroj byl vždy rozptyl FPS mezi 80 a 83. Důvodem takových rychlých vykreslování jsou dobře vytvořené nízko-polygonální modely s malými texturami. 3
2.3 Scéna Objekty scény jsou rozděleny do několika sekcí. Nejdříve jsou zde modely, které pouze zlepšují estetický dojem prostředí. Dále jsou ve scéně objekty, které sice nemají nějaký extra smysl, ale jsou už součástí samotného dětského hřiště a nějakým způsobem jsou vychytraleji udělané (například podpora LOD). Třetím typem jsou objekty, s kterými lze interagovat. Dále potom objekty, které jsou animované. Nakonec hlavní objekty, které jsou součástí takzvaných oříšků. Následuje výčet těchto modelů: Objekty prostředí: Silnice - křižovatka potažená texturou silnice Mrakodrap - otexturovaný kvádr Obrubníky Heightmapou vytvořený terén - obrazová informace určující výšku terénu v každém vrcholu jednoduchého gridu Statické objekty scény: Pingpongový stůl - s průhlednou sít kou a LOD 4
Medvěd kuky - medvídek s LOD Zed Modely s vyšší funkcionalitou: Tank - možnost střelby, otáčení hlavně Kolotoč - možnost točení kolotočem Kuky - rotace medvěda podle osy Y Houpačka - animace houpající se houpačky Obrázek 1: Houpačka Obrázek 2: Dveře Obrázek 3: Lampa Obrázek 4: Tank 5
2.4 Oříšky Dveře ve zdi v levém dolním rohu scény. Úkolem je zmáčknout ve správném pořadí tlačítka nacházející se na dveřích a tím je odemknout a otevřít, aby jimi šlo projít. Nápovědou hráči v tomoto oříšku je zvuk, který je slyšet při zmáčknutí některého tlačítka, které je v oné správné krátké posloupnosti tlačítek sloužících k odemknutí dveří. Tank, který lze rozpohybovat. Na silnici se leží baterie, která lze sebrat a vložit do dálkového ovladače. Ovladač se nachází zhruba uprostřed hřiště. Po vložení baterií do ovladače a jeho zapnutí se rozjede tank, který byl do té doby přistavený na přilehlé silnici. Lampa nacházející se kousek ode dveří. Toto městské osvětlení lze rozsvítit. Při rozsvícení lze dále posuvným tlačítkem měnit intenzitu světla. Rozsvícení lampy je dosaženo zmáčknutím správné kombonace tří tlačítek na jejím boku. Houpačka, kterou lze rozhoupat. Na každém statickém držáku houpačky se kromě té automaticky se houpající nachází taková, kterou je třeba myší rozhoupat dostatečně na to, aby byla dostaženo bodová hranice pro splnení oříšku. Po rozhoupání se houpačka sama přirozeně dohoupe. Skóre je počítáno po dobu houpání. Čím více se houpačka houpe, tím více hráč získává bodů 6
2.5 Zvuky ve scéně Scéna obsahuje mnoho zvukových triggerů. Po cestě k parku slyšíme už v dálce hrající si děti. Procházejíce kolem lampy jsme uvítáni speciálním systémem, kterým je lampa řízena. Někdo by měl opravit tu houpačku, řekneme si, když uslyšíme hlasité vrzání jeji konstrukce. Tank vydává zvuk nastartovaného motoru. Při stisknutí tlačítka na jeho zádi se ozve zvuk výstřelu z děla. Houpající se houpačky vydávají zvuk vrzání. Při přiblížení k lampě se ozve uvítací zvuk. Při průchodu dveřmi je slišet hudba. Tlačítka na lampě vydávají zvuk cvaknutí, při kliknutí na ně. Tlačítka tvořící posloupnost odemykající dveře vydavají specifický zvuk klapnutí. Na středu scény je slyšet enviromentální zvuk dětského hřiště. Při dokončení všech oříšku se po kliknutí za záveečné tlačítko přehraje závěrečný zvuk outra. 2.6 HUD Je složen z idikátoru času, který počíta uplnyulý čas od vstupu do scény. Indikátorů splněných oříšku, který zobrazuje které oříšky již máte, nebo nemáte dokončené. Tlačítka hint, které zobrazí pomocné šipky na oříšky a objekty potřebnými k jejich splnění. Tlačítko restart, sloužící k restartování celé scény. 2.7 Textury Všechny objekty mají v základu na sobě materiál s příslušnou barvou, aby při nenačtení textruy stále vypadali vhodně. Všechny objekty jsou otexturovány vhodnou texturou, která ale má adekvátně malé rozlišení, aby bylo dosaženo dobrého poměru velikost/kvalita. 7
2.8 Další technologie Některé modely, nebo části modelů, (například medvěd Kuky) byly vymodelovány pro větší kvalitu scény ve speciálních modelovacích programech (3DSMax a Blender). Potom byly vyexportovány do VRML a načteny naší scénou. 3 Rady Nezkoušejte vytvářet moc složité modely jinak se z toho zhroutíte. Snažte se mít co nejčitelnější kód. Používat prototypy je velmi nápomocné. VRML je občas velmi uživatelsky ošklivé. Mějte trpělivost. Tvořte raději ve VRMLPadu jednodušší modely. Nevyplatí se používat modelovací software jako je 3DSMax (i když v něm umíte) Nezdá se to, ale je to opravdu hromada práce. U většiny si budete říkat, proč to vlastně dělám (a o to je to horší) 8
Reference [ZARA] Jiří Žára - Laskavý průvodce virtuálními světy http://www.cgg.cvut.cz/laskavypruvodce/laskavypruvodcevirtualnimisvety.pdf 9