Blender tutoriál: UV projekce v praxi - Grafika.cz - vše o počítačové grafice

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

Blender tutoriál: UV projekce v praxi

2. dubna 2008, 00.00 | V prvním díle o modifikátorech jsme narazili na pojem UV projekce a na modifikátor, který ji zajišťuje. Dnes se podíváme na zajímavou techniku pro tvorbu
rozsáhlých prostředí, využívající právě UV projekci.

O čem že to dnešní článek bude? Velice zjednodušeně by se dalo říci, že půjde o pouhý průlet krajinou, nicméně postup tvorby je tentokrát jiný, než na jaký je běžný uživatel Blenderu zvyklý (pakliže se takový pojem vůbec dá považovat za ustálený :)). Stěžejním bodem v naší krajině bude právě modifikátor UV Project, o kterém jsme si pověděli v prvním díle o modifikátorech. Jak možná již v této chvíli někteří tušíte, naše krajina bude sestávat z několika objektů, na něž se bude promítat obrázek krajiny. A o jakou krajinu se bude jednat? Po krátkém hledání na Google určitě každý najde aspoň přibližně to, co potřeboval. Já jsem se spokojil s http://www.aumrs.com.au/ICEM-08/General/Partners/img_blue_mountains.jpg:

Krajina

Nenechte se odradit další fází - předpokládám, že by pro někoho mohla představovat problém, ovšem údělem každého grafika je překonat nástrahy digitálních prostor veškerými možnými prostředky. O čem to mluvím? Otevřeme si náš oblíbený 2D program a upravíme fotografii tak, abychom měli samostatný podklad bez objektů, které budeme později mapovat ve 3D prostoru. Tato fáze není nikterak těžká, jen vyžaduje jistou dávku trpělivosti, trochu zkušeností, znalost klonovacího razítka, nepravidelného výběru a zkratky CTRL+C a CTRL+V. Přitom je důležité stále myslet na to, jak krajina vypadá na originálním obrázku, tzn. zachovat geometrii a pokud možno i stínování. Náš obrázek jsme tedy upravili takto:

Upravená fotografie

Ano, není to to nejlepší, co bychom mohli získat, nicméně po namapování v prostoru zjistíme, že pár drobných nesrovnalostí nemá na výsledek žádný vliv. Pokud by měl někdo zájem o takto upravený obrázek ve velkém rozlišení, může si ho stáhnout zde (795 kB). Dalším krokem bude spuštění Blenderu a nastavení oken tak, abychom měli přehled, třeba takto:

Nastavení oken
Pozn.: vlevo je pohled z kamery, vpravo nahoře pohled shora, vpravo dole potom pohled zepředu

Nyní si v okně, v němž jsme přepnutí z pohledu kamery, nahrajeme náš obrázek na pozadí. Vím, že jde o obecně známou funkci, ale přece jen ji pro jistotu uvedu: Obrázek se nahrává přes header 3D okna -> View -> Background image. Zde zatrhneme volbu Use a poté můžeme tlačítkem Load obrázek nahrát:

Nahrání obrázku na pozadí

Parametrem Blend můžeme ovlivnit průhlednost obrázku (zbytek nás nemusí zajímat) a natočíme kameru přibližně o 20° dolů

Pootočená kamera

Rozdělení obrazovky na tři okna nyní ukázalo své pozitivum - v ostatních oknech se obrázek neukázal, takže nás nebude rušit při práci. Odhadnout tvar skály v popředí na první pohled nebude nic lehkého. Přidáme Plane, který nejdříve natočíme tak, abychom měli dobrou výchozí pozici pro přibližné vymodelování skály:

Modelování skal

Přepneme se do wire módu a začneme obtahovat skálu:

Modelování skal

Pokračujeme v extrudování, a to pokud možno tak, abychom rozbili jakoukoli pravidelnost

Modelování skal

A pomalu začneme uzavírat okraje skály:

Modelování skal

V horní části je důležité dbát na detaily, aby nám obrázek po namapování seděl na objektu co nejlépe:

Modelování skal

Z jistých hledisek by bylo lepší přidat UV projekční modifikátor již dříve, ale nyní aspoň máme větší mesh, se kterým můžeme pracovat a zkontrolovat, jak nám mapování sedí. Nejdříve zkopírujeme kameru a přejmenujeme ji (např. "proj"). Toto nám zajistí, že se obraz bude promítat ze "správné" pozice a my budeme moci v budoucnu pohybovat naší kamerou nezávisle na projektoru. Poté nastavíme v UV Face select modu všem facům potřebnou texturu a nakonec meshi přidáme UV project modifikátor:

UV project

Samozřejmostí je také přidání světla, v našem případě postačí jedno Hemi přibližně ze směru, který je naznačen v obrázku:

Světlo ve scéně

Teď už stačí jen meshi přidat nějaký základní materiál a nastavit mu TexFace, poté si můžeme SHIFT+P přidat Preview render a zkontrolovat výsledek. Pokud jsme neměnili nastavení naší projekční kameře, mělo by se nám zobrazit něco takového:

Preview

Textura nám na pár místech trochu "ujíždí". Pokud se podíváme pozorně, klidně i z pohledu kamery (pro srovnání s obrázkem namapovaným na pozadí), zjistíme, že obrázek je roztáhlý na výšku. Jak z toho ven? Pomoc je opět snadná, tentokrát přijdou ke slovu parametry AspX a AspY v nastavení modifikátoru. Tyto parametry totiž - jak již dobře víme - určují poměr stran našeho obrázku. Postačí nám znát rozměry obrázku (2 500 x 1 875) a s trochou matematiky dopočítáme potřebný AspX. Když AspY bude roven 1 (tedy 2 500 : 2 500 = 1), pak AspX bude přibližně 1,33 (2 500 : 1 875 = 1,33333). Zadáme tedy číslo do políčka a ihned vidíme mnohem lepší výsledek:

Skála...téměř

Pokud by někoho znepokojoval onen kus nebe, který zasahuje do našeho meshe, tak o nic nejde, tato část nepůjde ve výsledku vidět. Pokud bychom tímto ovšem byli krajně znepokojeni nebo bychom plánovali detailnější pohled na naši scénu, není problém opět sáhnout po našem oblíbeném 2D programu a opět si trochu pohrát. Nicméně takto detailní úpravy by nás momentálně zbytečně zdržovaly, co je pro nás směrodatné je fakt, že textura nepřesahuje prostor, který jí byl vymezen. Nyní můžeme spokojeně pokračovat v modelování. Jako užitečný tip (nejen v tomto případě) můžu dodat, že je VŽDY lepší nejdříve "vychytat" proporce, tedy základní tvar, a poté se postupně propracovávat k detailům. My před sebou máme v současné chvíli zhruba takovýto pohled:

Hotová skála bez detailů

A náhled ve 3D okně:

Náhled na wire

Teď můžeme začít přidávat detaily, pro potěchu oka lze zapnout Subsurf. Jen podotýkám, že detaily bychom měli přidávat za pomoci face loopů, nikoli pomocí "jednorázové" úpravy Sudivide, která vytváří trojúhleníky, pokud takto nezahustíme celý mesh najednou. Až dotvoříme detaily, zjistíme, že se nám možná mřížka ani zbytečně moc nezhustila:

Další wire - tentokrát již hotový model

Dokonce i náhled ve 3D okně vypadá mnohem lépe (pro větší náhled klikněte na obrázek):

Pokud jste do této chvíle postupovali stejně jako já - bez pomyšlení na nějakou výraznou hmatatelnou chybu - nechali jste se lapit do pasti stejně snadno jako já. Kamenem úrazu by se totiž mohl stát horizont, který jsme nenastavili korektně, ale může nás zachránit jedna drobná finta, a sice natočení meshe i s kamerou o 5° nahoru. Že jsme nastavili správně horizont, zjistíme např. podle toho, pokud přidáme plane, který posuneme na úroveň horizontu, který vidíme v obrázku - plane bude vidět jako velmi tenký objekt:

Nastavení horizontu

Po odstranění této drobné chybky můžeme domodelovat horu v pozadí:

Scéna se začíná rýsovat

Ano, v tuto chvíli to možná ještě vůbec nevypadá jako plnohodnotná grafika, nicméně už se nám začíná rýsovat výsledek. Teď přijde ke slovu obrázek scény, jak jsme jej upravili na začátku:

Pozadí bez hor
Pozn.: zde je důležité umístit horu v pozadí tak, aby byla její základna alespoň přibližně ve stejné výšce jako základna hory v popředí

Tento obrázek se nám bude promítat na mesh, který bude představovat zbytek scény. Tu ovšem ještě dodatečně rozdělíme na oblohu a zemi, nejdříve tedy vymodelujeme terén, na což nám postačí opět obyčejný plane, který později zahustíme. Doporučuji opět nejdříve zpracovat hrubý obrys a poté až pracovat na detailech:

Všimneme si, že hora je samostatný mesh. Co z toho vyplývá? Pokud zkusíme scénu vyrenederovat, zjistíme, že hemi světlo vystínovalo meshe tak, že lze poznat, že nejsou pohromadě. Bohužel, meshe nemůžeme spojit - na každý se totiž promítá jiný obrázek - ale můžeme jim v Material buttons nastavit hodnotu shadeless - to zajistí, že nebudou ovlivněny světelnými zdroji. Z čistě estetických důvodů ovšem stínování nebudeme vypínat pro skálu v popředí - scéna by potom nevypadala tak plasticky. Nyní se krátce zaměříme na přechod na horizontu. Je potřeba, aby byla síť dostatečně zahuštěna, nemusíme ovšem již tolik dbát na detaily, jako v případě skály v popředí:

Stejně tak se nemusíme dále zaobírat extrudováním meshe dále do pozadí - kamera bude sice zabírat i tento přechod, ale takovýto drobný detail bude sotva rozpoznatelný. Na tomto místě je vhodné uvést, že pokud nám kamera nerenderuje zadní část scény, stačí jí nastavit větší rozsah zobrazení (konkrétně upravením hodnoty limitu Clip End) - v Edit buttons (F9). Teď už můžeme přistoupit k tvorbě poslední části - oblohy. Na to nám postačí přidat kruh a odstranit jednu jeho část:

Není obloha jako obloha

Tento mesh extrudujeme nahoru tak, aby pokryl výhled, a přidáme mu UV project modifikátor. Přidáme mu stejný obrázek na promítání jako má terén. Projektorem bude opět naše známá kamera "proj". Po vyrenderování obrázku zjistíme, že je téměř nerozeznatelný od originálu:

Počítačové zpracování fotografie

Zde je pro srovnání původní obrázek:

Pro srovnání originál

Utrpěla zejména kvalita textur, což má ovšem na svědomí antialiasing. V současné chvíli není způsob, jak toto redukovat, leda bychom použili obrázek jako texturu mapovanou z objektu "proj" a v texturovém nastavení stáhli hodnotu Filter, nicméně potom by postup s modifikátorem UV project ztratil smysl :). Pro optické zvětšení zabírané oblasti můžeme renderovat v širokoúhlém formátu. Zde musím přiznat, že jsem se nechal inspirovat nápadem kolegy Michala Vindušky, a to konkrétně z tutoriálu Modeling busty fantasy charakteru "Knedlík" - 3. část, kde využil youtube.com jako zprostředkovatele svých animací. Tímto bych mu chtěl poděkovat za přínosný nápad a zároveň prezentovat výsledek našeho dnešního snažení:

Pokud by měl někdo zájem o video v .avi formátu, může si ho stáhnout zde (640 x 360, avi divx, 2,9 MB)

Toto byl samozřejmě jen střípek možností UV project modifikátoru. Není nic snazšího, než do animace přidat nějaký vlastní objekt - budovy, další nerovnoměrnosti terénu či jen prolétající stíhačku. Stejně tak by si zasloužila i obloha trochu víc propracovat, např. abychom mohli pojmout širší úhel pohledu, nicméně pro demonstraci možností UV project modifikátoru to myslím stačilo. Za námět na tento článek bych chtěl poděkovat také Petru Domesovi z Havířova, který dal hlavní impuls pro článek s tematikou promítání textur na mesh :). Přeji hodně úspěchů při objevování nových postupů s touto velmi zajímavou technikou.

Tématické zařazení:

 » Rubriky  » VSE  

 » Rubriky  » 3dscena  

 » Rubriky  » Go verze  

 » Rubriky  » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: