Your browser does not support JavaScript!

Interaktivní galerie polární války

Zadání práce

Úlohou týmu je vytvořit interaktivní scénu s tématem Virtual Exhibition. Cílem prezentace je procházet prostorovou scénu (tj. nahlížet na její součásti z různých stran a úhlů) a vyzkoušet si funkčnost interaktivních prvků.

Vzhledem k tématu bude interaktivní galerie připomínat jak tvarem, tak texturami iglú a bude se skládat z 5 místností:

Interaktivními prvky jsou:

  • Infokiosek v předsíni
  • Dveře do místností
  • Socha tučňáka
  • Socha tanku

Co iglú umí?

  • Při přiblížení avatara k dveřím do iglú se dveře samy otevřou
  • Při kliknutí na dveře od toalet, se dveře otevřou. Na zemi se nachází kód pro otevření dveří do galerie.
  • Kód z toalet se zadá na infokiosku stejně jako PIN v obchodě (zadání kódu + tlačítko OK)
  • Pokud je kód zadán správně, otevřou se dveře do galerie
  • (TODO: Později po zadání kódu vyjede poklad (madlo ke dveřím) z infokiosku. To se přemístí na hřídel na zdi, otočí se, a tím se otevřou dveře do galerie.)

Zvuky:

  • Otevírání dveří je ozvučeno zvukem "Sliding_Door.wav" převzatým z http://soundbible.com/ . Zazní při otevírání dveří.
  • Klikání na tlačítka je ozvučeno zvukem "Button_Press.wav" převzatým z http://soundbible.com/ . Zazní při klikání na tlačítka.

Textury:

Textury jsme si vytvořili sami, případně jsme upravili textury z internetu.

Tank

Počet trojúhelníků:

1540

Textury:

Použity free textury stažené z http://goodtextures.com , a posléze editovány ve Photoshopu.

Zvuky:

Jediný přítomný zvuk na modelu je "tank_head_rotate.wav" (Zdroj: freesound.org ) Zazní při klepnutí na hlaveň.

Postup získání:

Model vznikl v modeláři cinema 4D. Nejdříve jsem nafotil snímky tanku, a podle nich jsem model zrekonstruoval. Na závěr jsem podle tohoto modelu vytvořil redukovaný model v x3D pro úroveň detailu. Model je v souboru cinema_tank připraven jako prototyp, aby bylo možné přistupovat k jeho atributům. Textury v modelu byly nastaveny tak, aby připomínaly kov, a mají tedy velký odlesk.

Animace a interakce:

  • Tank se vznáší ve vzduchu a rotuje kolem své osy
  • Tank se při přiblížení avatara zvětší
  • Manipulace ve smyslu otáčení hlavně tanku
  • Přhrání zvuku po kliknutí na dělo

Počet trojúhelníků:

40 560

Textury:

-

Postup získání:

Poté, co jsem se vypořádal s několika errory způsobenými dočasnými soubory ve složce TMP a názvem složky s háčky, se mi podařilo fotky nahrát do programu ARC3D Webservice. Hned první pokus vyšel relativně dobře, další pokusy program nezvládal zpracovat. Rekonstruovaný model bylo zapotřebí v programu Cinema 4D upravit a použít symetrii.

Počet trojúhelníků:

61 190

Textury:

-

Postup získání:

10.11.2016 jsme ve VR Labu (KN: E-419) naskenovali pomocí Konica-Minolta Vivid 9i můj model tanku. Napozicované skeny byly následně upraveny v modeláři Cinema 4D.

Tučňák

Počet trojúhelníků:

7846 (omlouvám se, ale po zredukování na 1000 byl model nepoužitelný a tučňáka připomínal leda barvou)

Textury:

Jako textury posloužily fotky modelu, které se v Blenderu namapovaly pomocí UV map.

Zvuky:

Jediný přítomný zvuk na modelu je "Baby_Chicks.wav" převzatý z http://soundbible.com/ . Zazní při kliknutí na zobák.

Postup získání:

Nejdříve jsem si vytvořila hrubý model tučňáka v x3d, který zastupuje 2. stupeň LOD (první je prázný uzel Group). Jednotlivým částem těla jsem přiřadila barvu materiálu. 3. stupněm LOD je model získaný modelováním v Blenderu. Modelovala jsem ho dle fotek modelu. Základní tvary, které tvořily tělo tučňáka jsem postupně deformovala do kýženého výsledku. Poté jsem jednotlivým částem přiřadila materiál, který alespoň trochu splňuje vlastnosti plyše a skleněného oka. Jako textury posloužily zmiňované fotky modelu, které jsem namapovala pomocí UV map.

Animace a interakce:

  • Tučňák se vznáší ve vzduchu a rotuje kolem své osy
  • Tučňák se při přiblížení avatara zvětší
  • Při kliknutí na zobák tučňák zapípá
  • Při stisknutí tučňákova pravého oka se oko rozsvítí modře
  • Při stisknutí tučňákova levého oka se oko rozsvítí červeně

Počet trojúhelníků:

43726

Textury:

Jako textura posloužila textura z fotogrametrie, kterou se obravily body.

Postup získání:

Asi na 8. pokus se mi povedlo nafotit fotky tak, aby výsledek z ARC3D Webservice dopadl relativně slušně. Mesh jsem upravila v MeshLabu a poté zredukovala počet trojúhelníků v Blenderu, kde jsem model převedla na x3d.

Počet trojúhelníků:

25429

Textury:

-

Postup získání:

10.11.2016 jsme ve VR Labu (KN: E-419) naskenovali pomocí Konica-Minolta Vivid 9i můj model tučňáka. Výsledek jsem upravila v MeshLabu (odstranění přebytečných bodů) a vytvořila trojúhelníkovou síť pomocí Surface Reconstruction: Poisson. U skenu jsme měli problém s chybějícími texturami a ručně jsem žádnou nenastavovala. Je nastaven pouze šedý materiál.

Popis scriptů v online verzi

setCode(id):

Zadání znaku do kódu

playSound(id):

Spustí zvuk

confirmCode():

Potvrdí kód a otevře poklad

deleteChar():

Smaže poslední zadaný znak kódu

moveButton(id):

Pohne tlačítkem

moveButtonUp(id, pos):

Pomocná funkce pro vrácení tlačítka na původní pozici

ejectTreasure():

Vysunutí pokladu

addOnBearing():

Nasazení páky na hřídel

rotateHandle():

Rotace páky

moveFrontDoor():

Otevře dveře do iglú

moveMainDoor():

Otevře dveře do místnosti galerie

moveWCDoor():

Otevře dveře od WC

turnLight(id):

Rozsvítí světlo nad modelem

thug():

Spustí animaci tučňáka

pinguFloat():

Vznášení tučňáka (podobně i pro tank)

playFloatingPingu():

Nastavení parametru pro spuštění vznášení tučňáka (podobně i pro tank)

stopFloatingPingu():

Nastavení parametru pro vypnutí vznášení tučňáka (podobně i pro tank)

rotateScanPingu():

Manuální rotace jednotlivých modelů, viz pro sken tučňáka

startRotating(id):

Automatická rotace modelu - start

stopRotating(id):

Automatická rotace modelu - stop

colorBlue():

Nastavení barvy skenů (další verze Pink, Grey)

showHUD(ID):

Zobrazení konkrétního HUDu

hideHUD(ID):

Skrytí konkrétního HUDu

distFromCam(modX, modY, modZ, camX, camY, camZ):

Výpočet vzdálenosti od kamery

computeDistance(translation, pos):

Výpočet vzdálenosti

viewFunc(evt):

Event handler pro zobrazování HUDu

previousView():

Přepnutí na předchozí viewpoint

nextView():

Přepnutí na následující viewpoint

startView():

Zapnutí viewpointu

Tým

Jana Szczurková

E-mail:
szczujan@fel.cvut.cz

Michal Trněný

E-mail:
trnenmic@fel.cvut.cz

Vstoupit do virtuálního světa
Stáhnout virtuální svět v zipu