Možnosti využití 3D na webu Srovnání současných technologií



Podobné dokumenty
3D Vizualizace muzea vojenské výzbroje

Pokročilá architektura počítačů

Možnosti interaktivní prezentace prostorových modelů na internetu

O aplikaci Parallels Desktop 7 for Mac

Identifikátor materiálu: ICT-3-55

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

MATURITNÍ PRÁCE dokumentace

ARCHITEKTURA AMD PUMA

Úvod...12 Součásti aplikace Použité konvence... 13

DATA ARTICLE. AiP Beroun s.r.o.

TECHNICKÉ PODMÍNKY. Článek 2. Podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba,Expresní linka Plus a TF OnLine

TECHNICKÁ UNIVERZITA V LIBERCI FAKULTA UMĚNÍ A ARCHITEKTURY. Studijní program: B8206 Výtvarná umění. Obor: Vizuální komunikace BAKALÁŘSKÁ PRÁCE

Rozdìlení poèítaèové grafiky

A7B39TUR Testování uživatelského rozhraní. HTC Desire HD. (testování mobilního zařízení) Tomáš Klejna

VIRTUÁ LNÍ 3D MODEL BAROKNÍHO DIVADLA V ČESKÉ M KRUMLOVĚ

1.2 Operační systémy, aplikace

Průvodce vnitřkem počítače II

Hardware. Z čeho se skládá počítač

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

Datec News 2012/1. Moderní marketingové technologie v řešení Datec Retail Solutions. OBSAH Datum vydání:

Střední průmyslová škola elektrotechnická Rožnov pod Radhoštěm, Školní ICT plán školy

emachines D620 řady Stručné pokyny

Přípravný kurz ECDL. Popis jednotlivých lekcí (modulů) je uveden v samostatných tabulkách níže. Rozsah kurzu

Váš stylový multimediální společník v karamelově smetanovém provedení. Oficiální webové stránky VAIO Europe

1. SMART Notebook 11.1

Programové vybavení počítače

Základní úlohy: vytvoření dokumentu...13

Implementovaný webový server HP LaserJet M9040/M9050 MFP Uživatelská příručka

Ten nejlepší zážitek z vysokého rozlišení. Vlajková loď mezi zábavními notebooky s Full HD a jednotkou Bluray Disc Combo

Jak nasadit Windows 10 ve škole

Zadávací dokumentace

Váš stylový multimediální společník v korálově růžovém provedení. Oficiální webové stránky VAIO Europe

ZPRACOVÁNÍ NEURČITÝCH ÚDAJŮ V DATABÁZÍCH

Úvod do modelování v programu COMSOL Multiphysics verze 4

tímto vyzývá zájemce k podání nabídky na veřejnou zakázku

VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender

Generování žádostí o certifikát Uživatelská příručka pro prohlížeč Apple Safari

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

Chytrý osobní laptop s rychlým procesorem Intel, 4GB pamětí RAM a grafikou ATI. Oficiální webové stránky VAIO Europe

Základy informatiky. Operační systémy

Strana Strana 27-7

Řada Aspire Stručné pokyny

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce

VIBRODIAGNOSTICKÝ SOFTWARE

2 Popis softwaru Administrative Management Center

Zobrazovací a zvuková soustava počítače

Předmětem části B) veřejné zakázky je dodávku existujícího licencovaného softwaru dle této technické specifikace.

Generování žádostí o kvalifikovaný certifikát a instalace certifikátu Uživatelská příručka pro prohlížeč Internet Explorer

X-Sign Basic Uživatelská příručka

5 990,- květen , ,- ceník. HCOMP AMD 4000 Trinity. Záruka 2 roky možnost splátek. Doporučený software. Cena s DPH.

Operační systémy (OS)

Funkce. Porovnání verzí Pinnacle Studio 20. Pinnacle Standard Pinnacle Plus Pinnacle Ultimate. NewBlue efekty (900+ předvoleb a 75+ pluginů)

Procesory nvidia Tegra

Manuál k aplikaci SDO PILOT v.0.2

ROČNÍKOVÁ PRÁCE. Střední průmyslová škola Ostrov. Webové stránky na téma Město, ve kterém žiji. Třída I2 Tadeáš Seemann

ANOTACE vytvořených/inovovaných materiálů

Stylový společník, který nabízí pokročilou grafiku i zabezpečení. Oficiální webové stránky VAIO Europe

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL

Skříň zevnitř. ventilátorem ven ze skříně. Dobrá cirkulace vzduchu v počítačové skříni je velmi

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

GRAFICKÉ ADAPTÉRY. Pracovní režimy grafické karty

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Testujeme notebook pro opravdové hráče: Toshiba X200

produktů. produkty: AutoCAD Mechanical Showcase Autodesk Autodesk Designer SketchBook Autodesk Mudbox Vault Autodesk Ultimate Intel Xeon Intel Core

Řada Illustra Flex Kamera 1MP a 3MP Bullet Stručná úvodní příručka

Uživatelský manuál Radekce-Online.cz

Individuální projekt z předmětu webových stránek Anketa Jan Livora

E.C.S. řada nová generace obrat o 360 ( Systém vyvinut ve Florencii v r.2009 )

Instalační manuál pro digitální videorekordér

Ceník. Sestavení nového PC. platný od Druh práce Cena Popis činnosti. Windows v ceně. Vše v jednom. Proč my?

Uživatelská příručka pro práci s Portálem VZP. Test kompatibility nastavení prohlížeče

5 790,- prosinec ceník. HCOMP AMD 4020 Trinity. Záruka 2 roky. Příplatky a software: Cena s DPH. Počítač: 4GB DDR3 RAM AMD HD GB HDD

Pinnacle Studio 14. Josef Pecinovský. Obsah. Odpovědný redaktor Ing. Pavel Němeček Sazba Jana Davídková Počet stran 128 První vydání, Praha 2010

Příručka pro rychlou instalaci

Lely T4C InHerd. Základní uživatelská příručka

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

TECHNICKÉ POŽADAVKY PORTÁLU

První přihlášení do datové schránky krok za krokem

NÁVOD jak na webinář přes WizIQ

Obsah. Kapitola 1 Stažení a instalace Kapitola 2 Orientace v programu a základní nastavení Úvod... 9

Moderní trendy využívání mobilních (dotykových) zařízení nejen ve výuce. RNDr. Jan Krejčí, PhD.

Návrhy elektromagnetických zení

Redakční systém pro skautské weby Poptávka

Aspire 8530 řady. Stručné pokyny

Staňte se bodem zájmu!

CTUGuide (XXX-KOS) D1

Restaurator. Semestrání projekt předmětu PDA

Datasheet Fujitsu LIFEBOOK A512 Notebook

Název Popis Lhůta. dne Odmítnuté platby Zobrazení, tisk a export seznamu odmítnutých plateb. Informace připraveny k vyzvednutí z bankovního

IMPLEMENTACE SYSTÉMU GROUPWISE NA PEF ČZU V PRAZE IMPLEMENTATION OF THE SYSTEM GROUPWISE ON THE PEF ČZU PRAGUE. Jiří Vaněk, Jan Jarolímek

Odůvodnění veřejné zakázky dle 156 zákona

Responzivní web. Co je mobilní verze webové stránky?

Manuál programu HPSim

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Jazykový test Uživatelská příručka pro účastníky mobilit

DUM 01 téma: Úvod do Corelu

ELEARNING NA UJEP PŘEDSTAVY A SKUTEČNOST

APPLE IPAD IN EDUCATION. Jan LAVRINČÍK

Transkript:

Oficiální zadání

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce Bakalářská práce Možnosti využití 3D na webu Srovnání současných technologií Josef Slabihoudek Vedoucí práce: Ing. David Sedláček Studijní program: Softwarové technologie a management Obor: Web a multimedia květen 2012

Poděkování Rád bych poděkoval panu Ing. Davidu Sedláčkovi za pomoc s výběrem technologií, použitých programů a cenné rady při vývoji. Dále bych mu rád poděkoval za ochotu akceptovat téma této práce a jeho nasměrování správným směrem.

Prohlášení Prohlašuji, že jsem práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne 23.5.2012

Abstract This bachelor project describes technologies which allow to display 3D content in web browsers. There is a comparison of some technologies from different points of view. Project is focused on system and browser independency, hardware requirements, interaction possibilities and preparation complexity. Project describes also tools and technologies used for creating 3D interactive internet applications. Applied technology is used for the realization of internet presentation of the company beeing engaged in security and information technology. Abstrakt Tato bakalářská práce se zabývá technologiemi, které umožňují zobrazit 3D obsah ve webových prohlížečích. Součástí práce je porovnání vybraných technologií z různých pohledů. Zaměřuje se především na systémovou a prohlížečovou nezávislost, hardwarovou náročnost, možnosti interakce a složitost přípravy scény. V práci jsou také popsány jednotlivé nástroje a technologie pro tvorbu 3D interaktivních internetových aplikací. Vybraná technologie je použita pro realizaci internetové prezentace firmy zabývající se bezpečnostními a informačními systémy.

Obsah Kapitola 1 - Úvod 1 1.1 Motivace 1 1.2 Cíl práce 1 Kapitola 2 Přehled dostupných programů 2 2.1 Adobe Flash CS5 2 2.2 Adobe Flash Builder 2 2.3 Flash Develop 2 2.4 Adobe Flash Player 2 2.5 Adobe Photoshop CS6 3 2.6 Gimp 3 2.7 VRML Pad 3 2.8 Cortona 3D 4 2.9 BS contact 4 2.10 Autodesk Maya 4 2.11 Autodesk 3ds Max 4 2.12 Blender 4 2.13 NetBeans 4 Kapitola 3 Přehled dostupných technologií 6 3.1 VRML 6 3.2 Adobe Flash 7 3.3 Adobe Flex 8 3.4 WebGL 9 3.5 Unity 10 3.6 Microsoft Silverlight 11 Kapitola 4 Porovnání vybraných technologií 12 4.1 Systémová nezávislost 14 4.2 Hardwarová náročnost 14 4.3 Prohlížečová nezávislost, podpora 16 4.4 Možnosti interakce 17 4.5 Náročnost přípravy scény 17

4.6 Výběr nejvhodnější technologie pro finální prezentaci 20 Kapitola 5 Realizace 3D webové prezentace 21 5.1 Vize projektu 21 5.2 Vytvoření základního navigačního prvku 21 5.3 Modelování 24 5.4 Texturování 25 5.5 Animování 25 5.6 Vytvoření předběžného načítání 27 Kapitola 6 Závěr 28 6.1 Zhodnocení cílů bakalářské práce a vlastního přínosu 28 6.2 Doporučení ohledně dalšího pokračování práce 28 Kapitola 7 Seznam použité literatury 29 8.1 Knižní zdroje: 29 Kapitola 8 Přílohy 30 8.1 Obsah přiloženého CD 30

Seznam obrázků 3.1 Obrázek 3.1 Logo VRML 6 3.2 Obrázek 3.2 Logo Flash 7 3.3 Obrázek 3.3 Logo Flex 8 3.4 Obrázek 3.4 Logo WebGL 9 3.5 Obrázek 3.5 Logo Unity3D 10 3.6 Obrázek 3.6 Logo SilverLight 11 3.6 Obrázek 3.7 Škoda auto konfigurátor 12 4 Obrázek 4.1 Render dema 13 4 Obrázek 4.2 Demo VRML 14 4 Obrázek 4.3 Demo Flash 14 4 Obrázek 4.4 Demo WebGL 15 4.5 Obrázek 4.1 Ukázka kódu VRML97 18 4.5 Obrázek 4.2 Ukázka kódu Flash 19 4.5 Obrázek 4.3 Ukázka kódu WebGL 20 5.2 Obrázek 5.1 Ukázka základního tvaru Papervision3D 23 5.2 Obrázek 5.2 Ukázka karuselu s plochami 24 5.2 Obrázek 5.3 Ukázka implementace jednotlivé položky menu 5.2 Obrázek 5.4 Ukázka volané funkce posluchačem událostí 24 25 5.3.1 Obrázek 5.5 Polygonální modelování 25 5.3.2 Obrázek 5.6 NURBS modelování 26

5.5 Obrázek 5.7 Animace Flash 27 5.5 Obrázek 5.8 Animace Maya 27

Seznam tabulek 5.1 Tabulka 5.1 Přehled verzí Adobe Photoshop 3 3.4 Tabulka 3.1 Přehled nepodporovaných grafických karet 10 4.2 Tabulka 4.1 Sestava 1 15 4.2 Tabulka 4.2 Sestava 2 15 4.2 Tabulka 4.3 Sestava 3 15 4.2 Tabulka 4.4 Sestava 4 15 4.2 Tabulka 4.5 Zhodnocení 15

Kapitola 1 Úvod Tématem mé bakalářské práce je porovnání technologií pro 3D prezentaci na internetu. V dokumentu jsou popsány nejen dostupné technologie, ale také možné nástroje pro tvorbu všech částí aplikace. Po porovnání vybraných technologií jsem zvolil jednu, ve které je provedena webová prezentace firmy zabývající se bezpečnostními a informačními systémy. Výsledná aplikace je otestována na různých platformách a systémech především s ohledem na komerční využití aplikace, klade tedy důraz na přehlednost a přívětivost užití především pro potencionálního zákazníka. 1.1 Motivace Webová 3D prezentace je jistě zajímavý způsob, jak zaujmout návštěvníka internetových stránek. V dnešní době jsou běžnému uživateli internetu k dispozici miliardy stránek, avšak většina z nich se drží nejčastějších schémat rozložení. U naprosté většiny z nich můžeme najít vertikální menu v levé části obrazovky, nebo horizontální těsně pod názvem webu. Jistě, takovéto standardní rozložení a koncepce mají svou výhodu, uživatel je na ně již zvyklý, nemusí se učit nic nového. Zde přichází na řadu otázka, jestli si návštěvník zapamatuje při prohlížení dvaceti podobných stránek právě tu naši? Co můžeme udělat pro to, abychom se mu nějakým pozitivním způsobem zapsali do paměti? Jedna z možností jak návštěvníka uchvátit je právě změna, zajímavý, ale ne komplikovaný design webového prostředí, nová úroveň interaktivity, nabídnout mu informace způsobem, který ho zaujme na první pohled. Myslím, že atraktivní 3D prezentace splňuje veškeré tyto podněty. 1.2 Cíl práce Hlavním cílem této bakalářské práce je na základně stanovených hodnotících kritérií vybrat nejvhodnější technologii a vytvořit v ní prezentaci společnosti zabývající se bezpečnostními a informačními technologiemi. 1

Kapitola 2 Přehled dostupných programů Tato kapitola obsahuje přehled programů, které jsem použil při výběru nejvhodnější technologie pro výslednou prezentaci a její následné realizaci. Zmiňuje a popisuje také možné alternativní programy, vysvětlení, proč je jeden vhodnější než druhý. 2.1 Adobe Flash CS5 Vývojové prostředí Flash CS5 je komerční aplikace od společnosti Adobe. Toto vývojové prostředí se zaměřuje především na vytváření animací a různorodý multimediální obsah. Je v něm možné také zapisovat kód v jazyce ActionScript 3.0, ale jelikož je primárně určen pro animování, s rostoucí velikostí projektu je vhodné přejít na Flash Builder, protože při vytváření obsáhlejších aplikací a tím narůstajícím množstvím kódu dochází ke značnému zpomalení celé aplikace. 2.2 Adobe Flash Builder Flash Builder je také vývojové prostředí od společnosti Adobe, postavené na Java platformě Eclipse. Na rozdíl od prostředí Flash CS nemůžeme ve Flash Builderu vytvářet animace, kreslit apod. Toto prostředí je zaměřeno především na psaní kódu, což má za následek, že na rozdíl od Flashe CS je prostředí Flash Builderu svižné i při vytváření obsáhlých aplikací. Toto prostředí také umožňuje využít některé z mnoha předpřipravených komponent. 2.3 Flash Develop Flash Develop je alternativní vývojové prostředí k Adobe Flash Builderu. Jedná se o open source projekt, který vznikl v roce 2005. Původně bylo určeno pro začínající programátory flashových aplikací, ale díky velké oblibě a uživatelské základně je dnes k dispozici nepřeberné množství pluginů, s kterými téměř dosahuje kvalit Adobe Flash Builderu. Jeho asi hlavní nevýhodou oproti originálnímu vývojovému prostředí od společnosti Adobe je daleko menší provázanost s vývojovým prostředím Adobe CS, které se u originálních produktů s každou verzí více a více blíží dokonalosti. 2.4 Adobe Flash Player Adobe Flash Player umožňuje přehrávání animací a spouštění aplikací vytvořených v programech jako Flash CS, Flash Builder, nebo Flash Develop. Tento multimediální přehrávač byl původně vytvořený společností Macromedia, dnes patřící pod Adobe. Díky podpoře spouštění skriptů napsaných v jazyce ActionScript zajišťuje až netušené možnosti 2

interakce na nejrůznějších platformách a systémech. Tento přehrávač je možné mít jako samostatnou aplikaci, nebo častěji jako plugin do webového prohlížeče. K dispozici je také rozšířená debuggovací verze pro vývojáře. 2.5 Adobe Photoshop CS6 Adobe Photoshop je grafický editor pracující s bitmapovou grafikou. První verze programu Photoshop vyšla již v roce 1990, po třech letech vývoje bratrů Thomase a Johna Knolla. V současnosti je na trhu již třináctá verze s označením CS6. Verze Datum vydání 1.0 únor 1990 2.0 červen 1991 3.0 listopad 1992 4.0 září 1994 5.0 listopad 1996 5.5 květen 1998 6.0 únor 1999 7.0 září 2000 8.0 (CS) březen 2002 9.0 (CS2) říjen 2003 10.0(CS3) duben 2007 11.0(CS4) září 2008 12.0(CS5) duben 2010 12.5(CS5.5) květen 2011 13.0(CS6) březen 2012 Tabulka 5.1 Přehled verzí Adobe Photoshop 2.6 Gimp Gimp, neboli GNU Image Manipulation Program je alternativou ke komerčnímu Adobe Photoshopu. Dokáže upravovat bitmapovou grafiku a je poskytován pod volnou licencí. Historie Gimpu sahá do roku 1995, konkrétně ke studentům Kalifornské univerzity. Aby Spencer Kimball a Peter Mattis mohli vytvořit nezávislý program, museli vytvořit novou grafickou knihovnu a vznikla tak GTK gimp toolkit. Na ní je mimo jiné postavené grafické prostředí pro unixové operační systémy GNOME. 2.7 VRML Pad VRML pad je vývojové prostředí pro jazyk VRML od společnosti Parallel Graphics. Dnes je k dispozici verze 3.0. VRML pad je velmi schopný pomocník při editování scény, má vestavěné velmi užitečné funkce, jako jsou například detekce chyb v kódu, inteligentní dokončování, nebo automatizace skriptování. 3

2.8 Cortona 3D Cortona 3D je plugin do webových prohlížečů a primárně umožňuje přehrávání VRML97 souborů. Podporuje 3D akcelerátory jako DirectX a OpenGL. K dispozici je zdrama. 2.9 BS contact BS contact je VRML prohlížeč od společnosti Bitmanagement Software GmbH. Jeho hlavní výhodou oproti Cortoně 3D je v intenzivnějším vývoji, obsahuje tedy mnohem více funkcí, avšak v plné verzi je placený. Za zmínku jistě také stojí podpora stereoskopického zobrazení. 2.10 Autodesk Maya První verze tohoto profesionálního programu pro 3D grafiku vznikla v roce 1998, od roku 2006 patří pod Autodesk. Maya je často využívána pro filmové efekty a tvorbu počítačových her. Je zajímavé, že ačkoli Autodesk již při koupi měl vlastní velice úspěšný 3D modelář, nechává oba dva produkty na trhu koexistovat. Dnes je k dispozici placená verze Maya Unlimited a verze Maya PLE, která je poskytována zdarma pro nekomerční účely. Nevýhodou této bezplatné veze je však vodoznak, který modely obsahují. Autodesk je ke studentům obecně velmi vstřícný a tak je k dispozici bezplatná roční studentská verze. 2.11 Autodesk 3ds Max Autodesk 3ds Max se vyvinul z programu 3D Studio, které bylo vytvořeno pro platformu DOS. Na přejmenování 3D Studio Max došlo při přeprogramování pro operační systém Windows NT. Stejně jako Maya je profesionálním 3D grafickým editorem, který se hojně využívá ve filmovém a herním průmyslu. 2.12 Blender Bledner je jedním z nejpopulárnějších Open Source 3D grafických modelářů. Pomocí nejrůznějších pluginů umožňuje vytvářet scény a animace srovnatelné s velmi drahými 3D modeláři. Jeho nevýhodou je občasná nestabilita a poněkud nepřehledné menu. 2.13 NetBeans Projekt NetBeans spadá pod firmu Sun Microsystems. Jako open source produkt byl uvolněn již v červnu 2000. Primárně je toto vývojové prostředí určeno pro tvorbu aplikací v jazyce Java, ale aktuální verze 7.1.1 podporuje i další programovací jazyky, jako například C++, PHP, Ruby a další. Vzhledem k přehlednému rozhraní a velkým možnostem rozšíření je 4

velmi pohodlné editovat v NetBeans i kód, pro který tento mocný nástroj nebyl původně určen. Ve své práci jsem ho využil například pro úpravu HTML kódu. 5

Kapitola 3 Přehled dostupných technologií Tato kapitola obsahuje přehled technologií, které umožňují tvorbu 3D webových aplikací. Popisuje také některé další, které bylo nezbytné využít ať už pro srovnání vybraných technologií, nebo pro tvorbu finální 3D webové prezentace. 3.1 VRML Obrázek 3.1 Logo VRML Virtual Reality Modeling Language je grafický formát, který byl navržen pro popis trojrozměrných scén. Historie jazyku VRML sahá až na konec 80. let, konkrétně k programátorům Silicon Graphics, kteří navrhli knihovnu Inventor zajišťující práci s prostorovými objekty. Inventor fungovala jako nadstavba grafické knihovny GL. Na začátku 90. let došlo k její inovaci a byla vytvořena nová knihovna OpenGL (open graphics library). Tato nová vylepšená knihovna se stala průmyslovým standardem pro tvorbu počítačové grafiky. Po vzniku OpenGL bylo potřeba obnovit také Inventor, vznikla tedy nová knihovna, pojmenovaná OpenInventor a ta se stala stavebním kamenem jazyka VRML. Jako další významná data ve vývoji bych ještě vytyčil rok 1995, tedy datum vzniku VRML 1.0, kdy došlo k významnému rozšíření jazyka o možnost využití prostorových dat z internetu. Dalším důležitým bodem ve vývoji VRML byl rok 1997, kdy vznikla verze 2.0, dodnes používaná také pod označením VRML97. Tato poslední verze se stala standardem označeným jako ISO/IEC 14772-1:1997. Jazyk VRML byl navržen pro použití na internetu, což je jedna z jeho silných stránek. Velkou výhodou je možnost tvorby nejen statických, ale i dynamických světů. To pro nás znamená, že jednotlivé objekty ve scéně mohou například reagovat na přítomnost virtuálního návštěvníka, časovač, objekty generující události, mohou se také přemisťovat, měnit barvu a podobně. Ve své době jazyk VRML přinesl možnost lidem prohlížet prostorové světy bez nutnosti instalace a platby drahých, náročných profesionálních programů, tedy zpřístupnil tuto technologii víceméně každému, kdo měl doma počítač, internetový prohlížeč a přehrávač VRML. 6

Právě nutnost instalovat speciální prohlížeč možná stojí za tím, že se technologie masově nerozšířila. I přes široké možnosti využití pro reklamní účely, nejrůznější vizualizace a simulace rozmanitých struktur, tedy tento jazyk nyní považujeme víceméně za přežitý. 3.2 Adobe Flash Obrázek 3.2 Logo Flash Flash jako takový vznikl přibližně před 14 ti lety roku 1996. Vyvinula ho firma Macromedia, která je nyní ve vlastnictví společnosti Adobe Systems. Flash není jen vektorový grafický program, ale komplexní multimediální platforma. To ve zkratce znamená, že již dávno není využíván pouze ke tvorbě křivkových animací, ale v současné době zajišťuje chod interaktivním internetovým aplikacím, které se souhrnně označují jako RIA (tedy rich internet applications). ActionScript je objektově orientovaný programovací jazyk, který se používá v aplikacích platformy Flash. Jazyk ActionScript a Flash se vyvíjely společně. Zezačátku v prvních třech verzích platformy Flash nebyl jazyk ActionScript vůbec implementován. Veškeré ovládání objektů ve scéně se provádělo přes předem definované akce, které zajišťovaly jen to nejzákladnější, tedy procházet časovou osu, popřípadě odkazovat na nějaké URL. Teprve až od verze čtyři bylo vývojářům umožněno vkládat jednoduchý zdrojový kód, kterému se začalo tehdy ještě neformálně říkat ActionScript. S příchodem verze pět se tento skriptovací jazyk více vyvinul a stala se z něj tak oficiální součást Flashe, což zaručilo jeho kontinuální vývoj. Postupem času byl tento skriptovací jazyk obohacen o možnosti řízení textů, zvuků, videí, sofistikovanějších animací a tak podobně. Další výrazný bod ve vývoji nastal v roce 2003, kdy vznikl jazyk ActionScript 2.0. Tento rok je důležité zdůraznit hlavně proto, že v tuto dobu již byl jazyk na srovnatelné úrovni s ostatními objektově orientovanými jazyky na trhu, jako jsou například Java, nebo C#. S příchodem této přelomové verze se o něj začala zajímat nejen širší veřejnost, ale i zkušení programátoři. Těm se však v porovnání s již zaběhnutými objektově orientovanými jazyky nezdála hlavně efektivita ActionScriptu 2.0. Do jisté míry to bylo zapříčiněno tím, jak se jazyk vyvíjel. Každá nová verze byla vlastně úpravou té minulé a tak se projevovala stále více skutečnost, že přehrávač Flash Player nebyl původně konstruován pro rozsáhlé internetové aplikace, nebo hry náročné na výkon. Čím dál tím více vyplývala na povrch skutečnost, že pokud se má ActionScript udržet při životě, bude potřeba naprogramovat novou verzi, zcela od základu. K tomu došlo v roce 2006, kdy společnost Adobe představila jazyk ActionScript 3.0. Verze 3.0 je současnou verzí jazyka ActionScript. Je obohacena o mnohé nové funkce a přináší slíbený nárůst efektivity. Tuto verzi poprvé začlenilo vývojové prostředí Flash CS3, 7

CS4 přidalo další funkce, z nichž bych, vzhledem k zaměření mé práce, rád vytknul práci s 3D grafikou. Poslední verze vývojového prostředí nese název CS5. Nepřináší žádné dramatické změny jazyka ActionScript 3.0, tedy alespoň z pohledu uživatele. Očima vývojáře můžeme spatřit spoustu pomocných funkcí, jako například automatické dokončování kódu. Soubory vytvořené ve Flashi mají příponu.swf, od označení Shockwave Flash. Toto označení je víceméně zastaralé, protože platforma Shockwave se již před nějakou dobou oddělila, nicméně přípona souborů zůstala nezměněná. Soubor vytvořený ve Flashi interpretuje, nebo můžu říci, přehrává Adobe Flash Player. Flash Playeru máme několik verzí, může totiž fungovat jako samostatný program, nebo existuje v podobě zásuvných modulů do internetových prohlížečů. Dále jsou k dispozici rozšířené debuggovací verze pro vývojáře. Tímto jsem se dostal k podobnému problému, jako u VRML, tedy že k přehrání Flashových souborů je také bezpodmínečně nutný speciální přehrávač, který není integrován přímo do instalace internetového prohlížeče. U Flashe to ovšem není takový problém, jako například u VRML, jelikož dle dostupných statistik počet uživatelů, kteří přistupují na nějakou webovou stránku zaznamenávající softwarové vybavení klienta a jsou vybaveni flashovým přehrávačem, je velmi vysoký. Hovoří se přibližně až o 99 % uživatelů. Za toto masivní rozšíření může fakt, že Flash je nejdostupnější a nejrozšířenější formou videoprezentace na internetu. Každý uživatel, který si někdy pustil video z jakéhokoliv video serveru, jako je například YouTube, je tedy připraven na přehrání.swf souborů. 3.3 Adobe Flex Obrázek 3.3 Logo Flex První vydání Flexu je z roku 2004 od firmy Macromedia. Současná verze platná od roku 2008 nese označení Adobe Flex 3. Jedná se o sadu komponent pro tvorbu a vývoj bohatých internetových aplikací. Přesněji, jedná se o vývojovou technologii, nikoliv běhové prostředí. Flex je programátorská záležitost, vývojář pracuje s již předpřipravenými komponentami, celý kód je objektově orientovaný. Při pohledu na kód se nezapře jistá podobnost s HTML/JavaScriptem. To je dáno definicí uživatelského rozhraní, které je provedeno ve značkovacím jazyce MXML. Pro vývojáře je tento fakt velikou výhodou, jelikož výstupem je vždy platný XML dokument, což zajišťuje snadné používání dalších komponent od různých výrobců 8

Vývojovým prostředím pro Flex je Adobe Flash Builder, vcelku dobrou alternativou je freewarový Flash Develop. Ačkoliv nemají vývojáři Flexu rádi zaměňování s Flashem jako takovým, nutno podotknout, že v obou technologiích se používá ActionScript a jako běhové prostředí obě používají Adobe Flash Player. To je vzhledem k rozšířenosti Flash Playeru obrovská výhoda. Koncový uživatel nemusí vůbec poznat, zda-li ovládá aplikaci vytvořenou ve Flexu, nebo ve Flashi. Vzájemné propojení těchto technologií je již dnes na velmi dobré úrovni, není problém některé animace vzájemně integrovat. Firma Adobe údajně v příštích verzích plánuje pro tyto dva nástroje společné souborové projekty. Další velkou výhodou je poměrně značný počet dostupných rozšíření. Pro podporu třetího rozměru ve flashových aplikacích je asi nejlepší Papervision3D. Pomocí jazyka ActionScript 3.0 můžeme tvořit různá primitiva, nastavovat scénu, připravovat reakce na akce uživatele a dokonce i importovat hotové 3D objekty některého z programů pro 3D grafiku ve formátu Collada. Díky Papervision3D tak může uživatel v okně svého webového prohlížeče vybaveného pouze flashovým přehrávačem vidět plně prostorový objekt a to v reálném čase. Formát Collada (Collaborative Design Activity) umožňuje ukládat nejen statické 3D objekty, ale také animace. Jedná se o XML dokument, což zajišťuje jeho snadnou editaci v jakémkoliv textovém editoru. Jedná se o poměrně nový formát, který byl vyvinut společností Sony Computer Entertainment v říjnu roku 2004, jako oficiální formát pro PlayStation 3 a PlayStation Portable. Zajímavou skutečností je, že se Collada používá jako výchozí 3D formát pro modely v programu Google Earth. 3.4 WebGL Obrázek 3.4 Logo WebGL WebGL je technologie umožňující použití a vytvoření 3D grafiky ve webovém prohlížeči. Je postavená na základě OpenGL ES 2.0, používá multiplatformní rozhraní OpenGL, což zajišťuje její použitelnost na různých systémech. WebGL je přímo koncipováno pro standard HTML 5. Z toho vyplývá jedna pro uživatele velice důležitá skutečnost k prohlížení aplikace naprogramované ve WebGL není potřeba instalovat žádný další přehrávač, nebo běhové prostředí. Návštěvník stránek si vystačí pouze s internetovým prohlížečem. Mezi klíčové výhody použití WebGL dále patří hardwarová akcelerace 3D grafiky a její provázanost s HTML obsahem, díky čemuž je zaručena snadná interakce s jinými HTML prvky za pomocí standardních mechanismů. 9

Jelikož se WebGL řadí mezi nízko úrovňové rozhraní pro programování aplikací, je potřeba pro oživení i zdánlivě jednoduché scény, v porovnání s ostatními technologiemi, napsat spoustu kódu a programovat akce na scéně, které jsou v jiných technologiích buď částečně, nebo úplně zautomatizovány. Ve výhodách zmíněná hardwarová akcelerace může být zároveň i docela závažným problémem, zvláště při komerčním využití WebGL, jelikož je nutné vlastnit podporovanou grafickou kartu. Pro vlastníka nepodporované grafické karty je tak ve webovém prohlížeči WebGL ve výchozím nastavení deaktivováno. Windows Linux Mac Intel GMA 945 AMD/ATI ATI Radeon HD2400 NVIDIA GeForce FX Go5200 Intel, ovladače Mesa starší ATI Radeon 2600 series než 7.9 NVIDIA GeForce FX Go5200 ATI Radeon X1900 GeForce 7300 GT NVIDIA GeForce FX Go5200 Tabulka 3.1 Přehled nepodporovaných grafických karet 3.5 Unity Obrázek 3.5 Logo Unity3D Technologie Unity 3D je vývojový nástroj určený především pro tvorbu 3D videoher. Zmiňuji ho hlavně proto, že také umožňuje vytvářet interaktivní obsah a různorodé 3D animace, které jsou stejně jako hry v něm vytvořené spustitelné na mnoha platformách. Pochopitelně vzhledem k zaměření mé práce je nejzajímavější plugin do webového prohlížeče. Jeho instalace probíhá podobně, jako například u přehrávače Adobe Flash Player. Bohužel však není zdaleka tak rozšířený, protože na rozdíl od přehrávání videa je hraní webových her, zvláště takto náročných, zábavou daleko menšího okruhu lidí. Jelikož je Unity 3D zaměřeno především na hraní her, podporuje rozmanité moderní technologie, které využívají i nejnovější herní enginy. Ve výčtu nechybí například takové grafické prvky, jako jsou dynamické stíny, reflexe mapování a podobně. Opravdovou třešničkou na dortu je pak vestavěná podpora NVIDIA PhysX fyzikálního enginu, který je schopný v reálném čase zohledňovat vlastnosti látek ve scéně, kolize vrstev a podobně. Dalším velkým plusem enginu Unity 3D je jeho multiplatformnost. Aplikace v něm naprogramované fungují na Nintendu Wii, Xboxu 360, Playstationu 3, iphonu, ipadu, 10

zařízeních využívající operační systém Android a přes Unity Web Player plugin ve všech nejrozšířenějších webových prohlížečích. 3.6 Microsoft Silverlight Obrázek 3.6 Logo SilverLight Microsoft Silverlight je platformou, primárně určenou pro tvorbu business a multimediálních aplikací. Stejně jako například Flash je schopen fungovat pomocí stažitelné komponenty ve webovém prohlížeči. Podporovány jsou Internet Explorer, Firefox, Safari, Opera a Chrome. Na Linuxu je tato technologie dostupná také, ale pod jiným označením Moonlight. Moonlight je za podpory Microsoftu vyvíjen americkou společností Novell jako svobodná implementace Silverlightu. Vývoj této technologie začal v roce 2007, nyní je k dispozici verze 5 z roku 2011, která konečně umožňuje účinně využít 3D obsah i za pomoci procesoru grafické karty. Obrázek 3.7 Škoda auto konfigurátor 11

Kapitola 4 Porovnání vybraných technologií V této kapitole budu srovnávat VRML, WebGL a kombinaci Flash/Flex/Papervision3D. Mezi hlavní hodnotící kritéria budou patřit: 1. Systémová nezávislost 2. Prohlížečová nezávislost 3. Hardwarová náročnost 4. Možnosti interakce 5. Náročnost přípravy scény Dále pro výběr nejvhodnější technologie vzhledem ke komerčnímu nasazení na internet vezmu v potaz některé důležité skutečnosti, jako například postoj významných softwarových společností na trhu k jednotlivým technologiím a jejich dostatečnou podporu. Pro testování byl vytvořen jednoduchý 3D objekt, kamera na sloupu pouličního osvětlení. K jeho vytváření byl použit 3D modelář Blender. Z níže uvedených obrázků je patrné, že export do formátu Collada nefunguje zcela korektně, proto jsem po této zkušenosti na tvorbu 3D objektů pro finální prezentaci použil program Maya 2011. Obrázek 4.1 Render dema 12

Obrázek 4.2 Demo VRML Obrázek 4.3 Demo Flash 13

Obrázek 4.4 Demo WebGL 4.1 Systémová nezávislost Systémovou nezávislost ověřím na následujících operačních systémech: 1. Microsoft Windows Vista 32bit SP2 2. Microsoft Windows XP SP3 3. Linux Kubuntu 11.10 4. Android 2.3.4 Na operačních systémech od společnosti Microsoft fungují bez problému všechny technologie. Na Linuxu bylo obtížné, jak už to tak bývá, zprovoznit téměř vše. Nicméně díky multiplatformním prohlížečům, jako je například Firefox funguje WebGL. Dále pod tímto operačním systémem funguje Flash, hlavně zásluhou oficiálního pluginu od společnosti Adobe. Nejrozšířenější prohlížeč VRML Cortona3D není pro Linux k dispozici. Pro operační systém Android existuje spousta prohlížečů, aplikací a rozšíření, díky kterým je na přenosných zařízeních možné prohlížet aplikace ve všech zkoumaných technologiích. Za Flashem a WebGL zaostává pouze VRML, které je možné spouštět přes placenou aplikaci. Ostatní prohlížeče jsou zdarma. 4.2 Hardwarová náročnost Vzhledem k trendům poslední doby zmenšování přenosných počítačů, výroby úsporných přenosných systémů, smartphonů a tabletů, bude potřeba otestovat plynulost 3D 14

webového prostředí na systémech s různým využitím od pracovních počítačů, přes herní sestavy až k přenosným zařízením. Jako hodnotící stupnici budu používat čísla 1 až 5, kde 1 bude znamenat bezproblémový chod a 5 v případě, že shledám na daném zařízení aplikaci jako nepoužitelnou, nebo se jí nepodaří rozchodit. Pro testování byly vybrány následující sestavy: Procesor Operační paměť Grafická karta Procesor Operační paměť Grafická karta Procesor Operační paměť Grafická karta Procesor Operační paměť Grafická karta Pracovní počítač Notebook Dell Latitude E4300 Intel Core 2 Duo P9300 2.26 Ghz 4GB DDR3 Intel 4300MHD Tabulka 4.1 Sestava 1 Herní sestava AMD Athlon 64 X2 6400+ 3333 Mhz 4 GB DDR2 800 Mhz MSI Ge-Force nx8800gtx 768 MB DDR3 Tabulka 4.2 Sestava 2 Starší pracovní sestava AMD Thunderbird 900 Mhz 2 GB Integrovaná Tabulka 4.3 Sestava 3 Smartphone HTC HD2 (Android) Qualcomm Snapdragon 1 Ghz 1GB Qualcomm Tabulka 4.4 Sestava 4 VRML Flash/Flex/Papervision WebGL Sestava č.1 1 1 3 Sestava č.2 1 1 1 Sestava č.3 1 3 4 Sestava č.4 3 3 3 Tabulka 4.5 Hodnocení Při testování jsem zjistil, že nejméně náročná technologie je jednoznačně VRML. Funguje bez záseků i na deset let starém počítači. U Flashe velmi záleží na rozmanitosti scény. Při zobrazování jednoduchých objektů je velmi svižný i na pracovních strojích, ale při zapojení komplikovaných grafických efektů, jako je například mlha a podobně může být velmi hardwarově náročný. Na všech testovaných strojích nejhůře běhalo WebGL, které pro 15

korektní běh vyžaduje některou ze seznamu podporovaných grafických karet. I na ne zcela slabé sestavě č. 1 nepříliš komplikovaný objekt při manipulaci vykazuje značný pokles plynulosti pohybu. 4.3 Prohlížečová nezávislost, podpora Hodnotícím kritériem prohlížečové podpory nebude jen zda-li je vůbec možné danou technologii zprovoznit. Zaměřím se také na případnou složitost uvedení do chodu pro běžného uživatele a případnou stabilitu pluginů. Jednotlivé technologie budou testovány na následujících nejrozšířenějších prohlížečích: 1. Google Chrome 16.0.912.75 m 2. Opera 11.52, sestavení 1100 3. FireFox 9.0.1 4. Internet Explorer 9 Ve spojitosti s WebGL je nejvíce zmiňován Google Chrome. Spoustu webů zabývající se touto tématikou na něj přímo odkazuje. Nicméně ve skutečnosti není zprovoznění WebGL v tomto prohlížeči vůbec triviální. Ochota prohlížeče korektně spustit aplikaci se velmi liší verze od verze. Díky této skutečnosti musí často i zkušenější uživatel zavítat na nějaké fórum, aby zjistil, jak je na tom s podporou právě ta jeho verze. Jako nejpoužitelnější se pro WebGL jeví Firefox. Verze 9.0.1 má sice v základu také WebGL vypnuté, ale povolení není nikterak náročné a po asi třech krocích funguje zcela automaticky a spolehlivě. Velkým problémem se pro WebGL stává Internet Explorer. Jelikož se společnost Microsoft rozhodla tuto technologii víceméně ignorovat, nepřichází její integrace do Internet Exploreru vůbec v úvahu. Microsoft se dokonce o WebGL vyjádřil jakožto o potencionálním nebezpečí, kritizoval také velkou nestabilitu aplikací v něm vytvořených. Dalším a možná tím hlavním důvodem je přivedení na trh své vlastní technologie pro 3D webovou prezentaci Microsoft Silverlight. Jak pro Flash, tak pro VRML existují pluginy do všech nejrozšířenějších prohlížečů. Flash je na tom o něco lépe, jednak díky masové rozšířenosti a jednak jednoduchosti instalace. Ve všech prohlížečích je uživatel na nepřítomnost Flashového přehrávače upozorněn ihned, nemusí zjišťovat, proč se aplikace nezobrazuje. 16

4.4 Možnosti interakce Možnosti interakce jsou v jednotlivých technologiích na velice dobré úrovni. I u staršího VRML lze vkládat javascript, různé body reagující na uživatelovo chování a navázat na ně další akce. Ve Flashi a WebGL lze lépe omezit uživatelův pohyb, protože běhová prostředí nemají v základu žádná předpřipravená tlačítka, jako Cortona3D. Při správném naprogramování tedy nehrozí, že by se nám návštěvník mohl ztratit v prostoru. Ve Flashi lze oproti VRML například přistupovat k jednotlivým částem primitiv, čehož se dá také využít. WebGL má krásně čitelný kód a díky provázanosti s HTML 5 posunuje možnosti interakce na úplně novou úroveň. 4.5 Náročnost přípravy scény V tomto bodě hodnocení se zaměřím hlavně na vývojáře, jak rozdílným způsobem se dá v jednotlivých technologiích dosáhnout podobného výsledku, s jakou námahou a jak efektivně. Svojí roli bude také hrát případná existence různých vývojových prostředí, jejich dostupnost a komfort při práci s nimi. Jednoznačně nejjednodušší při přípravě podobné scény se mi zdá VRML. Jednotlivé náročnější objekty je možno importovat z libovolného 3D modelovacího prostředí a poupravit cestu k texturám. Zápis kódu je přehledný a srozumitelný. K dispozici je přehledný editor VRML Pad zvýrazňující syntaxi. Obrázek 4.1 Ukázka kódu VRML97 17

Uprostřed se, co se náročnosti týká, umístil Flash. U Flashe je značná výhoda ve velikém množství předpřipravených akcí a komponent, z čehož vyplývá, že je co do psaní kódu nejméně náročný. Na pár řádcích se dá vytvořit opravdu poutavá aplikace. Také vývojové prostředí, ať už komerční Flash Builder, nebo freewarový Flash Develop poskytují pro programátora příjemné pracovní prostředí s mnohými funkcemi. Obrázek 4.2 Ukázka kódu Flash 18

Jednoznačně nejnáročnější mi připadá práce s WebGL. I pro jednoduchou věc je potřeba napsat spoustu kódu. Mnoho například ve Flashi zautomatizovaných věcí zde musí programátor obstarat sám. Zatím jsem také nenarazil na nějaké sofistikovanější vývojové prostředí. Obrázek 4.3 Ukázka kódu WebGL 19

4.6 Výběr nejvhodnější technologie pro finální prezentaci Po vytvoření podobné scény ve VRML, kombinaci Flashe/Flexu/Papervisionu 3D a WebGL, jsem se nakonec rozhodl zvolit si cestu kombinace Flashe, Flexu a Papervisionu 3D. S VRML se sice krásně pracuje, ale již léta tuto technologii víceméně nikdo nepoužívá. Navíc fakt, že je nutná instalace speciálního prohlížeče, který ještě není na všechny platformy bezplatný, tuto možnost vylučuje. WebGL je z uvedených technologií nejnovější, nejpokročilejší, nevyžaduje instalaci běhového prostředí třetích stran, ale momentální základní nastavení internetových prohlížečů brání komerčnímu využití. Navíc negativní postoj Microsoftu k WebGL a jeho neochota implementovat podporu do Internet Exploreru mě přesvědčilo o tom, že čas WebGL ještě zcela nenastal. Flash sice vyžaduje instalaci Adobe Flash Playeru, ale jeho masová rozšířenost eliminuje tuto nevýhodu. Velké množství rozšíření, knihoven, jeho multiplatformnost a obrovská komunita lidí kolem Flashe vyvažuje i občasnou nestabilitu zásuvných modulů a v některých případech vyšší hardwarovou náročnost. Fakt, že je Flash tou správnou volbou pro komerční využití potvrzuje i skutečnost, že většina webových reklamních bannerů, které byly dříve tvořeny gifovými obrázky jsou nahrazeny právě Flashovými miniaplikacemi. 20

Kapitola 5 Realizace 3D webové prezentace V této kapitole je popsán postup tvorby 3D webové aplikace za použití kombinace technologií Flash/Flex/Papervision3D. Zachycuje také odchylky od původní vize, které bylo potřeba provést při objevení skrytých problémů, na které jsem při vývoji aplikace narazil. Některé problémy bylo nutno vyřešit drobným odklonem od původního záměru, ať už z důvodu náročnosti na výkon počítače, rychlost připojení, nebo objevení určitých limitujících skutečností vyplývajících z možností vybraných technologií. 5.1 Vize projektu Cílem projektu je vytvoření efektivní poutavé webové prezentace za použití 3D objektů. O jejich zobrazení se stará knihovna Papervision3D. Díky tomuto rozšíření pro platformu Flash můžeme vytvářet jednotlivá primitiva, nebo přímo importovat hotové modely ve formátu collada. Prvotním nápadem bylo využít tyto 3D modely jako navigační prvky. Vzhledem ke koncepci menu, které jsem vytvořil v podobě karuselu, se však tato volba postupně ukázala jako nevhodná, protože při otáčení jednotlivých položek a tím i detailních modelů rapidně rostla náročnost a klesala plynulost chodu aplikace. Modely ve formátu collada jsem tedy nahradil jednoduššími objekty. 5.2 Vytvoření základního navigačního prvku Jelikož se společnost, pro kterou je tato aplikace vyvíjena zabývá různými technologiemi, je potřeba vytvořit menu o následujících položkách: 1. CCTV kamerové systémy 2. EPS elektronická požární signalizace 3. EZS elektronická zabezpečovací signalizace 4. ACS přístupové systémy 5. STR strukturovaná kabeláž 6. o nás informace o společnosti 7. Kontakty telefony, emaily, adresy 8. Aktuality aktuální sdělení zákazníkům Jako základní navigační prvek mé aplikace jsem se rozhodl vytvořit rotační menu v podobě 3D karuselu. K tomuto rozhodnutí mě vedla skutečnost, že jsem na takové řešení oproti častým horizontálním a vertikálním menu narazil jen zřídka. Pokud někde byl použit podobný prvek, téměř nikdy nezastupoval funkci hlavního navigačního menu. 21

Po špatných zkušenostech s tvorbou jednotlivých položek karuselu z collada objektů jsem začal znovu vytvářet menu za pomocí Papervision3D primitiv. Jako druhá možnost mě napadla cesta vytvořit menu pomocí válce. Jelikož je možné v kódu přistupovat k jednotlivým jeho plochám, uživatel by nemusel poznat, že místo vícero objektů používá pouze jeden. Došlo by tak k ušetření výkonu a zvýšení rychlosti aplikace. Obrázek 5.1 Ukázka základního tvaru Papervision3D Bohužel po přidělení materiálu jednotlivým plochám válce došlo k výraznému omezení interaktivity. Posluchače událostí navázané na jednotlivé strany byly přiděleným materiálem, v tomto případě texturou, překryty a staly se tak nefunkčními. Řešením tohoto nešvaru je možnost navázat posluchač událostí na objekt, na který je textura namapována, což bohužel v tomto případě není možné. Pokud bychom tak učinili, všechny strany válce by nám odkazovali bez rozdílu na jedno místo v aplikaci. Nezbývalo nic jiného než od válce upustit a vrátit se opět k osmi samostatným objektům. Jako další přicházely v úvahu jednoduché plochy. Po otexturování a navázání posluchačů událostí fungovaly objekty spolehlivě jako obyčejná navigační tlačítka. Bohužel efekt z jednotlivých ploch nebyl moc uspokojivý, proto jsem se rozhodl zaobalit je do komponenty zvané container. Veliká výhoda tohoto kroku spočívá v zjednodušení pozicování jednotlivých ploch a možnost jejich seskupení a rozmístění do podoby karuselu. 22

Obrázek 5.2 Ukázka karuselu s plochami Takto sestavený základ menu jsem se ve finální podobě rozhodl ještě vylepšit a jednotlivé plochy nahradit dalším základním tvarem krychlí. Přiřazením textury pouze na přední a zadní stranu krychle jsem docílil zajímavého efektu dvou za sebou stojících ploch, z nichž každá může nést jiný materiál Obrázek 5.3 Ukázka implementace jednotlivé položky menu 23

Důležitým funkčním prvkem jsou již několikrát zmíněné posluchače událostí. Jedná se o předpřipravenou komponentu platformy Flash, kterou stačí spustit na určitém objektu a při její aktivaci navázat spouštění požadovaných akcí. V příkladu kódu výše posluchač událostí reaguje na uživatelův pohyb myší. Pokud přejede přes instanci krychle uložené v proměnné eps, dojde k zavolání funkce epsrollover, která automaticky změní text v poli nazev_txt. Obrázek 5.4 Ukázka volané funkce posluchačem událostí 5.3 Modelování Pro modelování 3D objektů jsem si vybral po špatných zkušenostech ze srovnávací části bakalářské práce s programem Blender Mayu 2011. Na rozdíl od Blederu byla Maya při práci nesrovnatelně stabilnější, přehlednější a hlavně v ní spolehlivě funguje export do formátu collada. 5.3.1 Polygonální modelování Ve světě 3D grafiky se vše skládá z vrcholů, hran a polygonů. Dva vrcholy tvoří hranu, tři hrany polygon. Postupným vytahováním jednotlivých polygonů a aplikováním různých funkcí, jako je dělení, slučování, zvětšení/zmenšení dochází k tvorbě výsledného modelu. Při výrobě svých modelů jsem používal hlavně tuto techniku. Obrázek 5.5 Polygonální modelování 24

5.3.2 NURBS Pojmem NURBS se označuje matematický model pro generování a popis ploch i křivek. Velkou výhodou této techniky je snadná manipulace s křivkami pomocí kontrolních bodů. Tato technika velmi zjednodušuje modelování některých objektů, jako například kabelu. Můžeme křivkou vytyčit trasu a nechat po ní protáhnout plný kruh, čímž docílíme požadovaného efektu. Obrázek 5.6 NURBS modelování 5.4 Texturování Pro úpravu textur jsem použil program Adobe Photoshop CS6. Při texturování základních objektů tvořících jednotlivé položky menu jsem použil komponentu Adobe Flash zvanou MaterialList. Ta mi velmi usnadnila namapování textur na jednotlivé krychle. V programu Maya jsem použil UV Texture Editor, tedy nástroj určující jakým způsobem se objekt texturou obalí. 5.5 Animování Aby se použití 3D technologií co nejvíce zúročilo, rozhodl jsem se některé objekty ve scéně rozpohybovat. Při vývoji jsem použil dva způsoby závislé na typu 3D objektu. Základní objekty vytvořené jazykem Action Script 3.0 jsem rozpohyboval za pomocí funkcí v něm obsažených, jak je vidět z obrázku níže. 25

Obrázek 5.7 Animace Flash Objekty vložené do aplikace ve formátu collada oproti tomu mohou obsahovat svojí vlastní animaci přímo v souboru.dae. Rozpohybování objektu v sofistikovaném 3D modeláři za pomoci časové osy je rozhodně pohodlnější, než psát kód. V programu Maya 2011 jsem použil techniku zvaná klíčová animace. Ta spočívá ve vytvoření stěžejních bodů pohybu, takzvaných klíčových snímků a zbytek animace dopočítá počítač za nás. Obrázek 5.8 Animace Maya 26

5.6 Vytvoření předběžného načítání Protože zdaleka ne všichni jsou v dnešní době vybaveni vysokorychlostním internetem, zakomponoval jsem do aplikace předběžné načítání. Dosáhl jsem toho přidáním posluchače událostí na část kódu, která nahrává externí Flashový.swf soubor. Uživatel je o stavu načítání informován dynamicky se měnícím ukazatelem počtu procent nahraných dat. V této části vývoje jsem zvláště ocenil funkce rozšířené verze Adobe Flash Playeru, jako je simulace stahování, kde si mohu nastavit přenosovou rychlost a sledovat, jak by vypadalo načítání pro budoucího návštěvníka. 27

Kapitola 6 Závěr 6.1 Zhodnocení cílů bakalářské práce a vlastního přínosu V této práci jsem popsal nejvýznamnější technologie pro prezentaci 3D obsahu na internetu. Tři z nich, Flash, VRML 97 a WebGL jsem použil pro zobrazení jednoduchého 3D modelu. Toto demo jsem otestoval na různých operačních systémech a zařízeních a na základě výsledku jsem se rozhodl vyzkoušet si tu nejlepší z nich na větším projektu. Při programování finální prezentace jsem narazil na spoustu na první pohled skrytých problémů, jako například skutečnost, že verze knihovny Papervision3D 1.0 a 2.0 nejsou vzájemně kompatibilní, což jsem bohužel zjistil až v době, kdy jsem hlavní část projektu měl naprogramovanou ve staré verzi. Výslednou webovou prezentaci využívající 3D objekty se nakonec povedlo zprovoznit. 6.2 Doporučení ohledně dalšího pokračování práce Myslím si, že vytvořené uživatelské rozhraní je vcelku variabilní a použitelné. Pokud bude potřeba přidat další položku menu, stačí pouze definovat další objekt a přidat ho do skupiny s ostatními. V budoucnu by se tak mohla dodělat například klientská část aplikace, kde by uživatelé mohli najít soubory technické dokumentace k uskutečněným instalacím a podobně. 28

Kapitola 7 Seznam použité literatury 8.1 Knižní zdroje: 1. Žára, Jiří. 1999. VRML 97 Laskavý průvodce virtuálními světy. Brno: Computer Press, 1999. 80-7226-143-6 2. Adobe Creative Team. 2009. Adobe Flash CS4 Professional Oficiální výukový kurz. Brno: Computer Press 2009. 978-80-251-2334-8 3. Adobe Creative Team. 2011. Adobe ActionScript3.0 Oficiální výukový kurz. Brno: Computer Press 2011. 978-80-251-3335-4 29

Kapitola 8 Přílohy Přiložené CD je rozděleno dle následujícího schématu. Složky obsahují veškerý zdrojový kód, textury a modely. Text bakalářské práce je uložen v kořenovém adresáři CD. Výsledná aplikace se spouští souborem index.html ze složky Aplikace. 8.1 Obsah přiloženého CD 30