Welcome  |  Students  |  Experiences  |  Publications  |  GeomForge  |  Links  |  Contact

Game Engines

Cvičenia

Témy pre cvičenia:
   Cvičenie 0: Zoznámenie, úvodná prezentácia, podmienky.
   Cvičenie 1: Panda3D: Úvod do Panda3D, základný projekt, načítanie modelov (EGG, DAE), vytvorenie kocky, hierarchia scény, ovládanie kamery, jednoduché animácie, pridanie ďalších modelov, transformácie. Zdroj na cvičenie je TU.
   Cvičenie 2: Panda3D: Animované objekty, GUI, výber objektov a editácia transformácie, fyzika s pomocou Bullet Engine, modelovanie objektov, iné tvary pre kolízie, simulácia poľa kociek, distribúcia aplikácií. Zdroj na cvičenie je TU.
   Cvičenie 3: Unity3D: Inštalácia, prostredie editora, reprezentácia a uloženie scény, game objekty (geometrické objekty, kamera, svetlá) a komponenty, adresárová štruktúra, prefabs, Asset Store, kompilácia projektu, jednoduchá scéna, načítanie modelov a textúr, ovládanie kamery, jednoduchá animácia, skybox. Vytvorenie hierarchického modelu stola, automatický pohyb kamery a svetla. Zdroje:
      Unity3D stránka - LINK
   Cvičenie 4: Unity3D: Skripty, skript komponenty a nastavenia v inšpektore, skriptovacie jazyky (C#, UnityScript), Mono develop, Debugging, základné časti skriptov (trieda MonoBehaviour, ScriptableObject), transformácie a animácia objektov, užívateľské vstupy, kontrola kamery, práca s GameObject (hierarchia, vytvorenie, odstránenie), Editor skripty (ScriptableWizard, Custom Editor). Vytvorenie kamery nasledujúcej objekt pohybujúci sa v kruhu, štart a stop na stlačenie klávesy. Zdroje:
      Dokumentácia k Unity scripting API - LINK
      Tutoriály k skriptovaniu v Unity - LINK
      Pripravené užitočné návody a skripty - LINK
      Open-source časti Unity - LINK
   Cvičenie 5: Unity3D: Kamery (druhy, parametre), svetlá, osvetľovanie a vlastnosti projektu (realtime, GI), textúry (import, priehľadnosť, cubemaps), video textúry, materiály a parametre shadrov aj zo skriptu, tiene, ShaderLab a surface shaders (vstupné a výstupné atribúty, zabudované osvetlovacie metódy), import modelov. Vytvorenie 4-pohľadovej obrazovky, reflektor na kamere, shader pre zmiešanie troch textúr. Zdroje:
      Dokumentácia k Unity shaders - LINK
      Stiahnutie zabudovaných shadrov - LINK
   Cvičenie 6: Unity3D: Najnovší systém User Interface, základné prinípy (hierarchia Game Objektov), canvas objekt a súradnicové systémy, rozmiestňovanie a škálovanie UI objektov (fitovanie a grupovanie), vizuálne komponenty (obrázok, text, efekty), interaktívne komponenty (tlačítko, zaškrtávátko, edit, dropdown, slider, ...) a eventy, menenie vlastností pomocou skriptu, vytvorenie panelu a okien, staršia tvorba UI pomocou kódu (Legacy GUI, OnGUI) a základné komponenty. Vytvorenie menu s pozadím, dynamickým textom, toggle a tlačítkami, umiestnenie 2 rôznych menu s tlačítkami na 2 steny kocky. Zdroje:
      Dokumentácia k Unity UI - LINK
   Cvičenie 7: Unity3D: Sprity a import sprite textúr, orto kamera a tvorba 2D aplikácií, import a editor spritov, vrstvy, animačné klipy, editor animáčných klipov a kriviek, zmena vstavaných parametrov objektov, animovanie užívateľských parametrov, mecanim systém a animačný kontroler, zmena stavov na základe parametrov, animácia postáv a motion capture dáta, animácia spritov, starší systém animácie. Animovanie kamery, pozície a intenzity svetla, farby objektu, animovanie iných postáv. Zdroje:
      Animačné klipy z motion capture použiteľné pre postavy - LINK
      Príklad sprite sheet - LINK
   Cvičenie 8: Unity3D: Rigidbody a collider (sphere, box, capsule, mesh) komponenty, trigger a kinematic objekty, fyzikálny materiál, Collide a Trigger udalosti v skritpoch, prepojenie objektov, aplikovanie sily na objekt, 2D fyzika vs 3D fyzika, character controller, simulácia látky (vlajka), globálne nastavenie fyziky, výber objektov pomocou kurzora (Raycast, OnMouseDown). Simulácia vystrelených striel, hodinové kyvadlo. Zdroje:
      Tutoriál s vlajkou - LINK
      Oficiálna dokumentácia k fyzike - LINK
   Cvičenie 9: Unity3D: Modelovanie terénu, terénny game objekt, vytváranie, zmena a vyhladzovanie výškovej mapy, definovanie textúr na povrchu terénu, pridávanie trávy (detailov) na povrch, pridávanie stromov na povrch, SpeedeTree assety a editor, nastavenie vlastností terénu, pridanie a nastavenia vetrných efektov, fyzika a kolízie objektov s terénom a stromami. FPS pohyb v lese, vytvorenie smreku, animácia padajúceho stromu. Zdroje:
      Assety so stromami - LINK
      Staršie assety pre terén - LINK
   Cvičenie 10: Unity3D: Časticový systém, moduly časticového systému, tvar emisie častíc, zmeny v čase, ovládanie systému zo skriptu, korutiny v skriptoch, štandardné assety, efekty svetelného objektu (halo a lens flare), efekty kamerového objektu (tonemapping a HDR, bloom, depth of field, motion blur, SSAO, ...), antialiasing, zvukové zdroje, prijímač zvuku, zvukové efekty. Efekt ohňa, vodopádu, výbuchu, rozostrenie obrazu po zásahu. Zdroje:
   Cvičenie 11: Unity3D: WWW trieda, sťahovanie súborov, jednoduchá klient server architektúra, network manager, matchmaking, sieťový objekt, sieťová transformácia, vytváranie sieťových identít, navigácia v priestore, navigačná sieť, generovanie siete, prekážky, automatický presun objektu (agenta). Zdroje:
      Základný postup pre sieťovú komunikáciu - LINK


Hodnotenie

Hodnotenie bude len na základe odovzdaného projektu.

Projekt bude 3D interaktívna náučná aplikácia prezentujúca vami vybranú tému (napr. planetárium, autosalón, ...), vďaka ktorej sa cieľový užívateľ može niečo nové dozvedieť. Projektom nebude hra. Rovnaká téma sa v projektoch môže vyskytovať maximálne 3x. Ako vzorový projekt si môžete predstaviť planetárium prezentujúce slnečnú sústavu, kde sa v priestore nachádzajú modely slnka, planét, ich mesiacov, komét, asteroidov v slnečnej sústave. Telesá sa pohybujú po známych trajetóriach, pričom môžu navzájom aj kolidovať. Svetelným zdrojom je slnko plus ďalšie hviezdy v pozadí. Na planéty a mesiace sa dá kliknúť, vtedy sa zobrazia informácie o danom telese. V prietore sa dá volne pohybovať alebo prepnúť do automatickej prechádzky.

Projekt musí obsahovať niekoľko aspoň 8 rôznych objektov ktoré budú dokopy tvoriť kompaktnú scénu, aspoň 2 svetlá, pričom aspoň 1 svetlo, 3 objekty, kamera musia byť automaticky animované. Taktiež je potrebná interakcia užívateľa s objektami v scéne, napr. výber objektu myšou.

Priamo v aplikácii by sa mal nachádzať textový popis všetkých možností ovládania projektovej aplikácie. Help by sa mal zobraziť po stlačení klávesy alebo tlačítka.

Do 19.11.2015 je potrebné vymyslieť, spísať a poslať špecifikáciu projektu. Špecifikácia musí obsahovať názov, autora, popis objektov 3D scény, rozmiestnenie objektov v scéne, popis animácií a zmien objektov v čase, popis ineraktívnych prvkov a fyzikálnych simulácií, popis GUI prvkov, popis ovládania aplikácie a popis materiálov a efektov na povrchu objektov. Tieto popisy by mali byť slovnou aj obrazovou formou. Na vytvorenie špecifikácie môžete použiť tento VZOR. Špecifikácie by mala byť čo najpodrobnejšia, t.j. aby podľa nej vedel naimplementovať celý projekt aj niekto iný.

Špecifikáciu posielajte ako pdf súbor s názvom gespec_priezvisko_meno.pdf (priezvisko nahradíte vaším priezviskom, meno vaším prvým menom). Odovzdanie špecifikácie je nutnou podmienkou pre získanie hodnotenia z predmetu.

V projekte môžete použiť voľne dostupné zdroje (modely, textúry, zvuky, ...) z netu. Projekt môžete vytvárať v prostrediach Unity3D, Unreal Engine, Panda3D, Ogre3D, Blender, BabylonJS, Turbulenz. Na projekte pracuje každý samostatne, akékoľvek podobnosti vo funkčnej časti medzi projektami budú prísne trestané.

Spoločne s projektom treba odovzdať aj prezentačné video, ktoré ukazuje najlepšie časti projektu. Video musí mať rozmery 640x360, dĺžku aspoň 1 minúta, vo formáte avi a kódované kodekom Xvid. Na vytvorenie videa môžete použiť napr. program Open Broadcaster Software.

Odovzdanie projektu bude vo forme poslania jedného zip súboru s nazvom ge_priezvisko_meno.zip (priezvisko nahradíte vaším priezviskom, meno vaším prvým menom). Tento archív bude obsahovať tri hlavné adresáre (App, Source, Video). V adresári App bude skompilovaná verzia projektu spustiteľná na platforme Win. Adresár Source bude obsahovať kompletné zdrojové kódy a zdroje projektu a Video bude obsahovať prezentačné video.

Výsledná známka bude daná ohodnotením špecifikácie (10%), samotného projektu (zložitosť scény, počet animovaných objektov, interaktivita so scénou, použitie fyziky, kvalita GUI, kvalita skriptov, nápad)(80%), a prezentačného videa (10%).

Špecifikácia aj projekt sa odovzdávajú cez systém NAIS, kde sa treba registrovať. Pre odovzdanie projektu budete mať len jeden pokus, takže si dobre skontrolujte čo odovzdávate. Projekt sa bude dať odovzdať od 4.1.2016 do 7.2.2016, 23:59. Odovzdanie po termíne, dalšie odovzdania alebo zmena v už odovzdanom projekte nie sú možné.

Ak pri implementácii projektu narazíte na problémy, kontaktujte ma, či už mailom, na cvičeniach alebo osobne na stretnutí po emailovom dohovore.

Celý projekt aj so špecifikáciou sa oboduje, pričom maximálny počet bodov bude 100. Na základe bodov sa určí výsledná známka nasledovne:
    A:90-100 bodov
    B:80-89 bodov
    C:70-79 bodov
    D:60-69 bodov
    E:50-59 bodov
    Fx:0-49 bodov


Prezentácie

Časť 0 - Úvod - pdf-en