Adobe After Effects tutoriál: 3D tráva s možností simulace chování - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Software

Adobe After Effects tutoriál: 3D tráva s možností simulace chování

1. června 2010, 00.00 | V tomto návodu si popíšeme, jak vytvořit 3D trávu (list, trs, trávník), včetně napodobení různého vzrůstu, velikosti ohybu a síly a rychlosti větru. Tento způsob může být náročnější na rendering.

V návodu si popíšeme, jak vytvořit 3D trávu (list, trs, trávník), včetně napodobení různého vzrůstu, velikosti ohybu a síly a rychlosti větru. Tento způsob může být náročnější na rendering.
Vytvoříme kompozici list a v ní vrstvu list. Vrstva list nám tvoří jedno stéblo trávy. Aby byla tráva hustější, použijeme listy dva, různě otočené. Na listy vložíme efekt Ramp, u každého listu s trochu jiným barevným přechodem, aby listy nevypadaly stejně.

V nové vrstvě ohyb použijeme efekty Linear Wipe a CC Bend It. Linear Wipe nám vytvoří tloušťku listů od kořene ke špičce a CC Bend It bude ohýbat list i simulovat vítr. Start je kořen listu, End špička. Prolnutí vrstvy Multiply.

Přidáme vrstvu echo s efektem Echo. Tím docílíme ještě větší hustoty listů při ohybu. Prolnutí vrstvy Multiply. Pokud nepotřebujeme, můžeme vrstvu echo i s efektem Echo vypustit. List máme hotov.

Z kompozic list vytvoříme trs trávy. Do nové kompozice trs vložíme kompozici list, zapneme 3D vrstvu, zduplikujeme (25 vrstev) a rozmístíme v prostoru. Střed kompozic máme nastavený uprostřed u kořene listu.

Trs trávy je hotov. Rozmístění při pohledu shora a aktivní kamery.

Z kompozic trs vytvoříme plochu trávníku. Vytvoříme novou kompozici trava, vložíme kompozici trs, zapneme 3D vrstvu a Collapse Transformations, zduplikujeme (100 vrstev) a rozmístíme v prostoru (posun X 50 px, posun Z 25 px).

aftereffects_trava_015.jpg

Rozmístění trsů při pohledu shora a aktivní kamery.

aftereffects_trava_016.jpg

aftereffects_trava_017.jpg

Plochu s trávou máme vymodelovanou. Nyní se budeme zabývat ovládáním trávy. Všechny ovládací prvky budeme mít v nové kompozici ovladani travy a nové vrstvě ovladani travy, na kterou použijeme efekt Slider Control, který samostatně nedělá nic, je však použit při kontrole expressions. Budeme potřebovat celkem sedm efektů: zakladni ohyb (ohyb listu), rychlost (rychlost ohybu ve větru), ohyb listu (ohyb listu ve větru), vyska listu (výška listů, aby nevypadaly všechny stejně vysoké), rotace listu (rotace listu, aby nerostly všechny jedním směrem), vyska trsu a rotace trsu (podobné jako u listu). Rozměry kompozice i vrstvy nejsou důležité, pouze délka času pro animaci.

Přejdeme do kompozice list, vrstva ohyb, efekt CC Bend It, parametr Bend a vložíme expression comp("ovladani travy").layer("ovladani travy").effect("zakladni ohyb")("Slider")+Math.sin(time*comp("ovladani travy").layer("ovladani travy").effect("rychlost")("Slider"))*comp("ovladani travy").layer("ovladani travy").effect("ohyb listu")("Slider"). Expression comp("ovladani travy").layer("ovladani travy").effect("zakladni ohyb")("Slider") je základní ohyb listu daný hodnotou zakladni ohyb, při hodnotě 0 bude list rovný, při jiných hodnotách bude nahnutý doleva (záporné) nebo doprava (kladné). Aby se list nakláněl ve větru je připočtena hodnota Math.sin(time*comp("ovladani travy").layer("ovladani travy").effect("rychlost")("Slider"))*comp("ovladani travy").layer("ovladani travy").effect("ohyb listu")("Slider"). Je to sinusoida závislá na čase time, který je vynásoben hodnotou rychlost. Tím by se list ohýbal pouze v rozpětí hodnot -1 až 1, proto je ještě vynásobena hodnotou comp("ovladani travy").layer("ovladani travy").effect("ohyb listu")("Slider"), což je hodnota ohyb listu. Ovládání listu máme nastaveno.

aftereffects_trava_021.jpg

V kompozici trs vložíme u všech vrstev list expression pro Scale. seedRandom(0,true); vyska=value[1]-random(comp("ovladani travy").layer("ovladani travy").effect("vyska listu")("Slider")); [value[0],vyska,value[2]]. Výška Y vrstvy listu bude snížena o náhodnou hodnotu v rozmezí 0 až vyska listu. seedRandom(0,true); slouží k tomu, aby se náhodná čísla random neměnila v čase (hodnota true). Hodnoty X a Z zůstávají zachovány. Vložíme také u všech vrstev expression pro Y Rotation. seedRandom(0,true); random(comp("ovladani travy").layer("ovladani travy").effect("rotace listu")("Slider")). Opět jde o náhodné číslo neměnící se v čase, které nám natočí jednotlivé listy kolem osy Y, rotace listu. Trs trávy máme nastaven.

aftereffects_trava_022.jpg

V kompozici trava vložíme podobné expressions u všech vrstev trs. Pro Scale vložíme seedRandom(0,true); vyska=value[1]-random(comp("ovladani travy").layer("ovladani travy").effect("vyska trsu")("Slider")); [value[0],vyska,value[2]]. Pro Y Rotation vložíme seedRandom(0,true); random(comp("ovladani travy").layer("ovladani travy").effect("rotace trsu")("Slider")). Trsy trávy budou různě veliké v závislosti na hodnotě vyska trsu a různě natočené kolem osy Y, rotace trsu. Nastavení ovládání trávy je hotovo.

aftereffects_trava_023.jpg

Aby se listy nenakláněly ve stejných intervalech, posuneme jednotlivé vrstvy list v kompozici trs vpřed i vzad v rozmezí 1 s. Můžeme použít jednoduchý script pro posun vrstev posunvrstev.jsx (v příloze). Vybereme všechny vrstvy list, File - Run Script - Choose File...

aftereffects_trava_024.jpg

Protože máme efekt Echo parametr Echo Time nastaven na 1 s a vrstvy list posunuty celkově o 2 s, je kompozice trava dlouhá jen 7 s a vrstvy trs začínají v čase -1 s (10 s - posun vrstev 2 s - Echo 1 s).

aftereffects_trava_025.jpg

Máme vytvořený segment trávníku, ze kterého teď můžeme poskládat libovolně velkou plochu (limitem je pro nás pouze délka renderingu, protože jedna kompozice trava je tvořena 2 500 vrstvami). Nastavíme ovládání trávy.

Vytvoříme novou kompozici trava scena, přidáme kameru. Importujeme pozadí hory.psd a hory_depth.psd, vytvoříme novou vrstvu rozostreni. Na vrstvu rozostreni použijeme efekt Fast Blur, který nám bude simulovat hloubku ostrosti, ovlivněnou vrstvou hory_depth.psd, zapnutím Luma Matte. Vložíme dvě kompozice trava, u kterých zapneme Collapse Transformations a 3D vrstvu, rozmístíme v prostoru a trávu doostříme efektem Sharpen v obou kompozicích. Aby za trávou neprosvítalo pozadí, vytvoříme novou vrstvu pozadi trava s efekty Ramp a Linear Wipe.

aftereffects_trava_028.jpg

aftereffects_trava_029.jpg

aftereffects_trava_030.jpg

aftereffects_trava_033.jpg

Výsledná scéna by měla vypadat přibližně takto.

aftereffects_trava_034.jpg

Různým rozmístěním a nakloněním listů a trsů, můžeme tvořit nerovnosti terénu, pokud si vytvoříme i jiné kompozice s listy, vznikne tím třeba rozkvetlá louka apod. Na závěr ukázka animace.

Projekt ke stažení
Výsledné video

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » Go verze  

 » Rubriky  » Digitální video  

 » Rubriky  » Design  

 » Rubriky  » Software  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: