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:
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:
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:
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:
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ů
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:
Přepneme se do wire módu a začneme obtahovat skálu:
Pokračujeme v extrudování, a to pokud možno tak, abychom rozbili jakoukoli pravidelnost
A pomalu začneme uzavírat okraje skály:
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:
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:
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:
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:
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:
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:
A náhled ve 3D okně:
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:
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:
Po odstranění této drobné chybky můžeme domodelovat horu v pozadí:
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:
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:
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:
Zde je pro srovnání původní obrázek:
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í:
-
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