Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta
Efektivní metody kompilace statických snímků do souborů s animací Bakalářská práce
Vedoucí práce: Ing. Mgr. Jana Andrýsková, Ph. D.
Alena Havránková
Brno 2007
Prohlašuji, že jsem bakalářskou práci vypracovala samostatně s použitím literatury a zdrojů uvedených v seznamu.
V Brně dne 21. května 2007
....................................................
Za cenné rady a připomínky při vypracování této bakalářské práce děkuji paní Ing. Mgr. Janě Andrýskové, Ph. D.
4
Abstract Havránková A. Effective compilatory methods of static images to animation files. Bachelor thesis. Brno, 2007 This bachelor thesis presents options of animation in Rhinoceros and plug-in Flamingo. The document analysis VirtualDub which is tool for compilation static images to files with animation and interprets suitable working processes and methods of animation in this tool.
Abstrakt Havránková A. Efektivní metody kompilace statických snímků do souborů s animací. Bakalářská práce. Brno 2007 Tato bakalářská práce vykládá možnosti animace v programu Rhinoceros za pomoci pluginu Flamingo. Dokument analyzuje nástroj VirtualDub pro kompilaci statických snímků do souborů s animací a popisuje vhodné pracovní postupy a metody animace v tomto nástroji.
5
OBSAH
Obsah 1 Úvod a cíl práce 1.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Cíl práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Teoretická východiska 2.1 Počítačová animace . . . . . . . . . . . . . 2.2 Formáty statických snímků . . . . . . . . 2.3 Kódování obrazu . . . . . . . . . . . . . . 2.4 Analýza nástrojů pro kompilaci statických 2.5 Proč ukládat video do formátu AVI? . . . 2.6 Komprimace videa . . . . . . . . . . . . . 2.7 Kompresní kodeky . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . snímků do souborů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Návrh postupů animace v programu Rhinoceros za mingo 3.1 Animace otočného stolu o 360 stupňů . . . . . . . . 3.2 Animace po trase . . . . . . . . . . . . . . . . . . . . 3.3 Animace průletu . . . . . . . . . . . . . . . . . . . . 3.4 Jednodenní sluneční studie . . . . . . . . . . . . . . 3.5 Sluneční studie v ročním období . . . . . . . . . . . 3.6 Metody zachycení snímků . . . . . . . . . . . . . . .
. . . s . . .
. . . . . . . . . . . . . . . animací . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
6 6 6 7 7 8 9 9 10 11 15
použití pluginu Fla. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
4 Návrh pracovních postupů při kompilaci statických snímků v programu VirtualDub 4.1 Popis pracovního prostředí . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Načtení snímků . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Manipulace se snímky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Pohyb mezi jednotlivými snímky . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Nastavení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Připojení zvuku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7 Možnosti (Options) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8 Soubor (File) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.9 Tvorba videokurzu pro navržené pracovní postupy . . . . . . . . . . . . . .
18 19 20 20 21 21 22
24 24 25 25 25 26 28 29 29 30
5 Závěr 31 5.1 Vlastní zhodnocení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.2 Přínos pro praxi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 Literatura
33
Přílohy
34
1
ÚVOD A CÍL PRÁCE
1 1.1
6
Úvod a cíl práce Úvod
V dnešním počítačovém světě není snad nikoho, kdo by nevěděl co se skrývá pod pojmem animace, 3D grafika. 3D modelování využívá mnoho firem. Třeba ve stavebnictví takový stavební architekt. Zadají mu vypracovat návrh budovy. A co udělá architekt? Nejprve návrh narýsuje a poté pro názornou ukázku jak bude stavba vypadat vytvoří sám anebo s něčí pomocí 3D model v počítači. Tento model poté prezentuje. Zadavatelé tak mohou celou budovu včetně veškerého zařízení projít ještě před samotným zahájením stavebních prací a případně se domluvit na nějakých změnách. Je to velmi výhodné pro obě strany, protože zadavatel přesně ví jak bude dům vypadat a stavební architekt má jistotu, že se jeho práce líbí a může se začít stavět. 3D modelování je nástroj prostřednictvím něhož můžeme přiblížit skutečnost. Je skvělé moci si prohlédnout něco co ještě ve skutečnosti neexistuje. Avšak jak svou práci prezentovat daným lidem? Model by šlo prezentovat v podobě vyrendrovaných snímků. Jedná se však o návrat k 2D grafice. 2D grafika je dobrá, ale proč se spokojit s dobrým, když můžeme mít ještě lepší? Proč se spokojit s dobrým, když můžeme mít skvělé? Dnešní doba si žádá stále nové a lepší věci. Pokud chceme jít s dobou, musíme dát lidem něco nového, něco lepšího, něco z čeho budou přímo nadšení. Vytvoříme animaci vymodelované scény. Prezentace animací bude určitě zajímavější, ale i působivější. Jestliže tedy bude stavební architekt prezentovat svoji práci jako animaci (například průlet kompletně vybavenou stavbou), může tak způsobit, že zákazník bude jeho prací přímo ohromen. Počítačová animace se nachází někde mezi nepohyblivým světem stálých obrázků a světem obrázků pohybujících se v reálném čase. Soubor s animací uchovává data stovek nebo i tisíců animovaných snímků. Každý obrázek vlastně představuje pohled na animovaný předmět z mírně odlišné perspektivy.
1.2
Cíl práce
Cílem práce je navrhnout a popsat pracovní postupy, navrhnout efektivní metody při kompilaci statických snímků do souborů s animací a vytvořit videokurz navržených pracovních postupů určených pro výuku studentů na PEF MZLU v Brně. Aby bylo možné těchto cílů dosáhnout, tak bylo nutné seznámit se s možnostmi animace v programu Rhinoceros za použití pluginu Flamingo, analyzovat nástroje pro kompilaci statických snímků do souborů s animací a seznámit se s nástrojem pro tvorbu videokurzu.
2
TEORETICKÁ VÝCHODISKA
2 2.1
7
Teoretická východiska Počítačová animace
Při trojrozměrné počítačové animaci je snímána vymodelovaná scéna kamerou v diskrétních časových krocích. Můžeme tak simulovat fyzikální jevy, jako je detekce kolizí, větru aj. V počítačové animaci stačí nastavit počáteční podmínky a spustit simulaci, čímž získáme realistickou animaci. Počítačová animace neposkytuje jednotný popis všech forem pohybu, tudíž existuje mnoho algoritmů řešících dílčí úlohy animace po svém. Existují nízkoúrovňová a vysokoúrovňová počítačová animace. Nízkoúrovňová se zabývá reprezentací pohybu objektu po spojité dráze, jeho rychlostí, orientací, směrem atd. Vysokoúrovňová používá pojmy jako je kolize, »jde po«, »kouká na«, »jede směrem«, apod., které lze poskládat z nízkoúrovňových operací. (Žára, 2005) Rozdělení operací na vyšší a nižší umožňuje vytvářet knihovny pohybů sloužící jako stavební kameny vyšší úrovně animace (např. knihovna gest, kolizí). Nízkoúrovňová počítačová animace Důležitou úlohu v nízkoúrovňové počítačové animaci hraje pojem klíčování (keyframing). Animátor zadá klíčové pozice a program automaticky generuje mezipolohy. Výsledkem je popis scény sloužící jako vstup nějakého renderu. Aplikace pro editaci animace (videa) používají pojem klíčové snímky (keyframes), které jsou uloženy v plném rozsahu. Snímky následující (delta snímky) jsou popsány pomocí rozdílů v obraze. Pokud se posunujeme o snímek zpět, musí se propočítat všechny delta snímky od nejbližšího klíčového snímku zpět. Jestliže je každý snímek klíčový (sekvence statických snímků), posun zpět v obraze je stejně rychlý jako posun dopředu. Tudíž je mnohem rychlejší posun po klíčových snímcích. Animační křivky se používají především pro definici dráhy a orientace objektů. Pohyb se určí následujícím postupem: definujeme dráhu objektu, určíme změny rychlosti a určíme orientaci objektu. Polohu objektu v daném snímku získáme interpolací zadaných klíčových poloh a rychlost se určí pomocí parametrizace křivky, která těmito body prochází. Orientace objektu pohybujícího se po dráze dané křivkou, určíme z lokálního souřadnicového systému. (Žára, 2005) Vysokoúrovňová počítačová animace V této kapitole budeme hovořit o kinematice, jež studuje pohyb nezávisle na silách, které ho způsobují. Zabývá se tedy pouze polohou, rychlostí a zrychlením. Dynamika se naopak zabývá studiem vzájemného působení sil a objektů. V rámci vysokoúrovňové animace hovoříme o segmentové struktuře (articulated structure). Objekty se skládají z posloupnosti pevných částí, v jejichž spojení je možné s oběma segmenty otáčet. Na jednom konci bývá segmentová struktura pevně zakotvená. Otevřená segmentová struktura obsahuje druhý konec volný. Bod na volném konci se pak nazývá koncový efektor (end efector). Příkladem může být třeba lidská paže, kde koncovými efektory jsou prsty. V místě zakotvení lze strukturou taktéž otáčet.
2.2
Formáty statických snímků
8
Pro jednoznačné určení polohy tělesa v prostoru, potřebujeme k tomu určený souřadnicový systém a celkem šest čísel (tři hodnoty = souřadnice tělesa v prostoru, tři hodnoty = natočení tělesa vzhledem k souřadnicovým osám). Veličiny se nazývají stupně volnosti (DOF –Degree of freedom). Počet stupňů volnosti (dimenze stavového prostoru/délka stavového vektoru) závisí na tom, kolik ze stavových veličin lze při změně polohy tělesa měnit. Po přidání nového tělesa do systému se zvýší počet stupňů volnosti. Avšak při svazování těles pevnými linkami se počet stupňů volnosti bude snižovat. Všechny možné stavy, ve kterých může zvolená segmentová struktura být, tvoří stavový prostor této struktury. Okamžitý stav může být jednoznačně popsán tzv. stavovým vektorem (state vector). (Žára, 2005) Můžeme říci, že animace pohybu segmentové struktury odpovídá hledání cesty (postupnému procházení jednotlivých stavů) v jejím stavovém prostoru. Přímá kinematika a inverzní kinematika (dnes častěji používaná) se používají k určení polohy koncového efektoru a hodnoty stavového vektoru segmentové struktury (úhly natočení všech segmentů). Pro výpočet polohy koncového efektoru v přímé kinematice se postupně určí jednotlivé stavy stavového vektoru pro všechny segmenty struktury. Z hlediska implementace jsou algoritmy používající přímou kinematiku jednodušší. Avšak pro animátora je to často zdlouhavé. Pro interaktivní vytváření pohybu je výhodnější inverzní kinematika (cílem řízený pohyb). Inverzní kinematika používá opačný postup výpočtu parametrů jednotlivých spojů nežli přímá kinematika. Poloha koncového efektoru je známa a pomocí inverzní funkce určíme stavový vektor. Pro některé polohy koncového efektoru však inverzní funkce nemusí vůbec existovat. (Žára, 2005) Pro deformaci složitých objektů, které by bylo obtížné simulovat přesně, slouží skeletální animace (např. vizualizace pohybujícího se lidského těla). Tvar je reprezentován sítí trojúhelníků doplněnou o texturu. Nejjednodušší animační technika –animace vrcholů –pracuje přímo s vrcholy trojúhelníků a interpoluje jejich polohu. Každý klíčový snímek obsahuje údaje o poloze každého vrcholu. Výhodnější je však použít skeletální animaci využívající pomocnou strukturu zvanou kostra (strom s uzly odpovídajícími kloubům a hrany kostem), jež významně zjednodušuje úlohu animace deformovatelného objektu. Místo manipulace s potenciálně velkou skupinou vrcholů vystačíme s manipulací kostry. Základní skeletální animace přiřazuje každý vrchol sítě reprezentující pokožku právě jednomu kloubu.
2.2
Formáty statických snímků
U všech druhů animace v programu Rhinoceros máme pro snímky na výběr z formátů jpg, bmp, png, tga. Asi nejčastěji používaný je formát jpg (viz jpeg). JPEG –JPEG File Interchange Format Formát vyvinula skupina Joint Photographics Experts Group. Má kvalitní, ale složitou kompresi nastavitelnou uživatelem. Je nezávislý na typu obrazu, komprese ztrátová. Pozbývá možnosti více předloh v souboru. Použít se dá na ukládání fotografií a obrázků s velkou barevnou hloubkou, publikování na internetu. Nedoporučuje se pro kontrastní grafiku a nepodporuje animace.
2.3
Kódování obrazu
9
BMP –Microsoft Windows BitMap Formát byl vyvinut společností Microsoft jako standardní formát pro Win a DOS. Ukládán je ve formátu nezávislém na provozovaném zařízení. Je dobře definovaný a dokumentovaný, nekomprimovaný, nepodporuje možnost více předloh v souboru. Formát BMP je vhodný po snímky v maximální kvalitě, ovšem na úkor objemu. Nevhodný je pro obrázky s velkou pixelovou hloubkou a pestrostí. Barvy: mono, 4, 8, 24bitové. PNG –Potable Network Graphics Format Byl vyvinut jako mnohostranný grafický formát. Vznikl jako náhrada formát GIF, tudíž má i stejné možnosti jako GIF a navíc je rozšířen o barevnou hloubku až 48 bitů v TrueColor, až 16 bitů v odstínech šedi, podporuje definici barvy paletou i přímo, detekce poškození souboru, transformace před kompresí, rychlejší zobrazení prvního náhledu. PNG-8 má stejné užití jako GIF –2D grafika, písmo, . . . PNG–24 určen pro barevné fotografie, ilustrace. Formát je kvalitně navržený, dobře vypracovaný, komprese je bezztrátová, není možnost více předloh v souboru. Používá se pro přenos a ukládání obrazových dat po síti, textury pro 3D grafiku, grafika na webu, podporován řadou aplikací. Nepodporuje animace. Barvy: 1 až 48bitové. TGA –Targa Image File Vyvinula jej firma Truevision. Formát je dobře definovaný i dokumentovaný, rychlý, nekomprimován, nepodporuje možnost více předloh v souboru. Ukládají se do něj hlubokopixelové předlohy, kresby. Barvy: 8, 16, 24, 32 (RGBA) bitů / pixel.
2.3
Kódování obrazu
Existuje několik způsobů kódování obrazu. Nejčastější je RGB24, při kterém mají všechny tři barevné složky (červená, zelená a modrá) každá přidělen jeden byte, což je dohromady 3 × 8 = 24 bitů. Obdobně pro RGB15, RGB16, RGB32. Toto ale nejsou příliš místo spořící formáty, proto se používá kódování YUV (Yellow under Violet). Nepoužívá se už kódování pomocí červené, zelené a modré, ale obsahuje jasovou složku a dvě složky pro definici barvy (většinou jako rozdíl k jasu, nepoužívá se plných osm bitů). Těchto formátů existuje spousta a velikost jednoho bodu je u nich také různá, např. YUY2, UYVY (16 bitů), YUV12, BTYUV (12 bitů) nebo YUV9 (9 bitů).
2.4
Analýza nástrojů pro kompilaci statických snímků do souborů s animací
Adobe Premiere Aplikace umožňuje použití mnoha jednoduchých nástrojů, které, pokud se dobře zkombinují, mohu vytvořit zajímavé celky. Ovšem nevýhodou je, že pokud během exportu stiskneme třeba i v úplně jiné aplikaci, zatímco program bude pracovat na pozadí, klávesu Escape, dojde bez dalšího varování ke zrušení exportu. Avšak na některých počítačích Adobe Premiere velmi rád padá. Ani časté ukládání, jestliže není prováděno pod různými jmény, nepomůže. Po znovuspuštění programu již
2.5
Proč ukládat video do formátu AVI?
10
nebudeme moci projekt otevřený v době krachu znovu načíst. Doporučuje se proto časté ukládání pod různými jmény. (Hrabí, 2003) Adobe Premiere je licencován. Animation Shop Pro Je součástí programu Paint Shop Pro. Animation Shop Pro je licencovaný program, čímž je omezeno jeho volné použití. TMPGEnc Výkonný nástroj sloužící ke konverzi multimediálních video souborů. Video soubory komprimuje ve vysoké kvalitě a lze nastavit také parametry kvality komprese a celkové kvality obrazu. Jedná se o komerční software. Platypus Animator Platypus Animator 2.5 je 32-bitová shareware aplikace pro Windows 95, 98 a NT. Nechá vás importovat série obrázků, seřadit je, přidat zvuky, a vytvořit soubory AVI videa. Obrázky mohou být ve formátech BMP, DIB, GIF, TIF, TGA, RLE, PCX a JPG nebo vloženy ze schránky. VirtualDub Malý prográmek se spoustou užitečných funkcí např. snímání videa z obrazovky, konverze MPEG na AVI, změna komprese zvuku a videa, editace videa, automatická konverze v přednastaveném čase (např. když spíte). Podporuje práci se soubory delšími než 2 GB. Výběr nástroje V první řadě je důležité porovnání funkcí daných aplikací. Dále je potřeba zjistit, jak moc kvalitní komprimované soubory s animací dokážou vytvořit. V neposlední řadě při výběru zohledníme i dostupnost. Adobe Premiere, Animation Shop Pro, TMPGEnc jsou licencované aplikace, což znamená, že jsou legálně dostupné jen pro skupinu lidí, kteří si je mohou koupit. Máme sice k dispozici Trial verze, ovšem za cenu omezení některých funkcí nebo doby použitelnosti. Jako nejpřehlednější, s jednoduchým ovládáním a kvalitní kompresí se jeví VirturalDub. Také ve světě je velmi oblíbený.
2.5
Proč ukládat video do formátu AVI?
Soubory AVI (Audio Video Interleaved) se staly standardem digitálního videa již od počátku prezentace videa na počítačích. Soubor může být vytvořen v různém kódovacím systému (kodeku). AVI je nejrozšířenější formát: • dokáže s ním pracovat téměř každý program, • umožňuje použít kompresi, lze zvolit různé komprese (různé kodeky), • libovolná velikost obrazu,
2.6
Komprimace videa
11
• zvuk může být také komprimován. Existuje několik specifikací, která mají různá omezení: • AVI 1.0 –umožňuje nahrávat pouze do velikosti 1 GB, již se nepoužívá. • AVI 1.1 –rozšířeno nahrávání do velikosti 2 GB, což je také limit velikosti souboru ve FAT16, používá se stále ve Windows 95/98, některé programy řeší překonání této bariéry pomocí nahrávání do více souborů. • AVI 2.0 –označuje se také OpenDML, má neomezenou velikost souboru, ale FAT32 omezuje maximální velikost na 4 GB, na NTFS je neomezeno (velikost disku).
2.6
Komprimace videa
Ztrátová metoda komprese Speciální algoritmus zmenšuje objem dat na zlomek původní velikosti, čímž se některé méně důležité informace ztrácejí a z vytvořených dat je již nelze zpětně získat. Nejčastěji se používá pro ukládání obrazových a zvukových záznamů. Kompresní poměry jsou od 7:1 až do 30:1. I přes ztrátu některých informací, je tento způsob ukládání dat často velmi výhodný. Ztráta totiž umožňuje výrazné zmenšení komprimovaných dat. Většinou tak určitou (malou) ztrátu kvality vyváží výrazná úspora místa. Díky kompresi se na DVD vejde celovečerní film, včetně mnoha zvukových doprovodů. S takto komprimovanými daty se pak lépe manipuluje. Ztrátovou kompresi používá digitální televizní vysílání, filmová DVD, přenášení dat přes Internet a další datové sítě, ukládání do multimediálních přehrávačů. Nepoužitelná je v případě, kdy je potřeba uchovat přesnou kopii původních dat, např. text knihy, program. Po úvodním předzpracování se přeskupí či transformují data tak, aby bylo možno lehce oddělit důležité informace od nedůležitých. Nedůležité informace se potlačí více než důležité a výsledek se zkomprimuje některým z bezeztrátových kompresních algoritmů. Algoritmy ztrátových kompresí jsou následující: transformační komprese (DCT, wavelet), fraktálová komprese, interframe komprese. Transformační komprese Vychází z analýzy obsahu obrazu. Obraz se rozloží na složky podle prostorové frekvence, například použitím diskrétní kosinové transformace (DCT) nebo waveletové transformace. Dále se pak různě redukují, např. změnou bitové hloubky. Ovšem pouze do té míry, aby byl výsledek ještě přijatelný. Poskytuje o více než řád lepší kompresní poměr než bezztrátová komprese. (Krejčíř, 2006) Diskrétní kosinová transformace využívá při komprimaci obrázku popis formou sinusových funkcí. Je vyžadováno zpracování obrázku po malých čtvercových blocích, jejichž popisy jsou v komprimovaném souboru uloženy v pořadí rozkladu obrázku směrem shora dolů. Což může narušit vizuální věrnost do dekomprimaci. (Krejčíř, 2006) Tento problém částečně odstraňuje použití technologie Wavelet. Algoritmus založený na vlnkových transformacích pracuje s obrázkem jako s celkem. Na popisy jej převádí formou vlnových funkcí. Kvalitu dekomprimovaného souboru a kompresní poměr určuje počet průchodů převodu. Odstraňuje »čtverečkové přechody« a nabízí
2.6
Komprimace videa
12
flexibilnější zpracování datového toku v komprimovaném souboru. Wavelet komprese je momentálně nejlepší kompresní algoritmu obrazu používaný v praxi. (Krejčíř, 2006) Fraktálová komprese Komprese trvá mnohem déle než dekomprese, avšak poskytuje nejlepší kompresi obrazových dat. Založena je na poznatcích z teorie fraktálů, přičemž nejdůležitější vlastností fraktálů z hlediska komprese obrazu je soběpodobnost. Algoritmus fraktálové komprese vyhledává v obraze různé vzory, které se v něm různě transformovány opakují. Všechny transformace popisující další výskyty vzorů a nalezené vzory se zaznamenávají. Snahou je poskládat obraz z co nejmenšího množství vzorů. (Krejčíř, 2006) Interframe komprese U předchozích metod potřebujeme k dekompresi jednoho snímku znát komprimovaná data pouze pro daný snímek. Lze však využít toho, že následující snímky jsou podobné předchozím. Tudíž můžeme zakódovat pouze změnu mezi jednotlivými snímky a nemusíme kódovat celé snímky –metoda interframe (inter = mezi). Metoda je použita v takových kodecích jako je MPEG, DivX, Xvid apod. (Krejčíř, 2006) Nevýhodou je zdlouhavé hledání změn v obraze, což prodlužuje čas komprese (při dekompresi nutné dekomprimovat i několik předcházejících). Takto komprimovaný materiál není příliš vhodný pro střih. Bezztrátová metoda komprese Jedná se o algoritmy dovolující přesnou zpětnou rekonstrukci komprimovaných dat, narozdíl od ztrátové komprese. Využívá se všude, kde je důležité, aby byla originální data a data po dekompresi komprimovaného souboru totožná (např. komprese textů). Kompresní poměry jsou 2:1 nebo 4:1 vůči nekomprimovanému materiálu. Bezztrátovou kompresi používá například velmi populární ZIP, RAR (omezení na platformu Microsoft Windows), gzip a bzip2 (nepatentované –Opensource), LZMA (užíván programem 7-Zip). Algoritmy bezztrátové komprese Nejčastěji používané jsou: Proudové kódování (RLE –Run Length Encoding), Huffmanovo kódování (entropické –neadaptivní slovníková komprese), Lempel-Ziv-Welchova metoda (adaptivní slovníková komprese). Proudové kódování (Run Length Encoding) –RLE Kódování RLE je vhodné pro kompresi jakýchkoliv dat nezávisle na jejich informačním obsahu. I přes to, že nedosahuje tak velkých kompresních poměrů, má snadnou instalaci a rychlost. Je tak velmi dobrou alternativou ke složitým kompresním algoritmům a také k nekomprimovaným datům. RLE pracuje na principu redukce opakovaných řetězců znaků. Tento opakovaný řetězec se nazývá proud a je obvykle zakódován do dvou bytů. První byte představuje počet stejných znaků a nazývá se proudové číslo. V praxi může zakódovaný proud obsahovat 1 –128 nebo 1 –256 znaků, které mohou být uloženy v proudovém čísle jako počet znaků minus jedna (rozsah 0 –127 nebo 0 –255). Druhý byte je hodnota znaku v proudu, která může mít hodnotu 0 –255 a nazývá se proudová hodnota.
2.6
Komprimace videa
13
Příklad: nekomprimovaná podoba: AAAAAAAAAAAAAAA po RLE kódování: 15A Kde 15A je RLE paket, 15 je proudové číslo, A je proudová hodnota. Nový dvoubytový RLE paket je vytvořen po každé změně proudového znaku. V určitých typech dat se však dlouhé proudy vyskytují velmi zřídka. (Murray, 1997) RLE schémata jsou jednoduchá a rychlá, avšak jejich kompresní účinnost závisí do značné míry na typu dat. Díky barevnosti jednotlivých snímků animace se bude vyskytovat pouze pár proudů stejné barvy (není moc účinné kódování vzhledem k povaze dat). Varianty proudového kódování Tento druh kódování má několik variant. Obvykle jsou data předlohy kódována sekvenčním přístupem (bere data jako jednorozměrný proud). Jiná RLE schémata však také kódují data shora dolů podél sloupců (podél souřadnice Y), kódují data do dvourozměrných dlaždic (4 × 4 pixely) nebo systémem cikcak po diagonále (používá se jen ve speciálních aplikacích, ale i tak jsou málo rozšířené). Další variantou RLE je ztrátový proudový algoritmus (normálně jsou algoritmy RLE neztrátové). Kompresní poměr bez újmy na vzhledu i velmi složité předlohy podstatně zvyšuje odstraňování většinou nul a nejméně významných bitů každého pixelu. (Murray, 1997) V průběhu kódování dat se do kódovaných dat umisťuje značka konce řádku, což slouží dekódovací aplikaci k určení, kde je konec řádku. Jedná se většinou o paket, jenž není možné zaměnit s jiným datovým paketem (většinou délku 1 bytu –velikostně se neshodují s kódovanými daty). Některé RLE schémata používají jiné typy kódování paketů kvůli vyšší kompresní účinnosti. Jedním z nejlepších je paket s opakovanými vzorkovými řádky, který je rovněž znám jako vertikální replikační paket. Tento paket neobsahuje žádná skutečná data vzorkovacích řádků. Namísto toho pouze vyjadřuje, zda se opakuje předešlý řádek. (Murray, 1997) Příklad: Máme předlohu, kde každý řádek je široký 640 bytů a všechny pixely řádku mají stejnou barvu. Po proudovém zakódování je celková velikost 10 bytů (za předpokladu, že do paketu může být zakódováno 128 bytů a výsledný paket je o velikosti 2 bytů). Předpokládejme, že v prvních 100 řádcích předlohy mají všechny stejnou barvu. Proudově zakódovaných dat tak při 10 bytech na 1 řádek bude výsledkem 1000 bytů. Pokud však použijeme vertikální replikační paket o velikosti pouze 1 byte, proudově zakódujeme pouze první řádek (10 bytů), za kterým by následovalo 99 vertikálních replikačních paketů (99 bytů). Výsledná proudově zakódovaná data budou mít velikost pouhých 109 bytů. Ovšem definice vertikálních replikačních paketů jsou aplikačně závislé. Lempel-Ziv-Welchova (LZW) komprese Jedná se o všeobecný kompresní algoritmus schopný zpracovávat téměř jakýkoliv typ dat. Je rychlý v kompresi i dekompresi. LZW komprimuje data do bytů a ne do slov, a proto může být kódovaný výstup jak v systému velký endián, tak v systému malý endián. Je považován za substituční algoritmus nebo také algoritmus založený na slovníkovém kódování. Algoritmus buduje datový slovník (nebo překládací tabulku nebo řetězcovou ta-
2.6
Komprimace videa
14
bulku) dat, vyskytujících se v nekomprimovaném toku dat. Datové vzorky (podřetězce) jsou definovány jako toky dat a shodují se se vstupy do slovníku. (Murray, 1997) Jestliže podřetězec ve slovníku ještě není obsažen, je podle obsahu informace vytvořena kódová fráze a uložena do slovníku. Fráze je poté zapsána do komprimovaného výstupního toku. Jelikož hodnota fráze má fyzickou velikost menší než původní podřetězec, je dosaženo datové komprese. Dekódování LZW dat je proces opačný k procesu kódování. Dekompresor čte kód z dekódovaného datového toku a poté přidává kód do datového slovníku (pokud tam už není). Kód je poté přeložen do řetězce, který reprezentuje, a ten je zapsán do výstupního toku dat. (Murray, 1997) Pro dekódování není třeba uchovávat daný datový slovník, což umožní šetřit paměťovým místem. Odstranění šumu a odlišování LZW pracuje velmi dobře s daty komprimované předlohy, která obsahuje různé hloubky pixelů. 1bitové, 8bitové a 14bitové předlohy jsou komprimovány stejně dobře, jako při použití RLE kódovacích schémat. Předlohy plné šumu mohou významně degradovat úroveň LZW komprese. (Murray, 1997) Doporučuje se odstranit šum z předlohy (zpravidla vynulováním dvou nejméně významových bitových ploch předlohy), což může výrazně zvýšit účinnost komprese. Metoda používaná pro vytvoření lépe komprimovatelných dat je metoda odlišování, jež také pracuje na odstraňování nepatřičných dat z předlohy. Odlišování se většinou používá pro horizontální plochy a přes všechny vzorkovací řádky. (Murray, 1997) Varianty LZW algoritmu Některé varianty LZW algoritmu zvyšují v některých aplikacích podstatně jeho efektivnost. Jedna taková běžná varianta používá indexové ukazatele, které se od sebe liší svou délkou, obvykle 9 –13 bitů. Pokud se použil indexový ukazatel příslušné délky, je kvůli zvýšení přesnosti přidán další bit. (Murray, 1997) Na účinnost a rychlost má velký dopad, jak odstraňovat data ze slovníku a jak procházet daty ve slovníku během kódování. CCITT (Huffmanovo kódování) Jedná se o datovou kompresi běžně nazývanou CCITT kódování (International Telegraph and Telephone Consultative Commitee). Huffmanovo kódování je jednoduchý kompresní algoritmus uveřejněný Davidem Huffmanem v roce 1952. (Murray, 1997) CCITT definuje tři algoritmy, používající se pro kódování dvourozměrných dat předloh: Group 3 Jednoúrovňové (G31D), Group 3 Dvourozměrné (G32D), Group 4 Dvrourozměrné (G42D). Přičemž Group 3 jednoúrovňové kódování je variantou Huffmanova kódovacího schématu. Kodér Group 3 určuje délku pixelového proudu ve vzorkovém řádku. Jeho výstupem jsou slova v binárním kódu o různé délce, která představují délku a barvu proudu. Protože výstup kódových slov je mnohem kratší než vstup, je dosaženo komprese pixelových dat. (Murray, 1997)
2.7
Kompresní kodeky
15
Kódová slova délky proudu jsou brána z předdefinované tabulky hodnot. Délky proudů vyskytujících se častěji, budou zakódovány kratšími kódovými slovy a naopak délkám proudů nevyskytujícím se tak často, budou přiřazena slova delší. Proudové délky jsou reprezentovány vytvářecími a ukončovacími kódovými slovy. Kódovaný pixelový proud je vytvořen z žádného nebo několika vytvářecích kódových slov a z jednoho ukončovacího kódového slova reprezentujících kratší proudy a vytvářecí kódy naopak proudy delší. Pixelové proudy s délkou 0 –63 jsou kódovány jediným ukončovacím kódem. Proudy o velikosti 64 –2623 jsou kódovány jedním vytvářecím a jedním ukončovacím kódem. Délka proudu je součet hodnot délek každého kódového slova. (Murray, 1997) Dekódování Group 3 používá stavovou tabulku umožňující kódovat data byte po bytu (bez stavové tabulky dekódování bit po bitu –zdlouhavé). Kódování Group 3 jednoúrovňové (G31D) kóduje každý řádek nezávisle na jiných řádcích. V průběhu kódování se bere v úvahu pouze jedna proudová délka. Data, která se objevila před nebo po každém proudu, nejsou pro daný kódovací krok důležitá –jsou důležitá pouze data v právě zpracovávaném proudu. (Murray, 1997)
2.7
Kompresní kodeky
Bezztrátová komprese videa Huffyuv Huffyuv (také HuffYUV) je velmi rychlý bezztrátový video kodek pro Windows. Je uvolněn pod licencí GPL. Komprimuje video ve formátu YUY2, RGB a RGBA. Algoritmus je podobný bezztrátové kompresi JPEG-LS –hodnota následujícího pixelu a chyba (rozdíl) je zakódována pomocí Huffmanova kódování. Huffyuv kodek má relativně vysokou rychlost. LCL –Loss-Less Codec Library LCL (dříve LRC) je bezztrátový video kodek pro Windows. Jedná se o freeware. Je vhodný pro digitální animace nebo 3DCG animace. Sice je pomalejší než Huffyuv, avšak je schopen soubor více zkomprimovat. Lagarith Jedná se o open source bezztrátový video kodek uvolněný pod licencí GPL. Rychlost kódování je porovnatelná s mnoha jinými bezztrátovými kodeky, dekódování může být pomalejší. Podporuje mnoho barevných modelů. Konverze mezi jednotlivými modely může způsobovat zaokrouhlovací chyby způsobující ztrátu dat (rozpor s ideální bezztrátovou kompresí). Lagarith se snaží tomuto problému vyhnout podporou barevných modelů YV12, YUY2, RGB a RGBA. Každý snímek je zakódován odděleně, čímž je v podstatě každý snímek klíčový, což ulehčuje střih, spojování a posouvání se ve videu. Kodek je k editaci videa vhodnější než kodek Huffyuv.
2.7
Kompresní kodeky
16
Ztrátová komprese videa MPEG - Motion Picture Experts Group MPEG využívá ztrátovou kompresi pomocí transformačních kodeků. Vychází z toho, že na sousedních snímcích záznamů se změní jen menší část informace, zatímco většina zůstává stejná, stačí tedy zaznamenat pouze tyto změny. Záznam se skládá ze základních obrazů typu I (Intra Pictures), jež nesou plnou obrazovou informaci a jsou komprimovány jen málo (ke kompresi či dekompresi nepotřebuje žádný další snímek), z více komprimovaných obrazů P (Predicted Pictures) kódovaných podle předchozích obrazů, a187; už jde o I nebo jiný P snímek a obrazů B (Bidirectional Pictures) s vysokým stupněm komprese a kódovaných podle předchozích i následujících snímků, a187; už I nebo P snímku. Do takto upraveného záznamu nelze vstupovat na libovolném místě, pouze v místě plných, tzn. I snímků. Proto se metoda na rozdíl od MJPEG hodícího se i pro počítačový střih a editaci, hodí pouze pro záznam. MPEG-1 umožňuje kompresi až 1:200, ovšem za cenu značných ztrát. Jedná se o systém komprese digitálního videozáznamu či animace v kvalitě blížící se videosystému VHS (především pro videosignál). Kódování videa pro digitální datové nosiče s rychlostí přenosu 0,9 až 1,5 Mb/s. Navržen byl pro práci s videem o rozlišení 352 × 288 bodů a 25 snímků/s. Nehodí se však pro střih videa (příliš vzdálené klíčové snímky). Přehrát jej lze téměř na každém počítači, nebo187; byl jeden z nejrozšířenějších formátů (dnes již zastaralý, i když nejkompatibilnější). Pro dobrou obrazovou kvalitu potřebuje mnohem více bitů než jiné kodeky. Standard kódování zvuku zahrnuje kompresní formát Layer 3 (MP3). MPEG-2 zahrnuje přenosové, obrazové a zvukové kódovací standardy pro vzduchem šířené televizní vysílání ATSC a DVB, digitální satelitní TV přenos, digitální kabelový TV signál a disky DVD Video. Přenosová rychlost je 1,5 Mb/s až 15 Mb/s (TV signál 6 Mb/s). Podporuje kompresi i prokládaných snímků (půlsnímků), proměnlivý datový tok (náročnější scény –více bitů pro kompresi, klidnější scény –méně bitů pro kompresi), avšak i konstantní datový tok. Při přehrávání hodně zatěžuje procesor. MPEG-3 původně pro kódování standardu HDTV (High Definition TV), později byl sloučen se standardem MPEG-2. MPEG-4 rozšiřuje MPEG-1 o podporu audio/video objektů, 3D obsahu, kódování s nízkou rychlostí přenosu. Nejde již o přesnou definici komprese a kompresních algoritmů. Jedná se o množinu parametrů a vlastností, jež musí kompresor splňovat, aby byl MPEG-4 kompatibilní. Způsoby komprese MPEG-4 využívají např. kodeky MPEG-4 v1, v2, v3, DivX, XviD. MJPEG –Motion JPEG Algoritmus komprimuje každé okno zvlášť (komprese JPEG), čímž je vlastně každý snímek klíčový. Vhodný je především pro diskové střihové systémy (nelineární videoeditace). MJPEG střihové systémy obsahují vlastní hardwarový kodek (tedy čip na desce), proto při používání není centrální procesor počítače příliš zatěžován. Výkonnost centrálního procesoru se projeví jedině, když začleníme do záběrů nějaký digitální efekt, např. titulek. Efekty vytváří procesor počítače. Výhodou MJPEG střihových karet je proměnlivé nastavení stupně komprese podle požadované obrazové kvality zpracovávaného videa a dle volného místa na disku. Kompresní poměr tohoto kodeku je 6:1 až 16:1. Při kompresním
2.7
Kompresní kodeky
17
poměru 1:8 je obraz ještě velmi kvalitní. Nevýhodou je vysoké zatížení CPU a velký datový tok. Softwarový kodek komprimující video kodekem MJPEG je například PICVideo MJPEG Codec. DivX DivX 3.11a Alpha je multiplatformní video kodek, který vznikl z kodeku MPEG-4 v3. Má velice dobrý kompresní poměr. Za cenu relativně nepatrného snížení kvality je možné uložit klasický DVD video film na jedno CD. MPEG-4 není standardní formát, a tudíž jej nelze přehrávat na šech stolních přehrávačích. Jediný systém, kde jej lze použít je OS Windows. Vzhledem k uložení ve formátu AVI, nelze počítat s dokonalým prostorovým zvukem. DivX 3.11a Aplha je nelegální kodek, který byl již překonaný, není tudíž důvod jej používat. Díky tomu, že je od verze DivX 5 kompatibilní s MPEG-4, nabízí vysokou kvalitu obrazu při nízkém datovém toku. Podporuje barevné formáty YUV a RGB. Nabízí pokročilé kompresní techniky. V posledních verzích má však plná verze placenou licenci. XviD Několik programátorů pracujících na OpenDivXu vzalo zdrojové kódy ještě otevřeného OpenDivXu a osamostatnili je. Opět se jedná o kodek kompatibilní s MPEG-4 (implementace mnoha jeho vlastností). Díky tomu, že je to Open-Source, podílí se na vývoji programátoři z celého světa a kvalitou tak převyšuje dokonce i DivX. Kodek je volně použitelný bez omezení. Indeo Video Kodek vyvinutý společností Intel má docela dobrou kvalitu obrazu. Každý snímek lze nastavit jako klíčový, což při nastavení 100 % kvality je výsledný obraz stejně kvalitní jako nekomprimovaný. Microsft poskytuje Indeo kodeky jako součást operačního systému Windows XP.
3
NÁVRH POSTUPŮ ANIMACE V PROGRAMU RHINOCEROS ZA POUŽITÍ PLUGINU FLAMINGO
3
18
Návrh postupů animace v programu Rhinoceros za použití pluginu Flamingo
Animaci v programu Rhinoceros vytvoříme pomocí pluginu Flamingo. Nejprve je potřeba Flamingo zapnout, pokud jste tak již neučinili. V roletě Render vybereme položku Aktuální rendrovací modul, kde klikneme na Flamingo Raytrace. V případě, že by se zde tento název nevyskytoval není Flamingo nainstalované. Provedeme tedy tuto operaci nyní. (Plugin vyžaduje samostatnou instalaci, základní instalace Rhina jej neobsahuje.) Po tom, co provedeme instalaci a nastavíme Flamingo Raytrace, jsou nám nabízeny následující možnosti animace: • • • • •
Animace otočného stolu o 360 stupňů, Animace po trase, Animace průletu, Jednodenní sluneční studie, Sluneční studie v ročním období.
Při tvorbě animace nelze pohybovat objekty. Objekty jsou v rámci animace v aplikaci Rhinoceros statické. Lze však nastavit pohyb kamery. Před spuštěním programu Rhinoceros je nutné nejprve ve složce s ovládacími panely nastavit v Místním a jazykovém nastavení jako jazyk angličtinu. Jinak nám animace průletu a sluneční studie nepůjdou vytvořit. Pokud bychom na to zapomněli, při záznamu animace nám na obrazovku vyskočí dialogové okno s popisem chyby. Zobrazení panelu nástrojů Animace najdeme v roletě Nástroje pod položkou Rozvržení nástrojových palet (viz Obrázek 1).
Obrázek 1: Zobrazení panelu nástrojů Animace
Všechny typy animací vytvářejí rendrováním statické snímky, které je poté nutné pomocí dalšího programu převést na soubor s animací tak, že se vytvoří dojem plynulého pohybu. V tomto dokumentu je popsána práce s aplikací VirtualDub, jenž nám ze snímků vytvoří komprimovaný či nekomprimovaný avi soubor (podle nastavení).
3.1
Animace otočného stolu o 360 stupňů
19
Panel nástrojů Animace obsahuje tři tlačítka. Pod prvním tlačítkem se skrývá nastavení animace. Jsou zde obsaženy všechny druhy. Jako první je uvedena animace otočného stolu o 360 stupňů následovaná animací po trase, animace průletu a pod posledním tlačítkem se nacházejí dvě volby –jednoduchá sluneční studie a sluneční studie v ročním období (viz Obrázek 3). Pod další volbou najdeme náhled animace (viz Obrázek 2), kde je několik dalších tlačítek. Jednotlivá tlačítka v pořadí jak je vidíme na obrázku 4 obsahují funkce: Přehrát animaci, Zobrazit první snímek, Zobrazit předchozí snímek, Zobrazit číslo snímku, Zobrazit další snímek, Zobrazit poslední snímek. Posledním tlačítkem na panelu nástrojů Animace (viz Obrázek 2) spustíme záznam animace. U této volby nastavujeme složku, do níž budou jednotlivé snímky uloženy (Output folder for animation frames). Veškeré volby (tlačítka, nastavení), o kterých se budeme dále bavit najdeme na panelu nástrojů Animace.
3.1
Animace otočného stolu o 360 stupňů
Kamera snímající objekt se nachází na jednom místě (je statická). Pod daným objektem jako kdyby se nacházel otočný stůl, který se pohybuje buď ve směru hodinových ručiček nebo proti směru hodinových ručiček podle nastavení. Zobrazit kameru můžeme tak, že si vybereme jeden z pohledů, nad jehož názvem pomocí pravého tlačítka vyvoláme nabídku, ve které vybereme možnost Zobrazit kameru. Spustíme nastavení animace. Určíme počet snímků (Number of frames) tvořících výslednou animaci. Dále si můžeme vybrat v jakém směru (Direction) se bude otočný stůl pohybovat. Jestliže chceme, aby se otáčel po směru hodinových ručiček napíšeme do řádku příkazů písmeno C a zmáčkneme Enter (Clockwise), v opačném případě napíšeme písmeno A (AntiClockwise). Následující dotaz se týká výstupního formátu (File Type), ve kterém se budou generovat jednotlivé snímky (více v kapitole Formáty snímků). Vybereme metodu zachycení snímků (více v kapitole Metody zachycení snímků). Posledními dvěmi položkami nastavíme, který pohled se bude rendrovat (Viewport name to render) a jméno animace (Animation sequence name). Jménem animace je myšleno jméno htm souboru, ve kterém si po jeho spuštění můžeme prohlédnout jak bude vypadat animace po kompilaci snímků do souboru s animací. Pokud nenastavíme žádné jméno, je soubor pojmenován automaticky jako animation.htm.
3.2
Animace po trase
20
Takto nastavenou animaci si můžeme prohlédnout ještě před samotným záznamem volbou Náhled animace –Přehrát animaci. V případě, že jsme spokojeni s náhledem, animaci zaznamenáme. Jestliže nastavíme jako pohled Perspektivu, potom je objekt zabírán pod takovým úhlem, jaký byl nastaven v tomto pohledu v okamžik nastavování animace.
3.2
Animace po trase
Animace po trase se provádí pomocí křivky a bodu. Kde křivka představuje pohyb. Křivku ve scéně můžeme po zobrazení řídících bodů ještě dále tvarovat (vpravo, vlevo, nahoru, dolů). Řídící body zobrazíme stisknutím klávesy F10 a jejich zobrazení zrušíme klávesou F11. Bod reprezentuje pevné stanoviště. Podle toho, jestli přiřadíme kameře a cíli křivku nebo bod, existují tři možnosti animace po trase: • pohyb kamery (křivka), pevný cíl (bod), • pevná kamera (bod), pohyb cíle (křivka), • pohyb kamery (křivka), pohyb cíle (křivka). Pohyb cíle v Rhinu není možný. Tím, že pro cíl zadáme křivku, vznikne pouze dojem pohybu cíle. Ve skutečnosti však kamera jen sleduje křivku nastavenou pro cíl od jejího počátku až k jejímu konci a vzniká tak iluze, že se cíl pohybuje. Tímto postupem můžeme nahradit nepohyblivost cíle pohybem. První dotaz po spuštění animace je dotaz na výběr křivky nebo bodu pro cestu kamery (Select camera path curve or point), následuje dotaz na výběr křivky nebo bodu pro cíl (Select target path curve or point). Zadáme počet snímků (Number of frames) a jejich formát (File type), z nichž se pak poskládá animace (viz kapitola Formáty snímků). Vybereme metodu zachycení snímků (Frame capture method). Podrobnější popis najdeme v kapitole Metody zachycení snímků. Stanovíme pohled, ve kterém se budou snímky rendrovat (Viewport name to render). Optimální pohled pro rendrování je Perspektiva. Poslední dotaz se týká jména htm souboru animace, který však nebudeme potřebovat, tudíž není vůbec potřeba jej zadávat. Pokud se při nastavení animace u dotazu na křivku nebo bod pro kameru či cíl objeví v závorce věta: 8222;Press Enter to use previously used curve8220;, ptá se nás program jestli chceme použít křivku z předchozího nastavení. Ještě před samotným záznamem si můžeme nastavenou animaci prohlédnout volbou Náhled animace –Přehrát animaci. Po případných úpravách animaci zaznamenáme.
3.3
Animace průletu
Kamera scénou doslovně letí, odtud také název Animace průletu. Křivku, jejíž tvar kamera kopíruje, vytvoříme například pomocí nástroje Křivka zadávaná řídícími body. Můžeme ji dále jakkoliv upravovat a tvarovat po zobrazení řídících bodů (zobrazení řídích bodů –klávesa F10, zrušení zobrazení řídících bodů –klávesa F11). Všechno máme připravené, začneme tedy s nastavením animace. Označíme předem připravenou křivku, po níž poletí kamera (Select path curve for camera and target). Zvolíme počet (Number of frames) a formát snímků (File typ) výsledné animace (o formátu
3.4
Jednodenní sluneční studie
21
více v kapitole Formáty snímků). Určíme metodu zachycení snímků (Frame capture method). Více informací o této metodě v kapitole Metody zachycení snímků. Stanovíme pohled rendrování (Viewport name to render). Dotaz na pojmenování htm souboru nemusíme vyplňovat, protože jej nebudeme vůbec potřebovat. Nyní můžeme využít možnosti prohlédnout si nastavenou animaci volbou Náhled animace –Přehrát animaci, případně doladit ještě některé věci. Následuje záznam animace.
3.4
Jednodenní sluneční studie
Jednodenní sluneční studie nám ukazuje vymodelovanou scénu v rámci jednoho dne (jak patrno již z názvu), například od šesti hodin ráno do sedmi hodin večer. U této animace dokonce můžeme zadat konkrétní místo na Zemi pomocí údajů o zeměpisné šířce (Latitude of animation location) a zeměpisné délce (Longitude of animation location) vybraného místa. Zvolíme si nějaký den pro danou sluneční studii v podobě data, např. 16/08/2007. Zadáme v jakém čase studie začne (Start Time) a v jakém čase skončí (End Time). Oba časové údaje uvádíme ve formě hodina:minuta:sekunda, např. 11:20:44. Neuvádí se zde počet snímků animace, ale volí se počet minut mezi jednotlivými snímky (Minutes between frames). Sluneční osvětlení na prvním snímku odpovídá času zadanému pro začátek. Na každém dalším snímku potom osvětlení odpovídá času předchozího snímku navýšeného o zadané minuty mezi jednotlivými snímky. Můžeme také nastavit, jestli chceme ve studii použít denní světlo nebo ne (Use daylight savings time?). Jedná se o světlo, které odpovídá slunečnímu světlu v daném čase, pro který se snímek vytváří. Jestliže aplikujeme denní světlo, přiblížíme tak animaci více skutečnosti. Vybereme formát rendrovaných snímků (File type). Více si o tomto tématu řekneme v kapitole Formáty snímků. Určíme metodu zachycení snímků (Frame capture method). Zde máme pouze tři možnosti: Renderované, NáhledRenderu, RenderFull. Podrobnější informace o těchto metodách jsou v kapitole Metody zachycení snímků. Ještě zvolíme pohled, ve kterém se bude provádět rendrování (Viewport name to render). Poslední položku v nastavení –pojmenování htm souboru (Animation sequence name) –můžeme vynechat, protože htm soubor nebudeme k ničemu potřebovat. Nyní již můžeme přistoupit k samotnému záznamu. Tento druh animace si ovšem také můžeme nejprve prohlédnout volbou Náhled animace –Přehrát animaci na panelu nástrojů Animace.
3.5
Sluneční studie v ročním období
Animace může obsahovat sluneční studii v průběhu celého roku nebo třeba jen část roku, kterou si sami zvolíme. Volba Sluneční studie v ročním období se nachází pod stejným tlačítkem jako Jednodenní sluneční studie. K nastavení této studie se však dostaneme klepnutím pravého tlačítka myši. Je zde trochu jiné uspořádání položek nastavení než u jednodenní sluneční studie. Nejprve se zadá formát snímků (File type) –více v kapitole Formáty snímků. Vybereme metodu zachycení snímků (Frame capture method). Zde máme pouze tři možnosti: Renderované, NáhledRenderu a RenderFull (více v kapitole Metody zachycení snímků). Určíme
3.6
Metody zachycení snímků
22
náhled pro rendrování snímků (Viewport name to render). Jméno htm souboru (Animation sequence name) opět vynecháme, neboť jej k ničemu nebudeme potřebovat. Stejně jako u jednodenní studie i zde zadáme zeměpisnou polohu námi zvoleného místa –zeměpisná šířka (Latitude of animation location) a zeměpisná délka (Longitude of animation location). Místo údaje o hodinách zadáváme datum počátku období (Start date for animation) a datum konce období (End date for animation), pro které chceme animaci vytvořit. Datum uvádíme ve tvaru den/měsíc/rok, např. 16/08/2007. Určíme denní čas, ve kterém se budou snímky rendrovat (Time for animation) a počet dnů mezi jednotlivými snímky (Days between frames). Například chceme, aby snímky byly zachyceny v poledne každý čtvrtý den. Potom zadáme Time for animation 12:00:00 a Days between frames 4. Stanovíme zda má být při rendrování použito denního světla (Use daylight savings time?). Jedná se o světlo, které odpovídá slunečnímu světlu v daném čase, pro který se snímek vytváří. Nyní jsme již se všemi nastaveními hotovi a můžeme si je prohlédnout volbou Náhled animace –Přehrát animaci. Zbývá už jen spustit záznam animace.
3.6
Metody zachycení snímků
Rozhodnutí kterou metodu zachycení snímků použijeme záleží na tom, k čemu je daná animace určena. Například zdali má prezentovat vymodelovanou scénu (RenderFull) nebo jestli má třeba ukázat prostředí pro modelování v programu Rhinoceros (např. Wireframe). Wireframe –snímky zachycují přímo okno zvoleného pohledu, které vidíme při modelování v Rhinu a je zde zobrazen drátový model objektů (viz Obrázek 5). Stínované –rendrované snímky znázorňují prostředí používané při modelování včetně os, mřížky, názvu pohledu. Objekty jsou stínované (viz Obrázek 6). Poloprůhledné –na vytvořených snímcích jsou vymodelované objekty poloprůhledné a zároveň jsou zde i mřížky, osy a název pohledu (viz Obrázek 7). Xray –snímky vypadají obdobně jako u metody zachycení Stínované, ovšem s tím rozdílem, že je zároveň zobrazen i drátový model objektů (viz Obrázek 8). Renderované –jedná se o stejnou metodu zachycení jako Stínované. Zde je však navíc ještě nastavená barva objektů, případně tapeta či samolepka (viz Obrázek 9). NáhledRenderu –na snímcích (viz Obrázek 10) s touto metodou zachycení vidíme již skoro hotový rendr, ovšem dosud nevyhlazený. RenderFull –již z názvu je patrno, že jde o plný rendr snímku (vyhlazený NáhledRenderu). Tato metoda zachycení snímků je vhodná k prezentaci scény či objektu. (Viz Obrázek 11.)
3.6
Metody zachycení snímků
23
4
NÁVRH PRACOVNÍCH POSTUPŮ PŘI KOMPILACI STATICKÝCH SNÍMKŮ V PROGRAMU VIRTUAL-
24
DUB
4
Návrh pracovních postupů při kompilaci statických snímků v programu VirtualDub
Aplikace VirtualDub je analyzována jakožto nástroj pro kompilaci statických snímků do souborů s animací. Statické snímky jsme získali rendrováním v programu Rhinoceros. VirtualDub vytvořil Avery Lee. Domovská stránka je www.virtualdub.org. V aplikaci VirtualDub se pohybujeme v anglickém jazykovém prostředí. Funkční je pod operačními systémy: NT, Windows XP, Windows 2000, Windows 2003, Windows 98. Určen je především pro zpracování avi souborů, dokáže přečíst i MPEG-1 a umí pracovat se sekvencemi snímků. Vznikly mutace VirtualDubMod (možné otevření souborů MPEG-2 a zvuku Ogg Theora) a VirtualDub-MPEG2 (přidána podpora MPEG2). Program je volně dostupný (Free Software) a může být distribuován podle licence GNU General Public License. Software šířený pod licencí GPL je možné volně používat, modifikovat i šířit, ale za předpokladu, že tento software bude šířen bezplatně (případně za distribuční náklady) s možností získat bezplatně zdrojové kódy. Na produkty šířené pod GPL se nevztahuje žádná záruka. Licence je schválená sdružením OSI a plně odpovídá Debian Free Software Guidelines. Není potřeba nic instalovat, stačí rozbalit soubor a hned můžeme začít pracovat.
4.1
Popis pracovního prostředí
Dvě šedá okna symbolizují vstupní (vlevo) a výstupní (vpravo) video. Obě okna nezávisle na sobě můžeme zmenšit a změnit poměr stran. Lze je uspořádat i ve vertikálním směru (Options –Vertical display). Ve spodní části okna je osa rozdělená po snímcích. Pohyb po ní je možný použitím jezdce. Pod osou se zleva nachází tlačítko stop, přehrávání ve vstupním okně, přehrávání ve výstupním okně, na začátek animace, o snímek zpět, o snímek vpřed, na konec, na předchozí klíčový snímek, na další klíčový snímek. Šipky s červenozeleným obdélníčkem
4.2
Načtení snímků
25
posouvají na další scénu. To je většinou tam, kde byl ve videu proveden střih. Poslední dvě tlačítka plní funkci začátek výběru a konec výběru (označování snímků, které chceme vyjmout či kopírovat). Údaj Frame říká, na kolikátém snímku se nacházíme. Například: Frame 175 (0:15:05,123)[K] říká, že se nacházíme na snímku 175 (pozice jezdce) časově odpovídajícímu poloze 15 minut 5,123 sekund a že tento snímek je klíčový.
4.2
Načtení snímků
Prvním krokem je samozřejmě načtení vyrendrovaných snímků. Tuto základní operaci najdeme v roletě File pod položkou Open video file (Otevřít video soubor). Název je možná pro někoho trochu zavádějící, avšak skrývá se zde hned několik variant, jaký soubor otevřít. Kromě různých video formátů se zde vyskytuje možnost sekvence obrázků (Image sequence). Program podporuje pět typů: png, bmp, tga, jpg, jpeg. Všechny tyto typy dokáže Rhino vyprodukovat. Označíme první snímek sekvence a klepneme na tlačítko Otevřít. Názvem snímku je pořadové číslo, pod kterým byl vyrendrován. Musíme si dát dobrý pozor, abychom ve složce, do níž jsme je uložily, omylem náhodou některý snímek nesmazali. Pokud by šlo o snímek na začátku či na konci, nic by se nestalo, jen by chyběl v animaci. Ovšem pokud bychom smazali některý z prostředních, byla by sekvence přerušena a VirtualDub by načetl snímky pouze po toto místo. Zbylé snímky by chyběly.
4.3
Manipulace se snímky
Pro dodatečné úpravy jako je odstranění či přemístění snímků, máme nástroje přímo v programu. Najdeme je v roletě Edit. Existují dvě varianty. Buď snímky přímo smažeme volbou Delete, nebo je pouze vyjmeme do schránky (Paste) a můžeme je vložit kamkoliv jinam do animace (Cut). Pomocí schránky samozřejmě lze i kopírování (Copy). Při kopírování video zůstane i na původním místě. Jestliže jej někam vložíme, bude ve videu víckrát. Při vyjmutí video na původním místě nezůstane. Ještě před použitím těchto voleb musíme označit snímky, s nimiž chceme tímto způsobem manipulovat. K dispozici máme následující možnosti: začátek výběru (Set selection start), konec výběru (Set selection end), vybrat vše (Select all), zrušit výběr (Clear selection). Před smazáním snímků lze spustit animaci aniž by se promítly snímky ve výběru, funkcí maskovat vybrané snímky (Mask selected frames). Opětné zviditelnění se skrývá pod položkou Unmask selected frames. V roletě Edit se nachází ještě další tři možnosti: zpět (Undo), vpřed (Redo), vrátit veškeré úpravy (Revert all edits), přičemž při poslední volbě položí aplikace ještě kontrolní dotaz, zda opravdu chceme zrušit editace a po potvrzení vrátí video do původního stavu, s jakým jsme začínali.
4.4
Pohyb mezi jednotlivými snímky
V roletě Go se nachází nástroje sloužící k pohybu mezi jednotlivými snímky: skok na začátek (Beginning), skok na konec (End), předchozí snímek (Prev frame) –posun o jeden snímek zpět, následující snímek (Next frame) –posun o jeden snímek vpřed, předchozí klíčový snímek (Prev keyframe), následující klíčový snímek (Next keyframe), zpět o 50 snímků (Back 50 frames), vpřed o 50 snímků (Forward 50 frames), předchozí blok
4.5
Nastavení
26
(Prev range), následující blok (Next range), na začátek výběru (Selection start), na konec výběru (Selection end), skok na snímek. . . (Go To Frame. . .). Go To Frame umožňuje zadat buď číslo snímku, na který chceme skočit, nebo čas animace, do nějž se chceme přemístit. Počet klíčových snímků v souboru zjistíme v nabídce File –File information. U voleb Prev range a Next range jsou jako bloky označovány oblasti, do kterých nebylo zasahováno. Například celkem máme dvacet snímků, smažeme desátý snímek. Smazáním se nám původní oblast o dvaceti snímcích rozdělí na dva bloky. První blok je od prvního po devátý snímek, druhý blok začíná na desátém snímku (při smazání došlo k přečíslování všech snímků, takže původní jedenáctý je nyní desátý) a končí na devatenáctém. Blok se dá také označit jako scéna a jeho konec či začátek jako místo, kde proběhl střih.
4.5
Nastavení
Různá nastavení animace v sobě obsahuje roleta Video. Kontrolu rychlosti video snímků najdeme pod názvem Frame Rate. Běžnou již přednastavenou rychlostí je 29,97 snímků za sekundu. (Nejstarší technologie začínaly na 6 až 8 snímcích za sekundu, dnes je standardem 25fps nebo 29,97fps. Pro dosáhnutí iluze plynulého pohybu je třeba zobrazit alespoň 10 snímků za sekundu.) Pokud nám však tato rychlost nevyhovuje, změníme ji prostým zapsáním počtu snímků do daného políčka. V případě, že k videu přidáme ještě zvukový doprovod, může být změna rychlosti snímků důvodem desynchronizace zvuku a videa. Zvolíme zda požadujeme zpracování všech snímků, zpracování každého druhého snímku, zpracování každého třetího snímku nebo zapíšeme do příslušného pole každý kolikátý snímek má být zpracován. Barevnou hloubku (Color Depth) vybereme pro statické snímky a pro výstupní formát. Pro snímky je nejlepší ponechat automatický výběr. Výběr rozsahu videa ke zpracování se skrývá pod položkou Select Range. . . Kde zadáme od kolikátého snímku se má začít se zpracováním (Start offset), délka animace –počet snímků (Length), kolik snímků od konce se má vynechat (End offset). Program zde nabízí ještě další dvě možnosti: udržení synchronizace zvuku a videa, závěr zvuku v místě kde skončí video. Existuje několik variant zpracování: rychlá rekomprese (Fast recompress), normální rekomprese (Normal recompress), úplné zpracování (Full processing mode). U rychlé rekomprese nelze nastavit filtry a barevnou hloubku. Při normálním zpracování nelze využít filtry. Plné zpracování umožňuje použít veškerá nastavení a video je kompletně překódováno. Kopírovat vstupní snímek do schránky (Copy source frame to clipboard) a kopírovat výstupní snímek do schránky (Copy output frame to clipbord) funguje obdobně jako klávesa Print Screen. Z místa, kde se nacházíme na ose, vloží do schránky snímek vstupu (výstupu). Výběr zda chceme zobrazovat všechny chyby (Report all errors) nebo zda skrýt chyby a obnovit dekódování následujícího snímku (Conceal errors and resume decoding at next keyframe) nebo dekódovat, i když může být výsledek zkreslený (Decode even if the result may be garbled) najdeme pod položkou Error mode. V dialogovém okně komprese (Compression) zvolíme kodek. V seznamu jsou pouze kodeky nainstalované na daném počítači, protože VirtualDub sám o sobě žádný vlastní kodek neobsahuje. Posuvníkem určíme kvalitu. Můžeme stanovit rychlost cílových dat
4.5
Nastavení
27
(kilobyte za sekundu). U některých kompresí lze nastavit, zda půjde o kompresi barevnou nebo černobílou. Ve většině případů nastavujeme i šířku datového toku videa, frekvenci výskytu klíčových snímků. Lze vytvořit i nekomprimovaný soubor. Ovšem rozdíl ve velikosti takto komprimovaného a nekomprimovaného souboru je značný. Příklad: Ze dvaceti snímků o velikosti 535 × 308 pixelů. přičemž rychlost promítání snímků máme čtyři, vznikne nekomprimovaný avi soubor o velikosti 9,45 MB. Při stejné velikosti snímků a nastavení rychlosti, vznikne při komprimaci avi soubor o velikosti 768 kB. Nekomprimovaný soubor v tomto případě zaujímá dvanáctkrát více prostoru na disku než komprimovaný. Při nastavování komprese musíme zohlednit rozšířenost použitého kodeku a jeho dostupnost a především charakter video souboru. V případě rychlejších scén může dojít při malém datovém toku k rozmazávání scény a vytváření »čtverčků«. Datový tok (bit rate) je množství digitálních dat přenesených za určitou časovou jednotku. Počítá se většinou v Megabitech za sekundu (Mbit/s). Obecně lze říci, že čím vyšší hodnota, tím kvalitnější digitální video je. Variabilní tok (VBR) je způsob maximalizace kvality videa při snaze o co nejnižší množství přenesených dat. Pokud není potřeba pro popsání obrazu tolik bitů, nepřenesou se. Pokud je jich však potřeba více, přenáší se jich více. Tudíž je ve scénách s rychlými pohyby datový tok daleko vyšší, než ve scénách bez pohybu. Filtry Snad nejzajímavějším nastavením jsou filtry. Díky nim máme možnost nastavit různé efekty animace. Jednotlivé druhy filtrů lze i kombinovat. Aplikovány jsou v námi zadané posloupnosti, což může ovlivnit kvalitu videa. Existuje možnost implementace dalších filtrů do programu, které lze jednoduše najít na internetu (odkazy na stránce VirtualDubu). 2:1 reduction (high quality) - redukce, kdy výška obrazu se sníží na poloviční hodnotu (šířka je automaticky přizpůsobena) ve vysoké kvalitě; Tento filtr existuje i v podobě bez vysoké kvality - 2:1 reduction. blur - rozmazaný obraz. blur more - ještě více rozmazaný obraz. box blur - rozmazaný obraz, lze nastavit jak moc má být obraz rozmazaný. brightness/contrast - nastavení jasu (od černé až k bílé) a kontrastu (0 - 200 procent). deinterlace - používá se ke zrušení jevů vzniklých prokládáním obrazu, obsahuje v sobě několik voleb: blend fields together (best) - společný barevný přechod polí (nejlepší), duplicate field 1 - nakopíruje jedno políčko - v obraze jsou viditelné nerovnosti čar, duplicate field 2 - nakopíruje dvě políčka - v obraze jsou viditelné nerovnosti čar, discard field 1 - zruší jedno políčko - vytváří iluzi, že se obraz na výšku smrskne, discard field 2 - zruší dvě políčka - vytváří iluzi, že se obraz na výšku smrskne, unfold fields side-by-side - na obrazovce jsou dva snímky vedle sebe, vzhledem k původní velikosti je nyní obraz na výšku smrštěný,
4.6
Připojení zvuku
28
fold side-by-side fields together - jedná se o překrytí snímků, vzhledem k původní velikosti je nyní obraz na šířku smrštěný. emboss - otisk v šedém pozadí, intenzitu otisku lze nastavit; obraz výsledné animace vypadá jako plastický obraz šedé barvy. fill - výplň obrazovky barvou, kterou si vyberu; Vyplněná danou barvou může být celá obrazovka nebo jakákoliv obdélníková či čtvercová část obrazu, kterou nastavím. flip horizontally - zrcadlově otočený obraz. flip vertically - otočení obrazu vzhůru nohama, otočení o 180 stupňů. grayscale - černobílý obraz. HSV adjust - možnost nastavení tří hodnot: hue = odstín barvy, saturation = sytost barev, value = hodnota udává světlost či tmavost obrazu. invert - obrácené barvy. levels - k úpravě jasových složek, zvýšení či snížení kontrastu a přidání sytosti. logo - umístění obrázku s logem či jakýmkoliv textem do obrazu; Nabízí možnost volby zarovnání (Justification) a volbu průsvitnosti (Opacity). motion blur - rozmazaný pohyb snímků. perspective - obsahuje několik nastavitelných možností: změna velikosti obrazu, změna módu filtrování (Filtering mode) - Bilinear (vyhlazený obraz), Point sampling (nevyhlazený obraz), Trilinear (ještě lépe vyhlazený obraz), obraz lze jakkoliv zkosit pomocí obdélníku s pohyblivými rohovými body. resize - změna velikosti. rotate - otočení obrazu: vlevo o 90 stupňů, vpravo o 90 stupňů, kolem dokola o 180 stupňů. rotate2 - možnost otočení obrazu v libovolném úhlu, nastavení pozadí za snímky animace. sharpen - zaostření obrazu.
4.6
Připojení zvuku
Veškeré volby pro připojení a následné nastavení zvukového doprovodu se nachází v roletě Audio. Volba pro připojení zvukové nahrávky do animace se potom skrývá pod názvem WAV Audio. . . Jako zvuk lze nastavit pouze soubory ve formátu WAV. V případě, že máme písničku či jakýkoliv jiný zvuk v jiném formátu, lze WAV soubor získat konverzí například v programu Nero za použití nástroje Nero Wave Editor. Z důvodu přílišné velikosti výsledného souboru animace můžeme nastavit kompresi zvuku (Compression) - nejlépe MPEG Layer III. Stejně jako u videa i zde lze nastavit filtry.
4.7
4.7
Možnosti (Options)
29
Možnosti (Options)
Show log zobrazí dialogové okno s výpisem provedených operací. K výpisu se dostaneme i přes klávesu F8. Jako první je zaznamenáno spuštění programu. Další zápis se týká až operace uložení výsledného avi souboru a všech operací v této souvislosti provedených. Na Obrázku 17 vidíme jeden takový výpis, kdy jsme pouze otevřeli sekvenci snímků a uložili ji jako avi soubor. Program píše, že došlo k dekompresi vstupu tedy statických snímků a ke kompresi výstupu (avi souboru) ve stanovených formátech.
Z grafického znázornění Show real-time profiler vidíme v jakém čase je ten který snímek promítnut na obrazovku. Pod položkou Performance se skrývá nastavení ukládání avi výstupu do vyrovnávací paměti (počet bytů v jednom bufferu), ukládání zvukového vstupu do vyrovnávací paměti (počet bytů v jednom bufferu) a proudové zpracování dat (limit počtu bufferů). Preferences můžeme využít k nastavení barevné hloubky výstupu (defaultně nastaveno 16-bit nejrychlejší), povolení vyhlazení barevného přechodu, povolení všech dostupných optimalizací daného procesoru. Show status window zobrazí okno informující o výsledném videu při zpracování. Zbylé volby rolety slouží již jen k určení, co všechno chceme zobrazit. Jedná se o zobrazení vstupního videa (Display input video), zobrazení výstupního videa (Display output video), prohození zobrazení podokna vstupu a výstupu (implicitně je zobrazeno nejprve podokno vstupu a vpravo vedle něj podokno výstupu).
4.8
Soubor (File)
Po kompletním nastavení animace podle našich představ video uložíme (File - Save as AVI. . .). V roletě Soubor se vyskytuje plno dalších zajímavých funkcí jako je funkce pro připojení druhého souboru k souboru otevřenému (Append AVI segment) - spojení dvou video souborů, přehrát vstupní video (Preview input), přehrání výstupního videa včetně nastavených filtrů (Preview output from start), náhled filtru (Preview filtered), spuštění video analýzy pracovního postupu (Run video analysis pass), uložit ve starém formátu avi (Save old format AVI) - uloží video podle normy AVI 1.0, uložit část avi (Save segmented AVI) - uloží do avi souboru pouze označenou část, zavřít video soubor (Close video file) - VirtualDub zůstane spuštěný, informace o souboru (File information), zachytit do avi (Capture AVI) - umožňuje nahrát video z TV karty, tímto se zapíná speciální nahrávací
4.9
Tvorba videokurzu pro navržené pracovní postupy
30
mód, Job control - manažer prací, který dokáže spouštět procesy, aniž by někdo musel sedět u počítače. Informace o souboru (File information) lze zobrazit pouze pro otevřený video soubor, ne pro sekvenci snímků (velikost snímku, rychlost za sekundu, délka - počet snímků a čas, dekomprese, počet klíčových snímků, velikost klíčového snímku - minimální a maximální, velikost delta snímku - minimální a maximální, rychlost dat). Uvedené charakteristiky se zobrazí jak pro video, tak také pro audio. Informace o souboru jako například autor, archivační umístění, poznámky, komentáře, rozlišení v bodech na palec, klíčová slova můžeme zadat přímo z klávesnice (Set text information). Save WAV uloží zvuk použitý v animaci (část zvukového doprovodu synchronizovaná s videem). Nabízí se také možnost uložit nastavení zpracování (Save processing settings) nebo naopak načtení uloženého nastavení zpracování (Load processing settings). VirtualDub obsahuje ještě jednu velmi užitečnou funkci. Dokáže označenou část otevřeného video souboru uložit jako sekvenci snímků (výběr předpony, přípony, minimální počet cifer ve jménu, umístění získaných snímků, výstupní formát - bmp, targa a jpeg.
4.9
Tvorba videokurzu pro navržené pracovní postupy
Videokurz navržených pracovních postupů bude použit při výuce předmětu Animace a geoprostor na Provozně ekonomické fakultě Mendelovy zemědělské a lesnické univerzity v Brně. Vytvořen je v aplikaci Macromedia Captivate. Automaticky zaznamenává všechny činnosti prováděné na obrazovce ve vybraném programu a převádí je na simulace práce s programem. K nahrávce lze dále přidávat textové popisy či mluvený komentář. Jedná se o licencovaný program. Je však možné videokurzy vytvářet i ve volně přístupném programu Wink.
5
ZÁVĚR
5
31
Závěr
Animace 3D vymodelovaných scén se používá v mnoha oborech lidské činnosti. Hojně ji využívají v různých automobilových závodech. Vytvářejí tak hlavně prezentace nových modelů automobilů, návrhy automobilů, které se teprve budou vyrábět. V tomto dokumentu je popsáno několik druhů animací. Pro již zmiňované modely aut je vhodná animace po trase. Stejně tak lze tímto způsobem prezentovat modely lodí, letadel, motocyklů, formulí, výrobních strojů, ale i design obyčejnějších každodenně používaných věcí jako jsou vysavač, vrtačka, DVD projektor, mp3 přehrávač, mobil, nábytek nebo třeba šperky a plno dalších věcí. Neexistuje snad nic, co by nešlo tímto způsobem prezentovat. Animaci lze však použít i v oboru lékařství, např. model lidské kostry, který může sloužit jako učební pomůcka na lékařské fakultě. Animaci průletu můžeme aplikovat na interiéry bytů, domů, tovární komplexy, obchodní centra, kanceláře, náhled budoucích novostaveb včetně veškerého vnitřního vybavení. Velmi působivé a někdy až ohromující mohou být díky animaci virtuální prohlídky různých významných historických budov, hradů, zámků, divadel, ale třeba i restaurací. Proč nevyužít této možnosti a neprohlédnout si restauraci dřív než do ní vyrazíme? V tomto případě jde o velmi praktickou pomůcku, jak si vybrat tu nejlepší restauraci přímo pro nás, tzv. nám šitou na míru, aniž bychom se tam museli fyzicky vyskytovat. Animace zpracovaná za tímto účelem je vlastně reklamou. Jednodenní sluneční studie je důležitá pro stavební architekty. S její pomocí navrhnou jakým směrem má být dům natočený, aby v něm bylo příjemně. Studie architektovi řekne, ze které strany bude svítit slunce během dne, kolik půjde dovnitř domu světla a tepla. Sluneční studie v ročním období využijeme v oboru zahradnictví. Ať už se jedná o obyčejnou zahradu za domem, nějaký městský park či zámeckou zahradu, studie nám ukáže, kdy bude ten který strom, keř či květina kvést, jak bude vypadat během celého roku nebo vybraného ročního období. Animaci otočného stolu použijeme, jestliže potřebujeme prohlédnout nějakou věc (objekt) ze všech stran. Lze ji však vytvořit i pomocí animace po trase. Způsobů využití počítačové animace je mnoho, ať už jde o komerční či soukromé účely. Kdybychom však chtěli obsáhnout úplně všechny oblasti lidské činnosti, v nichž se používají, stejně bychom všechno neobsáhli. Každou chvíli totiž přijde někdo s něčím novým. Vývoj jde neúprosně kupředu a nedá se zastavit.
5.1
Vlastní zhodnocení
Část toho umění stvořit pěknou animaci spočívá také v tom, že správně nastavíme rendrování snímků. Například když do přírodní scény přidáme oblohu, sluneční osvětlení nebo při nastavování takové sluneční studie přidáme denní osvětlení, vytvoříme tak velmi působivé snímky. A když je pak ještě spojíme do animace, je to ještě působivější. Pro vymodelování scény a následné rendrování snímků této scény jsme použili aplikaci Rhinoceros, což je jeden z nejlepších 3D modelovacích nástrojů. Veškeré modely, jež byly použity pro tvorbu animací, jsou dílem autorky této práce. Při výběru nástroje pro kompilaci statických snímků do souborů s animací byla v první řadě zohledněna dostupnost programu. Hned poté však následovalo testování jeho funkcí.
5.2
Přínos pro praxi
32
Zda má vše, co je třeba k vytvoření kvalitního komprimovaného avi souboru, případně zda má nějaká další nastavení, která nám dopomohou k co nejlepšímu výsledku. Výběr byl následující: Adobe PRemiere, Animation Shop Pro, TMPGEnc, VirtualDub. Poté co jsme vyloučili z výběru licencované programy zůstaly nám TMPGEnc a VirtualDub. Dále při výběru hrála roli přehlednost, rychlá orientace v nástroji a poskytované funkce. Vítězem se stal VirtualDub. Někdo by sice mohl namítnout, že sám o sobě neobsahuje žádné kodeky ke kompresi videa a je tak závislý na instalaci kodeků daného počítače, ovšem ona to může být i velká výhoda. Člověk si tak může nainstalovat jakýkoliv kodek, pomocí něhož provede kompresi daných statických snímků do avi souboru. Aplikace se tak vlastně neomezuje jen na některé kodeky. VirtualDub slouží také k editaci již vzniklého video souboru. Zdá se tedy býti dosti kvalitním a zároveň velmi dobře dostupným nástrojem.
5.2
Přínos pro praxi
Práce je určena zejména studentům Mendelovy zemědělské a lesnické univerzity jako průvodce pracovními postupy při kompilaci statických snímků do souborů s animací a zároveň průvodce návrhem postupů animace v programu Rhinoceros za použití pluginu Flamingo. Analýza nástrojů pro tuto kompilaci studentům pomůže rozhodnout se jaký program použít, případně při výběru aplikace VirtualDub je naučí za použití tohoto nástroje zkompilovat statické snímky do souborů s animací. Vytvořený videokurz, přiložený na CD, se stane součástí e-learningové podpory výuky a bude integrován do univerzitního systému ELIS.
6
6
LITERATURA
33
Literatura
Hrabí, M.Základy práce s Adobe Premiere. Grafika Publishing, s. r. o., 2003. ISSN 12129569. Dostupné na http://www.grafika.cz/art/dv. Krejčíř, J.Analýza formátů a kodeků užívaných při zpracování digitálního videa. Brno: 2006. Murray, J. D. a kol.Encyklopedie grafických formátů. Praha: Computer Press 1997. ISBN 80-7226-033-2. Rybička, J.LATEXpro začátečníky. Brno: Konvoj, 2003. 238 s. ISBN 80-7302-049-1 Žára, J. a kol.Moderní počítačová grafika. Praha: Computer Press, 2005, 628 s. ISBN 80-251-0454-0.
Přílohy
A) Scéna vytvořená v progamu Rhinoceros za použití pluginu Flamingo, která posloužila pro vytváření animací.
B) Prostředí aplikace VirtualDub, kde vlevo se promítají vstupní snímky a vpravo je promítán výstup. Na vstup bylo aplikováno několik filtrů: na úpravu jasu a kontrastu, úpravu odstínu, sytosti barev a tmavosti obrazu, logo.
35
C) Jeden ze snímků při tvorbě videokurzu –nastavení komprese animace
D) Jeden ze snímků při tvorbě videokurzu –nastavení filtrů animace
36