Lightwave a oheň II - dokončení - 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:



3D grafika

Lightwave a oheň II - dokončení

22. prosince 1998, 00.00 | V pátečním článku jsme popisovali teoretickou část
vytváření optimalizované animace. Dnes je čas na
praktickou ukázku.

V pátečním článku jsme popisovali teoretickou část vytváření optimalizované animace. Dnes je čas na praktickou ukázku.

Nahrajte si do modulu Layout scénu uloženou na našem serveru a můžeme začít. Nejprve si rozmyslíme, na kolik framů chceme naši animaci zacyklovat. V našem tutoriálu budu všechny hodnoty uvádět pro čtyřiceti framovou animaci, ale není problém je přepočítat na jakýkoli počet framů. V pravém dolním rohu si tedy nastavíme First Frame na 1, Last Frame na 40 a Frame Step na 1. Vyberte si animFire.lwo, otevřete si Object Panel, a klikněte na modrý butonek s písmenem T vedle nápisu Displacement Map. Tím se dostanete do okna nastavování hodnot pro displacement mapy. V jeho záhlaví můžete vidět pořadové číslo právě zvolené textury. Je to velice užitečné, protože můžete u rozsáhlých projektů, při kterých v Surface Panelu vrstvíte mnohdy i více než pět textur na sebe, lehce ztratit přehled. První co musíme udělat je vypnout naší displacement mapě texture velocity, protože s ní budeme hýbat za pomoci referenčního objektu. Po kliknutí na butonek Texture Velocity tedy změňte oněch 50mm na nulu, a klikněte na OK. Nyní přiřadíme naší mapě referenční objekt. Klikněte na Add Reference Object, a okamžitě se vám v horním listboxu objeví místo "(none) název právě vytvořeného null objektu, který byl této vrstvě automaticky přiřazen jako referenční objekt "(Ref Obj) . Klikněte na Use Texture, a zavřete Object Panel.

Jednoduchým výpočtem dospějeme k závěru, že pokud jsme naší displacement mapou za použití Texture Velocity pohybovali v každém framu o 50mm, za 40 framů urazila 2 metry. Potřebujeme tedy náš referenční objekt (Ref Obj) zaklíčovat tak, aby byl v nultém framu na souřadnicích 0,0,0, a v posledním (tedy čtyřicátém) framu na 0,2m,0. Nastavte se tedy do čtyřicátého (v nultém framu je pozice na nule zaklíčovaná od přírody) framu přes dolní posuvnou lištu [nebo můžete použít shortcut "f ], pod ním si zvolte z listboxu právě vytvořený referenční objekt Ref Obj, v levé části obrazovky si zvolte Edit>Objects [shortcut je Shift+o] a Mouse>Move [mezi funkcemi myši se cykluje mezerníkem], a klikněte na Numeric [n]. Do requesteru pro pozici napište pro osu Y 2m a klepněte na OK. Tím jsme sice právě zvolenému objektu změnili pozici, ale změnu jsme ještě nezaklíčovali. Pokud se teď přesuneme do jiného framu, objekt se vrátí na svoje původní místo. Protože je v nultém framu na souřadnicích 0,0,0 a jiný keyframe v čase není, přesune se po posunutí na jakýkoli frame na tyto souřadnice. Musíme tedy ještě jeho novou souřadnici v právě zvoleném čtyřicátém framu zaklíčovat. To provedeme přes buton Create Keyframe [Enter]. V objevivším se requsteru necháme vše nezměněno, a klikneme na OK. Pokud si teď necháte vytvořit náhled animace (Preview>Make Preview) zjistíte, že vše vypadá stejně, jako na konci našeho minulého tutoriálu. Ohýnek hoří, a při přechodu z čtyřicátého do nultého framu je patrné velice markantní změnění tvaru.

Nyní přidáme další displacement mapu, a zaklíčujeme jejich prolnutí. Zvolte si znovu AnimFire.lwo, a přes Object Panel si otevřete requester pro nastavování parametrů displacement map. Abychom si ušetřili zbytečné klikání, vytvoříme odeznění amplitudy naší mapy teď. V Lightwave máte vedle většiny číselných parametrů čtvercový butonek s písmenem E. Přes něj se dostanete do okna, v kterém si můžete tento číselný parametr animovat v čase. Klikněte tedy na E vedle hodnoty Texture Amplitude, a stiskněte Enter (vytvoření keyframu je možné i myší přes butony Create/Delete/Drag, ale jejich použití je až na Drag velice těžkopádné). Do requesteru zadejte číslo framu pro nový keyframe - v našem případě 40 - a klikněte na OK. Po keyframech se pohybujete pomocí kurzorových šipek, nebo pomocí butonků s šipkami vedle nápisu Current Key Frame. Zvolte si tedy čtyřicátý (právě vytvořený) keyframe, a do políčka Current Vaule [n] zadejte 0. Tím jsme dosáhly toho, že síla, s kterou naše displacement mapa deformuje válec bude od nultého framu (ve kterém je 0.1 jako výsledek našeho snažení z minulého čísla) postupně klesat, a ve čtyřicátém framu dosáhne nuly. Kliknutím na Use Envelope okno zavřete. Nyní si můžete znovu vytvořit preview. Efekt postupného snižování intenzity vás jistě zaujme natolik, že vymyslíte spoustu dalších použití.

Pokud jste si preview udělali (a dali mi zapravdu - podívaná to opravdu je), vraťte se zpět do okna nastavování displacement mapy, a budeme pokračovat. Jistě jste si již všimli horní řady butonků s nápisy Previous Texture, Next Texture a Add New Texture. První dva slouží k pohybu mezi jednotlivými vrstvami, a poslední k přidání vrstvy nové. Nyní můžeme použít Add New Texture, a nastavit ji stejně jako předchozí, ale my použijeme daleko efektivnější metodu, a vrstvu do další zkopírujeme. Tato funkce nemá žádné ovládací prvky v uživatelském prostředí, a je v podstatě experimentální (začlenění ovládacích prvků bude provedeno v další verzi Lightwavu). Prozatím si musíme vystačit se standardními klávesovými zkratkami Windows - Ctrl+C (copy) a Ctrl+V (paste). Stiskněte tedy v první vrstvě Ctrl+C, klikněte na Add New Texture, a v nově vytvořené vrstvě stiskněte Ctrl+V. Nastavení je identické s vrstvou jedna, jen s tím rozdílem, že se nezkopírovala zaklíčovaná hodnota Amplitudy (říkal jsem přece, že je to zatím experimentální funkce). Zadejte tedy do políčka Texture Amplitude nulu (ve druhé vrstvě se bude intenzita naopak zvyšovat), a klikněte na butonek E. Stejným způsobem jako v předcházející vrstvě zaklíčujte v čtyřicátém framu hodnotu 0,1, a přes Use Envelope se vraťte zpět. Vše je již hotovo kromě maličkosti - musíme ještě přidat další referenční objekt. Klikněte tedy na Add Reference Object. Lightwave vás upozorní, že je k této vrstvě již referenční objekt přiřazen, a ptá se, jestli má existující vazbu zrušit, a vytvořit referenční objekt nový. Klikněte na OK a můžete přes Use Texture opustit displacement map okno a přes Close Panel i Objects Panel. Nyní ještě zanimovat "Ref Obj(2) tak, aby přijížděl odzdola, a naše snažení je definitivně u konce. Pro zrychlení práce použijeme malou fintu. Nastavte se do nultého framu [shortcut f]. Zvolte si "Ref Obj(2) [kurzorové šipky nahoru/dolů skok po objektech, Shift+šipka nahoru/dolů první a poslední objekt]. Ref Obj(2) je momentálně na nulových souřadnicích, a my potřebujeme tyto hodnoty zaklíčovat do framu čtyřicet, a do framu nula zaklíčovat jeho pozici v ose Y -2m (pamatujete? druhá displacement mapa bude přijíždět zdola). To provedeme tak, že jeho současné souřadnice ve framu nula zaklíčujeme do framu čtyřicet - klikněte na Create Key [Enter], a do requesteru vložte číslo framu, kam chcete keyframe uložit - 40. Poté (pokud máte stále Mouse Mode nastavená na Move) zvolte Numeric [n] a do položky pro osu Y zadejte -2m a vytvořte nový keyframe, ale tentokrát nechte hodnoty v requesteru nezměněny - nultý frame. Tím jsme zaklíčovali pohyb našeho Null objektu v čase, aniž bychom se přemisťovaly po framech.

Nyní si nechte udělat preview, a zjistíte, že jsme dosáhli svého cíle. Teď již opravdu stačí pouze vyrenderovat animaci, a použít jí jako vnitřek nápisu, nebo loga. Pro různý počet framů je zapotřebí znovu přepočítat vzdálenost, kterou oba referenční objekty urazí. Například pro dvaceti framovou animaci to bude 1 metr a pro animaci o osmdesáti framech 4 metry.

Jan Zámečník

Tématické zařazení:

 » Rubriky  » 3dscena  

 » Rubriky  » Go verze  

 » Rubriky  » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: