Warning
This page is located in archive.

7. Cvičení - Rozšíření 1. fáze - interaktivní objekty

Interaktivní objekty

Zadání

Přetvořte statické modely aut do podoby interaktivních, animovaných a ozvučených modelů (modely získané 3D rekonstrukcí a procedurálním modelováním již nebudeme uvažovat):

  1. Doplňte do svých modelů aut nejméně dvě různé manipulace (Plane-, Sphere-, CylinderSensor) - otáčení volantem, koly, dveře, stěrače,… .
  2. Kliknutím na vybranou část modelu (TouchSensor.touchTime):
    • spusťte vhodný zvuk,
    • zahrajte animaci měnící nejméně 2 vlastnosti (pozice, orientace, barva, apod.).
  3. Reagujte na přítomnost avatara (ProximitySensor), např. rozsvícením světla či zahráním uvítací melodie. Senzor definujte uvnitř prototypu, reakci na jeho aktivaci parametrizujte v záhlaví prototypu (např. barvu světelného zdroje, zvukový soubor, apod.). Příslušné stanoviště ve scéně nastavte tak, aby bylo umístěno na okraji citlivé oblasti senzoru.
  4. K úloze vytvořte v adresáři /faze_2 příslušné stránky. Přidejte k nim informace o dynamických vlastnostech (uveďte blokové schéma dynamických akcí, tj. předávání událostí).
  5. Porovnejte, zda přidání dynamiky (fáze 2) změnilo fps ve srovnání se stejným, avšak statickým modelem (fáze 1). Měřte pouze varianty s LOD a výsledky měření opět zveřejněte.

Body 1 až 5 se vztahují k individuálním modelům jednotlivých členů týmu, bod 6 je aktivitou celého týmu.

Kritéria pro hodnocení

  • Formální úplnost HTML stránky, schéma a popis dynamických akcí.
  • Kvalitně provedené měření a porovnání fps pro statické a dynamické modely.
  • Velikosti geometrie, textur a zvuků v daných limitech.
  • Vhodné použití a správné nastavení mezí alespoň dvou různých manipulátorů.
  • Věrohodnost a preciznost animací.
  • Vhodný výběr doprovodných zvuků a nastavení přehrávání v prostoru.
  • Použití uzlu ProximitySensor a nastavení citlivé zóny s ohledem na umístění stanovišť u modelů.

následující poznámky nemají souvislost se zadáním práce na tento semestr, jsou zde z historických důvodů

Zvažte s rozmyslem, jak splníte body 2 až 4. Tyto akce by měly odpovídat plnění úkolů (oříšků). Tj. máme-li přenést odpadky do koše, na odpadek aplikujeme PlaneSensor, který nám umožní přesunout smetí do blízkosti koše a ke koši umístíme ProximitySensor, aby byl koš osvícen, až do něj budeme smetí dávat. Zároveň PlaneSensor musíme nastavit tak, aby šel dát odpadek přímo do koše, jinak bude splnění úkolu složité.

Další možností, jak podobný úkol splnit, je s využitím TouchSensoru. Při kliknutí na odpadek zahrajete animaci, jak odpadek mizí někde v blízkosti avatara (dává si jej do kapsy), a když poté avatar dojde ke koši (aktivuje se ProximitySensor), přehrajete animaci přesunu odpadku od avatara do koše. — David Sedlacek zam 2010/10/25 11:56

Měření FPS

Cortona

Pro měření FPS můžete využít tohoto skriptu:

//FPS test by Jiri Zara
var kontrola = function() {
    document.Cortona.ShowFps = true;
    document.getElementById("fps").innerHTML = document.Cortona.FrameRate;
}
setInterval(kontrola, 200); /* kazdych 200 msec */

Ukázka použití: fpstest.zip .

BS contact

V případě, že si otevřete BS contact v samostatném okně, můžete si pustit zobrazování statistiky pomocí kombinací kláves Shift + F7.

courses/a7b39mvr/tutorials/07/start.txt · Last modified: 2017/11/16 16:56 by sedlad1