Modelujeme stromy v Blenderu (1. část) - 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

Modelujeme stromy v Blenderu (1. část)

12. ledna 2009, 00.00 | Vážení čtenáři, vítám vás u dalšího článku. Jak již název napovídá, právě čtete první díl dvoudílné minisérie. A čemu se zde budeme věnovat? Zaměříme se na tvorbu rostlin - převážně stromů, které se dají využít ve scéně.

Vážení čtenáři, vítám Vás u dalšího článku. Jak již název napovídá, právě čtete první díl dvoudílné minisérie. A čemu se budeme v našich setkáních věnovat? Zaměříme se na tvorbu rostlin - převážně stromů, které se dají využít ve scéně.

Používat budeme program Blender v. 2.47 a doprovodné materiály z internetu.

Jak již bylo řečeno, tutoriál bude rozdělen na dvě samostatné části - v první, kterou právě čtete, se naučíte vytvářet rostliny s využitím alfa kanálů, a v následujícím se naučíte vytvářet kompletní 3D strom z křivek za pomoci přiloženého python skriptu.

Toliko k úvodu, pojďme se podívat na alfa kanál.

Jako alfa kanál se označuje vrstva obrázku, která je průhledná. Často bývá zobrazena jako čtverečkované pole, běžně známé jak z programů pro práci s obrázky (jako je Gimp a Photoshop), tak i z Blenderu:

Takže, pokud se v obrázku vyskytuje alfa kanál, program jej často bere jako neviditelný - průhledný.

K čemu se to vůbec hodí? Představte si, že pracujete na nějaké scéně. A řešíte dilema, jak jednoduchým způsobem zkrátit renderovací čas. Jak už totiž víme, čas renderu je přímo závislý na množství vertexů viditelných ve scéně. Musíte buďto objekty zjednodušit na úkor kvality anebo některé nahradíte - převážně v pozadí - něčím jiným. Jelikož u nich nemusí být tak zřetelně poznat třetí rozměr, použije se místo plnohodnotného objektu (s třeba 500 vertexy) objekt Plane (4 vertexy), na který naneseme texturu. Kolem obrázku by nám ale zůstalo barevné pozadí, což pochopitelně nechceme. A to právě řeší alfa kanál.

Ale jak na to? V zásadě existují dva způsoby:

  1. Máme k dispozici texturu, která obsahuje alfa kanál (a Blender s ním umí pracovat) ve formátech jako jsou PNG a TGA
  2. Použijeme dva samostatné obrázky. Jeden bude definovat samotný obrázek (vlevo) a druhý plochu, která se nebude vykreslovat (vpravo).

To by byla trocha teorie, nyní k podkladům pro modelování stromů. Na internetových stránkách: http://blender-archi.tuxfamily.org/Textures jsou volně ke stažení obrázky stromů a keřů (nejenom), které jsou volně dostupné (samozřejmě zdrojů je více a je na každém, kde bude hledat, či zda si upraví vlastní fotografie).
Všechny obrázky stromů z výše uvedených stránek jsou ve formátu PNG, což napovídá, že není potřeba speciální soubor definující alfa kanál. Máme nepatrně jednodušší práci - materiál nebude muset obsahovat dva texturové kanály.

Máme tedy stažen soubor PNG, víme něco o alfa kanálech, tak vzhůru do modelování.

Začneme vložením jednoho objektu Plane jako země:

A dalšího, který bude prezentovat strom:

A na chvilku zpátky k obrázku. Dejme tomu, že jste si vybrali tento:

Jeho rozměry jsou 768 x 1 024 px. Poměr stran je tedy zaokrouhleně 0,7 : 1. A stejné poměry stran by měl mít i Plane v Blenderu, aby nedocházelo k prostorovému zkreslení. Upravíme tedy rozměry a přepneme se do materiálů:

Vytvoříme nový materiál a přidáme texturu typu Image:

Ujistěte se, že máte aktivovanou možnost UseAlpha. Ta zajišťuje, že program si bude všímat i alfa kanálu. A zpátky do materiálů.

Nyní musíme nastavit průhlednost a aktivovat vykreslování alfa kanálu. Začneme na kartě Map To:

K běžnému Col jsme přidali ještě navíc možnost Alpha. Program teď ze zdrojové textury přebírá nejenom barvu, ale i průhlednost. A teď změny na záložce Links and Pipeline a Material:

Aktivovali jsme průhlednost pomocí ZTransp a stáhli Alpha (A) na 0 - tímto zajistíme, aby pozadí bylo průhledné - stejný princip je použit i v dalších článcích (kupříkladu Vodní hladina). Na náhledu by se tyto změny měly projevit takto:

Pozadí už máme průhledné, tak zkusíme kontrolní render:

Jak vidíte, pořád jsou viditelné okraje původního obrázku. To je zapříčiněno odrazem od plochy. Jednoduchá náprava spočívá ve snížení hodnoty Spec na kartě Shaders na 0:

Strom by byl už v pořádku, ale jeho stín je pořád původní - obdélníkový.
Upravíme materiál povrchu, na kterém se má stín zobrazit (v našem případě je to země):

Po stisknutí tlačítka TraShadow (objekt přebírá průhledné stíny) už se vše vykresluje správně:

Stejným způsobem vytvořte více stromů, zkopírujte, změňte velikost, nastavte světlo, pozadí a vytvoříte si takový malý lesík.

A jak by vypadal druhý způsob? Když máte k dispozici dva soubory typu JPEG?
Postup je velice podobný. Vložíte objekt, upravíte rozměry a přiřadíte materiál. Avšak místo jednoho texturového kanálu vložíte dva - jeden pro barevnou texturu a jeden pro alfa vykreslování:

Není třeba mít aktivované tlačítko UseAlpha - je nahrazeno samostatnou texturou. Následně pro jednotlivé textury zapneme zobrazení - pro barevnou Col a pro alfa Alpha.

Toto ovšem není jediný způsob, jak se dá použít alfa kanál k tvorbě stromů. Často (především ve starších hrách) si můžete povšimnout kombinace prostorového kmene a koruny tvořené texturami. Jak na to? Zkusíme nejdříve model ve stylu Counter Strike. Vložte si do scény Cylinder a upravte tak, aby tvarem alespoň trochu připomínal kmen:

Na jeho vrchol umístěte do kříže zarotované dva objekty Plane, které budou tvořit budoucí korunu (nezapomeňte na poměr stran):

Vložíme nový materiál - veškerý postup je naprosto stejný jako v předchozím případě, ovšem teď navíc zapneme možnost UV mapování na kartě Map Input:

V UV/Image editoru si načteme tu samou texturu a dáme unwrap. Upravíme rozmístění textury tak, aby se nevykreslovala zbylá část textury s kmenem. Může to vypadat kupříkladu takto:

A stejný postup uplatníme i na druhou část koruny. A jako kontrola správnosti počínání není nic jednoduššího, než vykreslit scénu s texturami:

Vzhledem k jednoduchosti není výsledek nejhorší. Ovšem Plane nemusí jenom plnit funkci celé koruny, ale je možné vymodelovat celý kmen i se základními větvemi a teprve na větve přidat několik textur k dotvoření koruny.

Kdysi se ve hrách používal systém, kdy stromy neměly vůbec prostorový kmen, šlo o kombinaci výše uvedených způsobů a konečný výsledek vypadal nějak takto (jestli si někteří z vás pamatují hru Project: IGI) :

A na konec se jenom lehce naučíme základy tvorby alfa kanálu v Gimpu (Gimp je open source program na správu grafických souborů a je to víceméně takový Photoshop zdarma).

Takže, do Gimpu si načteme nějakou fotografii:

Jelikož je na fotografii plynulý barevný přechod v pozadí, nebude problém strom ořezat. Vybereme nástroj Výběr spojitých oblastí podle barvy

Oblasti obrázku, které jsou čárkované, jsou nyní vybrány. No tak je smažme:

Tímto způsobem odstraníme veškeré pozadí (kombinujeme výběr pomocí nástrojů na výběr plochy dle vlastností - jsou na prvním řádku v nástrojové liště:

Vložíme alfa kanál..

A nyní ho aplikujeme na obrázek kliknutím na plochu, kterou chceme smazat - kolem stromu se vytvoří výběr - a vrstvu smažeme:

Je vidět, že výběr není dokonalý, avšak pro potřeby článku je to postačující výsledek.

Nyní stačí uložit jako PNG a máme obrázek s alfa kanálem použitelný v Blenderu.

To už by k alfa kanálům snad stačilo, já se s vámi loučím a těším se na brzké setkání při tvorbě kompletního 3D modelu stromu.

Tématické zařazení:

 » 3D grafika  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

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

Uživatelské jméno:

Heslo: