<< zpět na hlavní stránku

Tutoriál 6 - Větrná elektrárna

Upozornění: Podkladová grafika zde použitá je chráněna autorskými
právy a nesmí být dále šířena ani použita ve vašich projektech!

V této scéně se otáčí 2 větrné elektrárny a na louce přežvykuje kráva.

Download podrobnějšího náhledu (7 MB)

Náhled na ShutterStock

Podkladem grafiky je kresba v Illustrátoru. Exportoval jsem zvlášť pozadí a zvlášť objekty a ty jsem rozdělil na obrázky PNG s průhledností a uložil do souborů. Rozměry připraveny pro 4k grafiku. Zvláštní pozornost je třeba věnovat vrtuli. Pro zjednodušení animace jsem použil obrázek vrtule jako jeden celek, ve kterém jsou všechny 3 listy vrtule pohromadě. Je nutné ale zajistit, aby střed otáčení byl ve středu obrázku. Když najedu kurzorem myši nad střed vrtule, vidím podle souřadnic, že ve směru X je střed sice ve středu, ale ve směru Y je střed příliš dole (3 listy vrtule nejsou symetrické) a proto rozšiřuji plochu na dvojnásobek zjištěné souřadnice Y a tím se střed vrtule dostává do středu obrázku.

Po vložení pozadí jsem nejdříve začal přidávat první elektrárnu vpravo. Vložil jsem nejdříve sloup, nastavil mu velikost 50% (protože grafika je připravena pro 4k) a umístil ho vpravo do popředí. Pak jsem přidal motor (no on to není motor ale alternátor, ale víte co mám na mysli :-) ). Abych si usnadnil pozdější kopii druhé elektrárny, chci všechny elementy udělat závislé na sloupu, proto nastavuji sloup jako rodiče motoru a zapínám zaškrtávátko napravo od rodiče, které zajistí, že motor bude dědit i změnu velikosti sloupu. Proto rozměr motoru nebude 50% ale 100% (dědí zmenšení na 50% sloupu). Motor jsem posunul na pozici na vrchol sloupu.

Kromě otáčení vrtule jsem chtěl dosáhnout i dojem otáčení elektrárny ve směru větru. To lze ve 2D grafice nasimulovat tak, že plocha odvracející se od pozorovale se bude zkracovat do šířky a plocha přivracející se bude prodlužovat. Elektrárna se za dobu animace 2x otočí tam a zpět. Animace je dlouhá 880 snímků, proto jsem u motoru nastavil na snímku 0 šířku 100%, na snímku 220 šířku 50%, na snímku 440 šířku 100% a na snímku 660 šířku 50%. Při přehrátí animace se bude motor pomalu prodlužovat a zkracovat. Což ještě samozřejmě nevytváří 3D dojem.

K motoru jsem přidal středovou osu (to je ta střední "koule"). Chci, aby byla "přilepená" k levé straně motoru, tedy aby ho sledovala i když se bude prodlužovat a zkracovat. Proto jsem motor nastavil jako rodiče pro osu a zapnul dědění velikosti (přepínač napravo od rodiče). Posunul jsem osu na levý konec motoru. Nyní když posouvám ukazatelem pozice, osa sleduje levou stranu motoru a spolu s motorem se prodlužuje a zkracuje.

Plocha středové osy tvoří přední stranu elektrárny a proto se při otáčení musí měnit její šířka obráceně než u motoru. Když se elektrárna otáčí k nám, motor se do šířky zkracuje, ale osa se musí rozšiřovat (stává se přivrácenou plochou). Na osu už působí změna šířky motoru a tedy kromě vlastní změny šířky se musí kompenzovat i změna šířky motoru. Nastavil jsem proto šířku osy ve snímcích 0, 220, 440 a 660 na hodnoty 50%, 150%, 50% a 150%. Je to jen simulace 3D, hodnoty se moc nedají přehánět aby to už nevypadalo nepřirozeně. Nyní když se přehrává animace, měl by už motor s osou vyvolávat dojem 3D objektu, který se otáčí tam a zpět.

Přidávám vrtuli. Vrtule se musí otáčet kolem vlastního středu a současně se musí zkracovat do šířky stejně jako to dělá středová osa (protože tvoří čelní plochu elektrárny). Pro ujasnění - nelze jednoduše změnit šířku vrtule. Když se vrtule otáčí, otáčela by se s už změněnou šířkou, což znamená, že v jedné chvíli by byla vysoká a hned v druhé široká. Proto využijeme dědění rozměru od rodiče. Když připojíme vrtuli ke středové ose (osa bude rodičem vrtule), bude vrtule sledovat změnu šířky středové osy a to nezávisle na vlastním otáčení. Je nutné zapnout přepínač dědění rozměru rodiče.

Pak už jen stačí nastavit otáčení vrtule - ve snímku 0 jsem uzamknul úhel 0 stupňů, ve snímku 879 jsem nastavil úhel -2880 stupňů. Úhel představuje 8 celých otáček (tedy 8 * 360). Otáčky musí být celé, aby byla zajištěna seamless loop animace, kdy poslední snímek navazuje opět na první. Záporný směr otáčení znamená, že vrtule se otáčí ve směru hodinových ručiček. Volba tohoto směru otáčení není náhodná a vychází z psychologie. Lidé jsou z ručičkových hodin zvyklí, že "běžný přirozený směr" otáčení je ve směru hodinových ručiček. Proto když vidí někde otáčení ve směru hodinových ručiček, chápou tento směr jako "normální, pozitivní", ale obrácený směr cítí jako "nepřirozený, negativní". Z toho důvodu používají všechny "dobré a úspěšné" supermarkety pozitivní směr nákupu - zákazník vstupuje do obchodu vlevo, pokladny jsou vpravo a obchodem se prochází ve směru hodinových ručiček. Proto i u animací bude na diváka působit příjemněji, když otáčení probíhají ve směru hodinových ručiček.

Nyní druhá elektrárna. Protože je první elektrárna už dobře připravená, bude vložení druhé elektrárny snadné. Stačí duplikovat prvky první elektrárny (sloup, motor, osa, vrtule), opravit jejich rodiče na prvky druhé elektrárny a pak už jen stačí zmenšit sloup a elektrárnu umístit na správnou pozici. Všechny ostatní prvky si zachovají správnou funkčnost.

Pokračuji mraky. Použil jsem 2 různé mraky (ve skutečnosti jsem byl líný a druhý mrak je jen převrácená a zmenšená kopie prvního :-) ). Chtěl jsem, aby se mraky pohybovaly proti elektrárnám, tedy zleva doprava, a aby byla animace seamless, tedy aby začátek a konec navazoval. Vložil jsem první mrak a ve snímku 0 nastavil jeho výchozí pozici, u mne bylo X = -652. Přesunul jsem se na poslední snímek a nastavil souřadnici X o 1920 větší, ale zmenšenou o přírustek mezi 2 snímky. Animace je dlouhá 880 snímků, za jeden snímek se mrak posune o 1920/880 tj. asi o 2 body. Souřadnici X na posledním snímku jsem proto nastavil na 1920 - 650 - 2 = 1266.

Aby se mrak po zmizení z obrazovky opět objevil a přitom navazoval na svou výchozí pozici, je nutné mrak duplikovat. U kopie budou stejné souřadnice X, ale o 1920 nižší, tedy u mne ve snímku 0 bude X = -652 - 1920 = -2572 a v posledním snímku 879 bude X = 1266 - 1920 = -654. Pro druhý mrak se provede obsluha obdobně.

Nyní kráva. Vložil jsem tělo krávy, rozměr 50%. Přidal jsem hlavu, kterou jsem připojil k tělu jako k rodiči (abych později mohl krávou hýbat a nerozsypala se mi). Chtěl jsem, aby kráva přežvykovala. Proto jsem k hlavě připojil ústa. Přežvykování jsem animoval tak, že po 20 snímcích se mění úhel rotace úst mezi +10 a -10 stupni a po 40 snímcích se mění souřadnice Y o 10 nahoru a dolů. K ústům jsem připojil květinu (mohla být s nimi spojená už jako obrázek). Abych nemusel upravovat každých 20 snímků, připravil jsem si animaci úst pro prvních 80 snímků (tj. 0, 20, 40 a 60), zkopíroval snímky do paměti (výběrový blok byl 0 a 79) a pak opakovaně vkládal po každých 80 snímcích.

Pro další oživení animace kráva ještě při přežvykování pohybuje hlavou - rotace hlavy se mění po 110 snímcích mezi hodnotami -5 a +15 stupňů, rotace má zapnutý přepínač "plynule" aby pohyb vypadal přirozeně.

Na závěr ocas, ten by se měl pomalu pohupovat sem a tam. Ocasem nelze jen jednoduše otáčet, protože střed rotace musí být na konci a ne uprostřed. Proto jsem k těle krávy připojil prázdný objekt jako kloub ocasu (obrázek Empty, který je přiložený k programu Animer). Ocas jsem připojil ke kloubu a změnil souřadnice Y o asi polovinu výšky obrázku ocasu. Souřadnici Y ocasu jsem potom upřesnil tak, aby při změně rotace kloubu se ocas otáčel ve správném místě. Pak jsem změnil pozici kloubu tak, abych ocas usadil na správné místo (v seznamu obrázků musí být ocas nad obrázkem těla aby byl zobrazen za ním).

Rotaci kloubu ocasu jsem pak měnil po 20 snímcích v rozmezí +2 a -2 stupně, se zapnutým vyhlazením "Plynule". Opět abych nemusel měnit u každého 20. snímku, kopíroval jsem opakovaně první úsek 80 snímků.

<< zpět na hlavní stránku