3D Studio MAX: tvorba žhnoucí lávy - 3D grafika - 3Dscena.cz: 3D grafika jako na dlani

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

3D Studio MAX: tvorba žhnoucí lávy

23. dubna 2003, 00.00 | V tomto tutoriálu jsem se pokusil o rozbor vysvětlení postupu při tvorbě žhnoucí lávy včetně nezbytných částicových a atmosférických efektů.

{Tvorba lávy}

U tohoto tutoriálu předpokládám alespoň základní znalosti 3D Studia MAX. Před započetím práce resetujte nebo restartujte 3D Studio. K tutoriálu je přiložen .zip soubor, který obsahuje základní scénu s osvětlením a kamerou a všechny nezbytné textury, které budete k realizaci tohoto tutoriálu potřebovat. Scéna byla vytvořena pomocí 3D Studia verze 5, což může způsobit nekompatibilitu s nižšími verzemi.

1. Tvorba lávy
Pokud načtete základní scénu z přiloženého souboru priloha.zip, máte zde vytvořeny dva objekty: Objekt rock představuje skalnaté okolí a objekt lava je stěžejní objekt, na který budeme aplikovat lávový materiál. Spusťte si tedy Material Editor; v prvním slotu je již použitý skalnatý materiál, takže si pro lávu zvolte jakýkoliv jiný prázdný slot a typ materiálu změňte ze Standard na Blend. Je to typ materiálu, který umožňuje zkombinovat dva materiály s různými parametry v jeden. Interface materálu Blend vidíte na následujícím obrázku.



Jako první materiál vytvoříme povrch lávy, kterým jsou neroztavené kusy kamenů, plovoucí na povrchu. Takže klepněte na políčko Material 1:. Stínovací algoritmus změňte na Phong. Barevné složky Ambient, Diffuse i Specular degradujte na RGB hodnoty 0;0;0. Dále se přesuňte do záložky Maps a složce Diffuse přiřaďte texturu BASPHLT.tga, která je v přiloženém .zip souboru. V jejích parametrech změníme pouze UV Tiling, a to na hodnotu 5. Složku Diffuse nyní zkopírujte do složky Bump, jejíž hodnotu zvedněte ze 30 na 100. Tím bychom dokončili povrchovou část lávového materiálu (jak vidíte, je to maximálně jednoduchý materiál). Přesuňte se tedy na nejvyšší úroveň a klepněte na políčko pro druhý materiál Material 2:, který bude představovat žhavou taveninu prosvítající pod povrchem. Tento materiál bude rovněž docela jednoduchý. Jako první věc nastavte Material Effects ID na hodnotu 1. Pokud byste měli problémy s nalezením této položky, měl by vám pomoci obrázek trochu níže. Základní parametry budou vypadat takto:
Shader = Oren-Nayar-Blinn
Ambient RGB = 164;0;0
Diffuse RGB = 164;0;0
Specular RGB = 255;216;0
Specular Level = 0
Glossiness = 0


Dále se přesuňte do roletky Maps. U tohoto materiálu budeme pracovat pouze s položkou Bump, jejíž hodnotu nastavte na 250. Jako typ bump mapy vyberte texturu z přiloženého souboru nazvanou volcrack8.tif.
Nyní se přesuňte na nejvyšší úroveň. Poslední krok k dokončení materiálu bude určení masky, podle které se mají materiály mixovat. Takže jako Mask zvolte opět texturu volcrack8.tif, kterou jste použili jako bump mapu. Materiál by se měl ihned změnit tak, jak to vidíte na obrázku.



Teď materiál jednoduše aplikujte na objekt Lava. Když scénu vyrenderujete, měla by vypadat následovně:


Klikněte pro zvětšení

Nyní budeme ještě trochu animovat mírně zvlněnou hladinu. Zvolte objekt Lava a aplikujte na něj modifikátor Noise. Hodnotu Scale nastavte na 50 a Strength na ose Z zadejte 3. Přepínač Animate Noise v sekci Animation by měl být nastaven jako aktivní.
Pokud animaci nyní spustíte ve viewportu, měla by se hladina mírně vlnit.

2. Tvorba lávových erupcí
Tato část popisuje efektní výbuchy žhavé lávové taveniny, které podněcují dojem, že láva je stále aktivní a "živá" a rovněž velmi zpestřují celou scénu. K jejich tvorbě použijeme částicové systémy Super Spray a aby se jejich částice chovaly tak jak by měly (tj. dopadaly zpátky do lávy), tak jim pomůžeme Space Warp objektem Gravity a na závěr realističnosti přidáme Space Warp objektem Ripple, který rozbouří hladinu v okolí výbuchu.
Vytvořte tedy částicový systém Super Spray a umístěte ho někam do zorného pole kamery - tam kde chcete, aby byl výbuch - a kousek pod hladinu lávy. Nyní podle následujících řádek nastavte jeho parametry:
Basic Parameters:
Off Axis = 0
Off Axis Spread = 15
Off Plane = 0
Off Plane Spread = 180

Tímto nastavením jsme definovali, jak moc a jakým směrem se budou částice rozptylovat. Pokud byste všechny hodnoty nechali na nule, vytvořili byste souvislý proud částic směřující v úzkém sloupci přímo vzhůru bez jakéhokoliv vychýlení.
Particle Generation:
Particle Quantity = Use total => 2000 - udává, že v časovém úseku Emit StartEmit Stop bude vygenerováno 2000 částic.
Speed = 8 - průměrná rychlost pohybu částic.
Variation = 50 - odchylky jednotlivých částic v systému od jejich průměrné rychlosti v procentech.
Emit Start = 8 - začátek emitace částic.
Emit Stop = 10 - konec emitace částic.
Display Until = 100 - na snímku 100 dojde k zániku daného částicového systému.
Life = 70 - průměrný "život" jednotlivých částic udávaný ve snímcích od jejich "narození".
Variation = 25 - odchylky jednotlivých částic od jejich průměrné délky "života" v procentech.
Size = 2 - průměrná velikost částic.
Variation = 20 - odchylky jednotlivých částic od jejich průměrné velikosti v procentech.
Grow For = 10 - doba vývoje částic.
Fade For = 10 - doba zániku částic.
Particle type:
Particle type = Standard Particles - zvolili jsme standardní typ částic. Další možností je použít Metaparticles s dynamickou geometrií, které by byly na konečném renderu bezpochyby zajímavější a realističtější, ale časová náročnost výpočtu scény by se mnohonásobně zvýšila. Pokud ale máte dost rychlý stroj, můžete místo Standard Particles zvolit Metaparticles.
Standard Particle = Facing - zvolili jsme, že chceme pouze 2D částice. Další možnosti zahrnovaly některé 3D primitivy (pokud jste se v předchozím kroku rozhodli pro metaparticles, tato volba vám odpadá).
Teď klepněte na už hotový částicový systém pravým tlačítkem myši a objeví se nabídka, ze které zvolte možnost Properties. V dialogu zaškrtněte jako aktivní možnost Motion Blur a z přepínačů vyberte jako aktivní Image. Hodnotu zvolte 3. Způsobíme tím, že se budou částice při pohybu rozmazávat a docílíme tím lepšího efektu.
Tento částicový systém můžete několikrát zkopírovat, pokud chcete ve scéně více explozí. Já osobně jsem udělal jednu kopii a umístil ji přímo před kameru. Možná by nebylo na škodu vytvořit jeden nebo dva částicové systémy mimo kameru, aby byly při animaci vidět pouze některé odletující částice - to dodá scéně více prostoru. Dále se postupně přesuňte do modifikačních panelů každého z právě vytvořených částicových systémů a pozměňte parametry Speed, aby nebyly všechny výbuchy stejně intenzivní (čím větší hodnota, tím intenzivnější exploze; maximum však udržujte kolem čísla 10 a minimum 3), Emit Start a Emit Stop, aby nenastaly všechny ve stejný čas (můžete zvolit jakoukoli hodnotu, jejich rozdíl však vždy ponechte na čísle 2). U každého ještě navíc změňte hodnotu Seed klepnutím na tlačítko New. Nachází se až úplně na konci záložky Particle Generation. Tato volba určuje náhodné generování částic v systému právě podle hodnoty Seed, takže její změnou bude každý výbuch jiný.
Pokud se nyní podíváte na animaci částic, zjistíte, že se chovají, jakoby neexistovala gravitace. A máte pravdu - neexistuje. Tedy aspoň prozatím, protože dalším naším cílem bude tuto gravitaci vytvořit (samozřejmě v podstatně jednodušší formě než je realita). Gravitace je jedním z pomocných objektů, které nelze renderovat, ale ovlivňují svým působením chování nebo vzhled některých ostatních elementů ve scéně. Říká se jim Space Warp, nebo-li přeloženo do češtiny - "Prostorová deformace". Vytvořte tedy objekt Gravity. Na jeho rozměrech nezáleží, protože má stejný vliv všude ve scéně. Pokud byste snad měli problém s jeho nalezením, měl by vám vše objasnit tento obrázek:


Pokud máte tedy objekt pro gravitaci již hotový ve scéně, můžete se přesunout do jeho modifikačního panelu. Tam si všimněte položky Strength, která jasně napovídá, že se jedná o to, jakou silou bude gravitace na okolní objekty působit. Zadejte tedy hodnotu 0,15.
Zatím jste si mohli všimnout, že i když jsme vytvořili gravitaci a určili její sílu, tak se stále s částicemi nic neděje a ani nikde jinde není viditelná gravitační síla. To je proto, že je nutno gravitaci objektům nejdříve přiřadit. K tomu slouží tlačítko Bind To Space Warp na hlavním panelu nástrojů (verze MAX 5). Pro jistotu jsem sem přiložil i jeho "podobiznu", aby nemohlo dojít k záměně:


Takže si vyberte objekt Gravity a pak klepněte na zmiňované tlačítko. Znova klepněte myší na Gravity a aniž byste pustili tlačítko myši, přesuňte kurzor na částicový systém. Pak teprve tlačítko myši můžete pustit. Výsledek by se měl projevit okamžitě, takže spustíte-li si animaci, uvidíte, jakým způsobem částice podléhají gravitaci. Stejný postup opakujte i s případnými ostatními částicovými systémy. Tím by tedy měl být problém s gravitací úspěšně vyřešen.
[-more-]{Zvlnění hladiny} Přesto ale ještě nejsme u konce a čeká nás asi nejsložitější a na přesnost nejchoulostivější záležitost. Jedná se o to, že pokud například hodíte kámen do vody, tak hladina samosebou nezůstane klidná, že? A pokud tady tvoříme výbuchy lávy takových rozměrů, nemůžeme k tomuto faktu zůstat otočení zády. Použijeme k tomu opět jeden z objektů Space Warp, tentokrát to však bude pomůcka nazvaná Ripple, která dokáže simulovat zvlnění hladiny právě tak, jako když hodíte zmiňovaný kámen do vody. Nachází se ve stejné sekci jako Gravity, ale všimněte si rozbalovací nabídky nahoře. Když klepnete na šipku, vyjede vám ještě několik dalších kategorií Space Warp objektů. Pokud zvolíte Geometric/Deformable, nemělo by vám už nalezení ikony Ripple dělat problém.
Ripple umístěte na hladinu lávy a tak, aby uprostřed bylo epicentrum výbuchu (tedy emitor částic). Pro každý výbuch musíte vytvořit jeden objekt Ripple. Dále se přesuňte do modifikačního panelu objektu Ripple a při zadávání parametrů se řiďte následujícím textem a obrázkem.
Otevřte Curve Editor (v nižších verzích Track View). Pokud s prací v tomto editoru ještě nemáte žádné zkušenosti, doporučuji co nejvíc spolupracovat s níže uvedeným obrázkem, u kterého jsem se snažil o co možná maximální názornost.
V levé liště se seznamem editovatelných položek si najděte objekt, který chcete editovat, tzn. Ripple01 a rozbalte všechny jeho podsložky (jako na obrázku). Pak si vyberte položku Amplitude 1. Na spodním okraji okna je zobrazena časová osa, po stranách pak osy hodnot. Uprostřed okna by měla být viditelná pouze přerušovaná čára. Klepněte na tlačítko pro vytvoření nových animačních klíčů Draw Curves (viz. obrázek) a pak hned na přerušovanou čáru. V daném místě vytvoříte nový animační klíč, který můžete editovat tak, že na něj klepnete pravým tlačítkem myši (zobrazí se dialog - viz. obrázek). Vytvořte nové klíče na snímcích 0, 12 a 100 o hodnotách 10, 10 a 1. Stejnou operaci proveďte i s položkou Amplitude 2. Tyto dvě hodnoty určují, jak veliké bude zvlnění hladiny. Poté věnujte svou pozornost položce Phase - její hodnoty určují, jak rychlé bude vlnění. Klíče vytvořte na snímcích 0 (0,0), 10 (0,0), 15 (1,0) a 100 (3,0) - v závorkách jsou uvedeny jejich hodnoty. Nyní klepněte na položku Decay, která se nachází hned pod Phase. Určuje akční rádius objektu Ripple. Vytvořte klíče na těchto snímcích o těchto hodnotách: 0 (1,0), 10 (1,0), 14 (0,1), 16 (0,054), 18 (0,039), 20 (0,027), 22 (0,02), 24 (0,015), 25 (0,012), 100 (0,0).
Podle stejných kritérií (samozřejmě s ohledem na rozdílné načasování jednotlivých výbuchů; například pokud druhý výbuch začíná o 40 snímků později, posuňte si čísla všech snímků (kromě nuly) o 40) proveďte animaci i ostatních objektů Ripple. Výsledné křivky všech editovaných elementů by měly vypadat jako na tomto obrázku:


Klikněte pro zvětšení

No, doufám, že jste tuto trochu zmatenou část přežili bez újmy na zdraví a že jste ji úspěšně zvládli! :-) Teď už vás čekají samé jednoduché věci.
Nyní se přesuňte do Material Editoru a do volného materiálového slotu vytvořte materiál pro právě vytvořený částicový systém:
Material Effect ID nastavte na 2.
Shader Basic Parameters:
Face Map = on - materiál se nebude mapovat na částicový systém jako celek, ale na každý polygon (částici) zvlášť.
2-Sided = on - materiál se bude mapovat z obou stran částice. Toto nastavení má význam pouze tam, kde používáte 2D plochy (standardní částice typu Facing)
Blinn Basic Parameters:
Ambient RGB = 152;2;2
Diffuse RGB = 255;145;2
Specular RGB = 252;228;97

Maps:
Pro složku Opacity, která definuje viditelnost materiálu zvolte mapu Gradient s těmito parametry:
Gradient Map Parameters:
Color #1 RGB = 0;0;0;
Color #2 RGB = 70;70;70;
Color #3 RGB = 131;131;131


Materiál aplikujte na částicové systémy pro výbuchy.

3. Tvorba atmosféry
Tato část bude jenom krátká a popisuji zde postup při tvorbě rudé mlhy, kterou způsobuje žhnoucí láva.
Otevřte si dialog Environment - ten najdete v hlavním menu na horní liště v roletce Rendering. V záložce Atmosphere klepněte na tlačítko Add pro přidání nového efektu a z nabídky si vyberte Fog. Její parametry nastavte takto:
Color RGB = 194;18;18;
Type = Layered
Top = 150
Bottom = 0
Density = 10


4. Efekty ve Video Postu


Klikněte pro zvětšení

Prvním krokem ve Video Postu (najdete ho na hlavní liště v nabídce Rendering dole) bude vytvoření vstupu - tedy musíte určit, který viewport se má pro Video Post renderovat. Klepněte tedy na tlačítko Add Scene Event a v rolovací nabídce už byste měli mít automaticky zvoleno Camera01. Výběr potvrďte tlačítkem OK a v liště nalevo naskočí první řádek s názvem Camera01. Dále klepněte na tlačítko Add Image Filter Event, které je skoro soused s předchozím použitým. Na obrazovce se vám objeví dialog Edit Filter Event, z jehož rolovací nabídky vyberte možnost Lens Effect Glow, což je filtr, který způsobí, že nám bude láva pěkně žhnout. Potom klepněte na tlačítko Setup a objeví se před vámi další dialogové okno se spoustou možností nastavení. Přesuňte se do záložky Properties a zaškrtněte jako aktivní kolonku Effects ID a jako hodnotu vepište 1. Jedná se o to, že tento filtr bude ovlivňovat všechny materiály, které mají nastaveny hodnotu ID na jedničce (v našem případě je to láva). Dále zaškrtněte možnost Bright v sekci Filter a její hodnotu upravte na 110. Znamená to, že se filtr bude aplikovat pouze na ty části objektu, kde intenzita materiálu přesahuje 110 bodů. Všechny ostatní možnosti v této sekci musejí zůstat neaktivní! Pak se přesuňte do záložky Preferences a tady nastavte:
Size = 5 - určuje "svítivost"
Color = pixel - barva záře se bude odvíjet od barvy daného pixelu
Intensity = 30 - nastaví intenzitu záře

Tímto je efekt pro lávu hotový, pokud si ho chcete ještě prohlídnout a případně upravit před samotným renderingem, aktivujte tlačítko VP Queue a pak klepněte na Preview.
Tlačítkem OK ukončete práci s tímto efektem a vraťte se do Video Postu. Tam opakujte předchozí postup a vytvořte ještě jeden stejný efekt, ale s těmito odlišnými parametry:
Properties:
Effect ID = 2
Filter = All

Preferences:
Size = 2
Color = pixel
Intensity = 20

Tlačítkem OK se opět vraťte do Video Postu. Na závěr ještě zbývá vytvořit výstupní soubor pomocí tlačítka Add Image Ouput Event a posléze klepnutím na tlačítko Files... v objevivším se dialogu vytvořte výstupní videosoubor (*.AVI), kam se má uložit výsledný rendering. Tímto krokem můžete považovat své dílo za hotové (čímž ovšem rozhodně nechci říct, že by se nedalo vylepšit) a animaci pomocí Video Postu vyrenderovat. Přeji mnoho úspěchů při tvorbě dalších scén.


Klikněte pro zvětšení

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: