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
Tvorba hořícího objektu v 3ds max
9. dubna 2004, 00.00 | Cílem tohoto návodu je vytvořit hořící objekt použitím
Particle systémů a vhodně nastavených materiálů. Nakonec se naučíte
pracovat s mlhou a pokusíte se vytvořit celkem reálně vypadající vodu.
Cílem tohoto návodu je vytvořit hořící objekt použitím Particle systémů a vhodně nastavených materiálů. Nakonec se naučíte pracovat s mlhou a pokusíte se vytvořit celkem reálně vypadající vodu. Návod jsem se pokusil napsat tak, aby jej pochopili i nepříliš zkušení uživatelé 3ds max, úplným začátečníkům jej ale příliš nedoporučuji.
Na začátek pro vás mám jednu malou, ale užitečnou radu. 3ds max má ve zvyku někdy "padat" a párkrát se mi stalo, že jsem potom už scénu neotevřel a uviděl jen smutnou hlášku File open failed... Předejít tomu můžete alespoň postupným ukládáním scény do více souborů a v případě "zničení" scény smolným pádem se můžete vrátit k předchozí verzi. Nejdřív scénu uložte například jako HoriciObjekt_01, při práci jí samozřejmě postupně ukládejte a na konci každého odstavce jí uložte do nového souboru, například HoriciObjekt_02, 03, 04... Jedinou nevýhodou této metody jsou nároky na prostor, které pocítíte, až budete pracovat se scénou o velikosti několik desítek MB, což ale naštěstí není případ tohoto tutoriálu. Teď už se ale vrhněme na náš návod.
Příprava scény
Ze všeho nejdřív v menu Customize\Units setup změňte jednotky na metry, aby jste se mohli přesně řídit podle mého postupu. Teď bude potřeba trochu poupravit objekt, který chcete "zapálit". Já jsem pracoval s modelem draka o velikosti zhruba 10 metrů. Pokud použijete model jiných rozměrů, u některých parametrů budete muset použít jiné hodnoty. Vytvořte kopii vašeho objektu a pojmenujte ji například Dragon_Emiter. Tento objekt bude sloužit jako Emiter částic, proto musí mít co nejjednodušší geometrii. Snížením počtu polygonů bez výrazného dopadu na vzhled modelu docílíme modifikátorem MultiRes. Stiskněte tlačítko Generate a potom co nejvíc snižte hodnotu Vert Percent. Zároveň ale musíte dávat pozor, aby jste to nepřehnali a objekt se tvarem výrazně nelišil od svého vzoru. V 3D Studiu MAX R3 a starších budete muset použít modifikátor Optimize, jehož výsledky jsou podstatně horší. Až docílíte optimálního nastavení tak jej převeďte na Editable Mesh. Protože určitě nechcete, aby plameny šlehaly z celého objektu, bude potřeba některé plochy smazat. V Modify panelu se přepněte do módu Sub-Object Polygon (čtverec v části Selection) a potom označte a smažte plochy, ze kterých si nepřejete emitovat plameny. Tento krok se snažte neodbýt a výběr "nehořících" částí si trochu promyslete. Snažte se, aby v té změti plamenů bylo poznat, co hoří. Já jsem například smazal plochy hlavy, křídel a nohou, aby bylo poznat, že jde o draka. Nakonec zobrazte okno Object Properties (nad vybraným objektem stiskněte pravé tlačítko myši a z QuadMenu vyberte Properties... vpravo dole) a odškrtněte políčko Renderable, aby se nám ošklivý nízkopolygonový model nerenderoval. Původní objekt ještě bude potřeba trochu "přižhavit", ale k tomu se dostaneme až později.
Tvorba plamenů
Nyní se zaměříme na to, co je na ohni nejdůležitější, a to plameny. Kdekoliv ve scéně vytvořte Particle Array (Create\Particles\PArray) a pojmenujte jej Plameny. Jedná se o částicový systém, který emituje částice z libovolného objektu ve scéně, což se nám teď bude hodit. Stiskněte tlačítko Pick Object, vyberte nízkopolygonový objekt, který jsme před chvílí vytvořili a v části Particle Formation vyberte At All Vertices. Toto nastavení určuje, že plameny budou šlehat ze všech vrcholů objektu, což u mnou použitého modelu draka vypadalo nejlépe, s největší pravděpodobností vám ale bude vyhovovat volba Over Entire Surface, kde budou plameny emitovány z celého povrchu. Správnou volbu nejlépe zjistíte metodou pokus - omyl. V části Viewport Display nastavte Mesh, Percentage of Particles nechte na 10 a v části Particle Generation nastavte tyto parametry: Particle Quantity Rate 200, Speed 0.03m, Variation 7%, Life 20, Size 0,15m, Grow For 2, Fade For 4. Emit Stop nastavte na -40. aby nám objekt na snímku 0 už hezky hořel. Parametry Emit Stop a Display Unit nastavte podle délky vaší animace. V části Particle Type ponechte volbu Standart Particles a vyberte Sphere. Nakonec zobrazte okno Object Properties a v části Motion Blur vlevo dole zaškrtněte Enabled, přepněte na Image a hodnotu Multiplier změňte na 5. Teď nám z našeho objektu pomalu vylétávají jakési koule, ale jako oheň to rozhodně nevypadá!!! Co s tím??? Částice bude potřeba nějak popohnat směrem vzhůru. K tomu budeme potřebovat něco jako vítr. Vytvořte objekt Wind - panel Create\Space Warps (taková ta vlnovka)\tlačítko Wind. Otočte jej tak, aby směřoval kolmo vzhůru a nastavte parametry: Strength 0,1, Turbulence 0,5. Teď už zbývá jen propojit plameny s větrem. Vyberte objekt Plameny, stiskněte tlačítko Bind to SpaceWarp (taková šikmá vlnovka s čtverečkem, paté tlačítko zleva v Main Toolbaru nahoře, na obrázku níže vyznačeno zeleně) a tažením jej propojte s větrem. Teď už by plameny měly poslušně směřovat směrem vzhůru.
Nastavení materiálu plamenů
Teď je potřeba plameny nějak obarvit. V Material Editoru vyberte nepoužitý Standard materiál, pojmenujte jej Plameny, přiřaďte jej objektu Plameny a v části Self-Illumination nastavte 100. Přepněte Material Effects Channel nahoře nad názvem materiálu na 1, později se nám to bude hodit při tvorbě záře. Klepněte na slot Diffuse Color a z Material/Map Browseru vyberte mapu Particle Age. Color 1 nastavte na žlutou, Color 2 na oranžovou a Color 3 na červenou. Uživatelé starších verzí 3ds max budou muset místo mapy Partcle Age použít mapu Gradient, bude to chtít ale hodně experimentování a výsledek nebude dokonalý. Nyní máte tvorbu plamenů za sebou a můžete scénu zkusit vyrenderovat.
Rozpálený materiál
Objekt by nám už měl hořet, ale k dokonalosti to má ještě daleko. Nyní budeme muset náš model trochu "rozžhavit". Vyberte materiál vašeho objektu, přejmenujte jej například na Dragon_Skin a parametr Self-Illumination nastavte na 100. Klikněte na tlačítko vpravo od jména materiálu, kde je zobrazen jeho typ (nejspíš Standard) a z okna Material/Map Browser vyberte Blend. V okénku Replace Material vyberte volbu Keep old material as sub-material, stiskněte OK a pojmenujte jej například Dragon. Vytvořili jste materiál, který nám umožní smíchat dva materiály dohromady. Přetáhněte materiál Dragon_Skin do slotu Material 2, v okénku Instance (Co... vyberte Swap a stiskněte OK, teď by měl být původní materiál ve slotu Material 2. Klepněte na slot Mask, z okna Material/Map Browser vyberte mapu Noise a pojmenujte ji Mask. Color 2 změňte na velmi, velmi světle šedou (např. RGB 220,220,220), prohoďte barvy tlačítkem Swap a Size změňte na 75. Noise mapa vytváří rozmazané fleky barvy 2 na pozadí barvy 1. Problém je, že se barvy míchají a při míchání například černé s bílou nikdy nedosáhnete ani jedné z těchto barev, jen jakési tmavě a světle šedé. To obejdeme vhodným nastavením color mapy, která umožňuje nastavení rozsahu barev. Aby jste viděli výsledek své práce tak stiskněte tlačítko Show And Result vpravo nahoře od názvu mapy (viz obrázek), díky tomu v náhledovém okně neuvidíte výsledný materiál, ale jen aktuální mapu. V části Output zaškrtněte políčko Enable Color Map, oddalte pohled nástrojem Zoom Vertically dole vpravo a nástrojem Move upravte body křivky podle obrázku. Potom opět přepněte tlačítko Show And Result, aby jste znovu viděli celý materiál. Vraťte se zpět na Blend Materiál Dragon a otevřete horní slot Material 1. Přejmenujte jej například na Dragon_Red, Material Effects Channel přepněte na 2 a Self-Illumination nastavte na 100. V části Maps klepněte na slot Diffuse, vyberte mapu Noise, Size nastavte na 50 a barvy na červenou a žlutooranžovou. Nakonec se ujistěte že Blend materiál Dragon je přiřazen vašemu hořícímu objektu (jeho původní a NE nízkopolygonové verzi) a nastavení materiálů máte za sebou. Vyrenderujte scénu a měli byste vidět objekt přibarvený oranžovými a žlutými fleky, ze kterého šlehají plameny. Stále tomu ale něco chybí...
Render Effects
V tomto kroku vytvoříte kolem plamenů a objektu mírnou záři a nakonec jej ještě trochu rozmažete blurem. Zobrazte okno Rendering Effects (menu Rendering\Effects...), klikněte na tlačítko Add... vpravo nahoře a z okna Add Effect vyberte Lens Effects. V levém poli v části Lens Effects Parameters vyberte Glow a šipkou vpravo jej natáhněte do scény. V části Glow Element nastavte Size na 0,3 a Intensity na 30. Levou barvu Radial Color změňte na žlutou, pravou barvu můžete klidně nechat červenou. Přepněte se na záložku Options, odškrtněte položku Light, zaškrtněte políčko Effects ID a hodnotu ponechte na 1 (viz obrázek). Když teď scénu vyrenderujete, tak by se na konci výpočtu přes plameny měla objevit slabá záře, která je obarví trochu víc dožluta a přidá jim na přirozenosti. Nyní vytvoříte záři kolem vašeho hořícího objektu. V levém poli v části Lens Effects Parameters opět vyberte Glow a šipkou vpravo jej natáhněte do scény. V části Glow Element jej přejmenujte například na Glow_Dragon, levou barvu Radial Color změňte na oranžovou a nastavte parametry: Size 0,5, Intensity 50. Přepněte se na záložku Options, odškrtněte položku Light, zaškrtněte políčko Effects ID a hodnotu změňte na 2. Tím jste dosáhli slabé záře kolem vašeho hořícího objektu. Nakonec ještě zbývá přidat objektu mírné rozmazání, které výsledný dojem trochu vylepší. Znovu stiskněte tlačítko Add.. a vyberte Blur. Blur Type ponechte na Uniform a hodnotu Pixel Radius změňte na 1,0. Přepněte se na záložku Pixel Selections, odškrtněte políčko Whole Image a zaškrtněte Material ID. Hodnotu ID změňte na 2 a stiskněte tlačítko Add. Teď máte tvorbu ohně za sebou, ale scéna je pořád nějak prázdná...
Tvorba vody
Aby našemu objektu nebylo smutno, tak mu vyrobíme nějaké primitivní okolí, alespoň než dostane nějaké přítulnější. Velmi efektní bude například voda, ve které se náš hořící objekt bude odrážet. Vytvořte plane o značných rozměrech, například 100x100 metrů, a umístěte jej tak, aby byl objekt ve vodě trochu ponořen. Pojmenujte jej Voda, počet segmentů můžete nastavit na 1x1, protože voda bude (překvapivě) úplně plochá... Otevřte Material Editor a vyberte materiál v nepoužitém slotu. Ujistěte se že se jedná o typ Standard a pojmenujte jej Voda. Nahoře vlevo v části Shadre Basics Parameters změňte shader na Anisortropic. Shader ovlivňuje chování materiálu vzhledem ke světlům, především pak spekulární odlesky. Barvu Diffuse nastavte na šedomodrou, Specular na světle modrou a Ambient na tmavě šedou. Parametr Opacity určující průhlednost (čím nižší číslo, tím průhlednější) nechte na 100. Možná to zní divně, protože voda je ve skutečnosti docela průhledná, ale pro naše účely nám takto postačí. V poli Specular Highlight nastavte parametry: Specular Level 150, Glossiness 50, Anisotropy 50 (viz obrázek). V části Maps klepněte na slot Bump a vyberte mapu Noise. Parametr Size změňte na 10, barvy můžete ponechat. Vraťte se na materiál Voda a do slotu Reflection nahrajte mapu Raytrace. Odraz plamenů ve vodě by výpočet zbytečně prodloužil a navíc by se kolem jejich odrazu vykreslila záře, což ve výsledku nevypadá zrovna nejlépe. Proto je z výpočtu odrazu vynecháme. Stiskněte tlačítko Local Exclude..., v levém poli vyberte objekt Plameny a šipkami jej přesuňte do pole vpravo. Vyrenderujete scénu a kochejte se výsledkem... Objekt stojí ve vodě, kde je vidět jeho odraz a jsou na ní mírné vlnyky... Přesto to ale vypadá špatně....
Nasvícení
Vzhled scény výrazně zlepšíme vhodným nasvícením. K ohni se nejlépe bude hodit noční prostředí. Vytvořte světlo Free Direct (Create\Lights\Directional Light), umístěte jej vysoko nad scénu a nějak natočte (já jsem ho nasměroval přímo na kameru). Světlo má vliv pouze na vzhled vody, protože hořící objekt a plameny mají nastaven parametr Self-Illumination na 100, a tak je světla vůbec nezajímají. V panelu Modify v části Intensity/Color/Attenuation nastavte parametr Multiplier na 0,1 a v části Directional Parametres nastavte Hotspot/Beam na velkou hodnotu, například 300 metrů, aby světlo zasvítilo celou scénu. Teď už voda vypadá mnohem přirozeněji. Oheň většinou svítí, proto vytvořte světlo Omni (Create\Lights\Omni Light) a umístěte jej těsně nad hořící objekt. V části Intensity/Color/Attenuation nastavte parametr Multiplier na 3,0 a barvu na oranžovou. V poli Far Attenuation zaškrtněte políčko Use a nastavte parametry: Start 2m, End 12m. Tím jste nastavili útlum světla, bez tohoto nastavení by svítilo donekonečna (takto silný oheň jsem ještě neviděl...). Vše už vypadá celkem krásně, jen jsou pořád vidět odporné kraje plochy představující vodu. Těch se naštěstí můžeme zbavit například...
...použitím mlhy
Pro práci s mlhou je nutné mít ve scéně kameru, tak nějakou vytvořte a nasměrujte. V panelu Modify v poli Enviromental Ranges zaškrtněte políčko Show a nastavte parametry: Near Range (určuje, kde bude mlha "začínat", nastavte podle vzdálenosti hořícího objektu od kamery), Far Range (určuje, kde bude mlha "končit") na 60m. Otevřte okno Environment (menu Rendering\Environment...), v části Atmosphere klikněte na tlačítko Add... a z nabídky vyberte Fog. Změňte její barvu na černou a máte hotovo. Konečně...
Závěr
Gratuluji za (snad) úspěšné ukončení návodu a doufám, že jste s výsledkem spokojeni. Nezapomeňte si uvědomit, že každý návod pro 3ds max je pouze "cesta", která vám má pomoct při řešení problému "...jak mam tohle proboha udělat???" a nikoliv přesný postup, kde by jste se museli držet každého parametru. Mé nastavení určitě není dokonalé a experimentováním se můžete dopracovat k mnohem reálnějším výsledkům. Přeji tedy hodně štěstí při virtuálním zapalování a doufám, že se setkáme u příštího tutoriálu.
Hotová scéna ve formátu pro 3ds max 5 zakomprimovaná WinRARem 3.30 je ke stažení zde, 150kB.
Tématické zařazení:
-
23. dubna 2014
Konica Minolta přenesla výhody velkých zařízení do kompaktních modelů
-
11. května 2014
-
23. května 2014
Epson na konferenci Droidcon Berlin ukázal nové možnosti čekající na vývojáře OS Android
-
24. listopadu 2014
-
13. května 2014
Samsung NX3000: retro styl, špičkový výkon a snadná konektivita v jednom přístroji
-
30. listopadu 2014
Nový fotoaparát α7 II: první plnoformát s pětiosou optickou stabilizací obrazu na světě
-
15. prosince 2014
Konica Minolta pomůže živnostenským úřadům s digitalizací dokumentů
-
11. května 2014
-
26. listopadu 2014
Canon Junior Awards již posedmé ocení mladé fotografy v rámci Czech Press Photo
-
21. srpna 2014