Oblaka v Terragenu 2: dokončení - 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

Oblaka v Terragenu 2: dokončení

11. března 2008, 00.00 | V minulém článku jsme si ukázali, jak se vytvářejí oblaka, a "nakousli" jsme téma "density shader". Dnes na tento článek navážeme a vysvětlíme si, k čemu density shader slouží a jak se s ním pracuje.

Nyní konečně přejdeme k slíbenému popisu “density shaderu”. Jak již bylo řečeno, ten nalezneme u nastavení mraků pod záložkou “Main” (resp. odkaz na něj). Tento shader je vlastně matematická funkce, jejíž výsledek Terragenu říká, jaký tvar bude mrak mít.

Tento údaj z „density shaderu“ vstupuje do shaderu vrstvy mraků a je modifikován různými parametry, které jsme si vysvětlili v předchozím díle.

Doposud jsme nevěnovali pozornost tzv. „Node network“. Node network je jakési grafické znázornění všech objektů v naší scéně a jejich vzájemné vazby. Doposud jsme jej v naší práci nepotřebovali, ale zkusme si ukázat, jak vypadá „Node network“, když pracujeme s mraky.

V ukázkovém příkladě jsme vytvořili dvě vrstvy mraků. Nahoře vidíme uzel „Atmosphere 01“, který reprezentuje oblohu. Tento uzel v sobě skrývá veškeré nastavení atmosféry, jak jsme si ukázali o několik dílů dříve. Výsledek tohoto uzlu (tj. vzhled samotné oblohy) vstupuje do uzlu „Altocumulus layer 01“, který na pozadí atmosféry vykreslí jednu vrstvu mraků. A opět tento výsledek (atmosféra + mraky) vstupují do dalšího uzlu „Altocumulus layer 02“, kde se přimíchá další vrstva mraků.

Pokud bychom v naší scéně měli vrstev více, tak by zřetězení uzlu bylo delší. Výstup z posledního uzlu vstupuje do uzlu „Planet“, který představuje samotnou planetu, kolem které jsme tímto oblohu vytvořili.

Jistě jste si všimli, že každý uzel představující mraky má dva vstupy. Jednak je to obloha, na kterou budeme malovat, a druhým uzlem je již zmíněný „Density shader“, který nám říká, co budeme na vrstvu malovat.

Jako „density shader“ Terragen standardně používá „Cloud fractal shader v3“, což je shader, který generuje fraktálový vzor podobný mrakům na obloze. Nejsme ale odkázáni pouze na tento shader a můžeme použít i jiný.

Pro příklad zkusme vytvořit v „Node networku“ nový uzel tak, že klikneme na ploše „Node networku“ pravým tlačítkem a vybereme: Create shader/Colour shader/Image map shader, který představuje bitmapu. Vybereme na disku bitmapu, která bude představovat oblohu (v našem případě jsme použili bitmapu o rozměru 400 x 400 bodů, která obsahuje bílý text na černém pozadí).

Nyní když máme vytvořený uzel, spojíme výstup tohoto uzlu se vstupem uzlu pro vrstvu mraků. Takto:

Scénu vyrenderujeme.

Toto byl celkem „divoký“ příklad, ale ukazuje nám možnost vytvoření mraků v nějakém bitmapovém editoru a následné použití v Terragenu. Zrovna tak můžeme použít standardní "Cloud fractal shader v3" a již zmíněný "Image map shader", jejich výstup sloučit nějakou matematickou funkcí a tento výsledek použít jako "density shader" pro mraky.

Vidíme, že nejsme v Terragenu omezeni prakticky ničím a záleží pouze na naší fantazii, jak s tímto nástrojem naložíme.

Nyní založme novou scénu a vytvořme do ní jednu vrstvu mraků. Otevřeme si vlastnosti „density shaderu“ – je čas si popsat nastavení tohoto shaderu.

Shader je velice podobný tomu, který jsme již používali pro vytváření povrchu krajiny.

První záložka „Scale“ definuje velikost a členitost mráčků. „Leadin scale“ určuje velikost největších oblaků, „Smallest scale“ velikost nejmenších oblaků a „Feature scale“ průměrnou velikost oblaků. „Noise octaves“ se automaticky přepočítává podle zadaných rozměrů. Čím vyšší hodnota, tím členitější oblaka budou. Můžeme i přímo zadávat hodnotu „Noise octaves“, ale potom se bude automaticky měnit hodnota parametru „Smallest scale“.

Zde vidíme výsledek s použitím hodnot 5 a 10.

Přejdeme na záložku „Density“.

Zde nalezneme parametry „Contrast“, „Coverage adjust“ a „Rougness“.

Tento shader funguje tak, že na základě matematické funkce vytvoří z odstínů šedi fraktálový vzor. Černá barva ve vzoru definuje místo, kde se nebude mrak nacházet. Bílá naopak místo, kde bude mrak nejjasnější.

Parametrem „Contrast“ určíme, jaký má být kontrast mezi bílou a černou barvou ve výsledném vzoru. Nízkou hodnotou docílíme jemného a méně výrazného vzoru. „Coverage adjust“ posouvá výsledné barvy buď k černé, nebo k bílé. Nízká hodnota – výsledek bude obsahovat více tmavé barvy, vyšší hodnota – výsledek bude obsahovat více světlé barvy. A konečně „Rougness“ definuje členitost přechodu mezi černou a bílou barvou ve vzoru; čili určuje členitost okraje mraku.

Na třetí záložce „Tweak Noise“ najdeme parametry, které ovlivňují samotný tvar fraktálového vzoru.

Nesmírně důležitým parametrem je „Noise flavour“, který nám dává na výběr z pěti různých matematických funkcí pro vytvoření vzoru, a tím přímo ovlivňuje tvar generovaných mraků. Toto je vlastně základní kámen při vytváření tvaru mraků a popravdě moc nechápu, proč jej tvůrci Terragenu schovali až do třetí záložky.

Standardně se používá funkce „Perlin“, ale poměrně zajímavých výsledků dostaneme za použití funkce Perlin billows čí Perlin ridges.

Fraktálový vzor se skládá z mnoha malých a velkých ploch, různě promíchaných a vytvářejících shluky. Pokud bychom chtěli modifikovat počet střídajících se malých a velkých ploch, tak sáhneme k parametru „Noise variation“. Vyšší hodnota produkuje „divočejší“ vzor a zároveň zvyšuje kontrast vzoru.

Algoritmus, který bude variace vytvářet, vybereme parametrem „Variation Method“. Ten může nabývat jedné ze tří hodnot:

Clamped multifractal, Unclamped multifractal a Multiscale modulátor. Ukázky těchto tří metod si můžeme prohlédnou zde:

Variace ve vzoru můžeme modifikovat parametry: „Buoyance From Variation“ a „Clumping of Variation“

„Buyance“ definuje kontrast vzniklých shluků. Se zvyšující se hodnotou získáme kontrastnější výstup.

„Clumping“ určuje, jak se budou různé shluky oblaků spojovat. Zvýšíme-li hodnotu, získáme velké a souvislé plochy. Nízká hodnota naopak produkuje samostatné a členité útržky mraků.

POsledním parametrem na záložce je „Noise stretch“, který umožňuje roztáhnout vzor do jednotlivých směrů.

Poslední záložka je „Warping“, pod kterou najdeme možnost dodatečně zdeformovat vzor další matematickou funkcí.

Parametrem „Leadin warp effect“ si vybereme, jakým způsobem ono zdeformování provedeme. K dispozici je zatím pouze jeden algoritmus, takže si můžeme vybrat mezi ním, nebo mezi vypnutím této funkce. A hodnotou „Leadin warp amount“ nastavíme sílu této deformace.

A to by bylo o práci s "Density shaderem" vše. Jak jsme si již řekli, shader pro tvorbu mraků je téměř shodný se shaderem, který se používá pro generování tvaru pohoří. Můžeme tedy všechny tyto znalosti využít i při vytváření krajiny. Příště bychom už opravdu ukončili náš seriál o obloze a udělali si takový souhrn naší série o vytváření oblohy a dali bychom dohromady jakousi databázi základních typů oblohy.

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: