Lightwave a oheň - 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

Lightwave a oheň

18. prosince 1999, 00.00 | Jak vyrobit v Lightwave realistický oheň?

Všichni to známe. Pokud si na nás někdo rovnou nevymyslí tisíc těžkooděnců na koních černých jako uhel, kterým se nad hlavami majestátně vznáší hejno draků připravených v jediné sekundě proměnit hrad kladného hrdiny v hromádku popela - armádu, valící se v nekonečných šicích odkudsi z onoho tajemného místa za obzorem, kam kamera nikdy nevkročila, a polygony tam dávají dobrou noc, bude určitě ve scénáři kromě několika pěstních soubojů, průletů mraky a dalších animátorských nočních můr alespoň jedna zmínka o ohni, ohništi, krbu nebo alespoň zápalce.

Každý animátor, který ve scénáři narazí na podobnou nechutnost, má několik možností. Pokud nezabere to úplně první řešení, totiž pokusit se svým šarmem zapůsobit na scénáristu takovým způsobem, aby se např. krb ocitl mimo záběr kamery, a celou scénu osvětlovalo pouze mihotavé světlo, je boj v podstatě prohraný. Nyní nezbude nic jiného, než se zamyslet nad tím, jakou metodou zhmotnit to, co někdo tak jednoduše vymyslel. Možností je hned několik. Můžeme se pokusit oheň nasimulovat s možnostmi programu který používáme, nebo můžeme použít oheň reálný, a pokusit se o kompozici. Hned na úvod je potřeba si uvědomit, že jakýkoli počítačem/animátorem generovaný pokus o oheň nebude nikdy vypadat tak dobře jako pravý, a většinou vypadá dobře pouze z dálky. Na druhou stranu se klidně může stát, ze bude kompozice s reálným ohněm natolik složitá (nebo neproveditelná), že nám nic jiného než počítačem generovaný oheň nezbude.

Pokud se rozhodneme pro oheň reálný, můžeme si pronajmout rychloběžnou (trikovou), digitální nebo úplně normální kameru, vzít barel napalmu, a vyrazit si hrát někam hodně daleko od civilizace. Můžeme ale také vše svěřit odborníkům, a objednat si buďto konkrétní efekt, nebo si koupit jednu z kolekcí již připravených pyroefektů. Jen tak namátkou je to například Pyromania I/II/Pro, RealFire a RealExplosions. Kolekce Pyromania je snad nejstarší kolekce tohoto druhu, a je stále velice populární (hlavně u vývojářů her - pro ni typický "bramborovitý" 0G výbuch je možno vidět snad ve všech počítačových hrách). RealFire a RealExplosions je zase velice profesionální (a dražší) a vyniká hlavně tím, že její ohně jsou zaloopované. Pokud se rozhodneme pro počítačové zpracování, stojíme opět na rozcestí. Můžeme totiž použít buďto nějaký generátor částic, a náš efekt nasimulovat pomocí partiklů, nebo se můžeme pokusit o malý podvod, a nasimulovat náš efekt vhodným použitím dobře otexturovaného objektu. Ovšem ono to stejně nakonec dopadne tak, že budeme muset použít metody obě - objekt pro samotné plameny, a partikly pro odskakující jiskry a uhlíky.

No a právě simulování jednoho z těchto pyroefektů si ukážeme na malém příkladu. Nepůjde o kompletní scénu se vším co k tomu patří, pouze si ukážeme, jak bez jakýchkoli pluginů a shaderů vytvořit plápolající krbový oheň. Snažil jsem se o co nejjednodušší výrobní proces a co nejkratší dobu nutnou pro jeho vytvoření - jakkoli se to zdá vzhledem k rozsáhlosti tohoto článku nepravděpodobné, k finálnímu výsledku se propracujete za cca 10-15 minut. K provedení tohoto malého tutoriálu budete potřebovat program Lightwave 3D a nějaký kreslící program pro vytvoření gradientu.

Modeler

Naší práci začneme v modeleru. Pro dosažení prostorového vjemu nám postačí lehce zdeformovaný válec, a protože ho budeme nakonec v Layoutu deformovat pomocí displacement mapy, musíme náš válce hodně zahustit (čím více polygonů, tím méně se nám budou při deformacích polygony "lámat ). Následuje tedy krok první - vytvoření válce. V Modeleru najdete Disk Tool v menu Objects v sekci Create. Klikněte na něj, a hned potom na druhý buton od spodu - Numeric (Tím se dostaneme do číselného zadávání hodnot - tato funkce pracuje s každým právě zvoleným nástrojem, a vyvolává se klávesovou zkratkou [n] - pozor, Lightwave rozlišuje pro klávesové zkratky malá a velká písmena!). Do reqesteru zadejte tyto hodnoty:

Tím jsme úspěšně vytvořili základní kámen naší malé animace - válec v ose Y, který má po obvodu 24 sekcí, od shora dolů je rozdělen na 6 segmentů, má poloměr 400mm v ose X, 100mm v ose Z a je 700mm vysoký.

Pro jednoduchý oheň by to mohlo stačit, ale my máme v plánu oheň animovaný, a pro náš účel je válec ještě stále málo hustý. Teď se možná mnozí z vás ptají, proč náš válec rovnou nevytvoříme tak hustý jak potřebujeme. Je to proto, že ho nebudeme pouze deformovat pro dosažení "plápolavého efektu", ale budeme na něj také dávat matematickou texturu Fractal Noise, kterou budeme animovat, a pro dosažení kýženého efektu potřebujeme náš válec ještě v průběhu modelování trošičku zdeformovat. Pokuste se představit si Fractal Noise jako sněhovou vánici pro kterou se zastavil čas. Sněhové vločky volně visí ve vzduchu, a pro lepší představu jsou pro nás momentálně neviditelné. Nyní si představte, že se po aplikování této vánice coby matematické textury na konkrétní objekt budou vločky při styku s povrchem objektu "zviditelňovat". Pokud bychom nyní aplikovali naší vánici na právě vytvořený válec, budou sice na jeho povrchu skvrny, ale pokud s celou vánicí budeme pohybovat směrem vzhůru, skvrny se sice budou po objektu pohybovat směrem nahoru, ale budou to stále jen skvrny, které jedou od zdola nahoru. Pokud bychom ale naší vánicí pohybovali směrem dozadu, budou se, při pohledu zpředu - ve směru pohybu naší textury, skvrny měnit a přelévat se jedna v druhou. My ale potřebujeme obojí - jak pohyb od zdola nahoru, tak dojem přelévání a měnění. Není tedy nic jednoduššího, než pohybovat touto texturou směrem vzhůru, a zároveň zdeformovat povrch našeho objektu tak, aby jeho stěny nebyly s pohybem textury zcela rovnoběžné. Použijeme proto funkci Jitter, kterou náš objekt zdeformujeme. Najdete ji v menu Tools v sekci Points [J]. V našem případě využijeme Gaussian Jitter s poloměrem X 20mm, Y 50mm a Z 30mm.

Pokračování článku naleznete ZDE.

Článek uveřejněn se souhlasem vydavatele časopisu PiXEL.

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: