Otexturování hlavy v Blenderu pomocí UV mapování - 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

Otexturování hlavy v Blenderu pomocí UV mapování

16. srpna 2004, 00.00 | UV mapování je zatím zřejmě nejpřesnější způsob jak nanést na váš 3d objekt texturu. V tomto článku naleznete základy jak UV mapování v Blenderu provádět, zejména pak popis nejnovější LSCM funkce pro unwraping sítě uvedené v Blenderu 2.34

Pro demonstraci, nikoli zcela vyčerpávající, UV mapování v Blenderu jsem zvolil model hlavy stylizované herní postavy, jehož autorem je Jan Kurka. Vy můžete samozřejmě použít jakýkoli jiný model hlavy, nebo pokud žádným nedisponujete, jednoduše vložte primitivum Mesh->Monkey, což je hlava opičky Suzanne :-)

Bez dalších průtahů se pustíme rovnou do práce:

Nastavení pracovní plochy

Ze všeho nejdřív si nastavíme pracovní plochu tak, abychom měli na očích 3D okno i UV editor. Kurzorem myši najeďte na horní okraj 3D okna- jednoduchá šipka kurzoru se změní na obousměrnou. Tehdy stiskněte pravé tlačítko myši a z menu, které se objeví, vyberte Split area.

Měla by se objevit vertikální linka, kterou budete moci pohybovat- vyberte její umístění zhruba v polovině obrazu a potvrďte levým tlačítkem myši. Okno se rozdělilo na 2. Najeďte kurzorem do toho pravého a stiskněte Shift+F10 nebo klikněte na ikonku mřížky vlevo na dolní liště a z pop up menu vyberte UV image editor

Nyní by vaše pracovní plocha měla vypadat podobně jako na obrázku. Vlevo je 3D okno, vpravo pak UV editor.

Metody UV unwrap

Vyselektujte v 3D okně objekt, v našem případě hlavu a stiskněte klávesu f ()- dostanete se tak do UV face select módu, ve kterém můžete pravým tlačítkem myši vybírat jednotlivé facy, které budeme následně unwrapovat. Face select mód je také možné zaktivovat kliknutím na Object mode (nebo Edit mode- zobrazuje se mód, ve kterém se právě nacházíte) na spodní liště a z pop up menu vybrat UV Face select. Zkuste vybrat všechny facy (klávesou a) a stisknout klávesu u. Objeví se menu s metodami unwrapu:

Navrhuji, abyste si jednotlivé typy mapování vyzkoušeli, získáte tak přehled, jak zhruba pracují. Přitom není nutné pokaždé vkládat nový objekt, nebo mazat staré UV koordináty- stačí postup opakovat a staré koordináty se přepíší novými.

Cube- kubické mapování- síť se rozloží podobně jako se dá rozložit kostka

Cylinder- válcové mapování- toto mapování je pro objekt hlavy pravděpodobně nejpřijatelnější z klasických metod (nebýt LSCM, použili bychom i v tomto tutoriálu Cylinder)

Sphere- sférické mapování

LSCM -nejpokročilejší metoda unwrapu v Blenderu, budeme se jí zabývat ve zbytku tutoriálu. To že je nejpokročilejší však neznamená, že je nutně vždy nejlepší, v praxi si s ní rozhodně nevystačíte na všechno...

Bounds- UV koordináty jsou spočteny z toho, co vidíme v 3D okně a pak jsou zmenšeny nebo zvětšny na zlomek rozměrů čtverce v UV editoru

Standard-každý face přepočítán na čterec

From Window- planární projekce toho, co vidíte v 3D okně- záleží tedy na tom, z jakého pohledu se na objekt díváte v okamžiku, kdy provedete From Window unwrap. Tato metoda je zatím asi nejoblíbenější , protože poskytuje nejlépe předvídatelné výsledky.

Unwrapování složitější sítě ale v praxi rozhodně nevypadá tak, že jednoduše vyberete všechny facy a aplikujete na ně jednu z výše popsaných metod. Ve skutečnosti je potřeba trochu přemýšlet a vybírat facy postupně po jednotlivých oblastech- např. nejprve vybrat facy obličeje, unwrapovat, poté vybrat facy jedné strany hlavy, unwrapovat... atd. a nakonec vše v UV editoru vhodně umístit. Pak následuje většinou nanesení barevné šachovnice jako textury na objekt a upravování UV sítě v UV editoru tažením řídících bodů tak, aby byla textura po celém objektu rozprostřena co nejpravidelněji a žádný čtverec z šachovnice nebyl natažený nebo smrštěný, protože jinak by takto byla zdeformovaná i konečná textura.

My se nicméně budeme dále zabývat LCSM metodou, u které toto nastavování odpadá, i když za cenu jistých obtíží jiného rázu- zejména trochu nezvyklému tvaru unwrapované sítě ( i když i to se dá vyřešit, když si se sítí více pohrajete).

Práce v UV editoru

Ještě než se pustíme do vlastního unwrapování hlavy, krátce si popíšeme práci v UV editoru, abyste posléze byli schopni efektivně pracovat s UV sítí.

Toto je narychlo vytvořená UV síť pomocí Cylinder unwrap. Jak vidíte, zobrazení řídících bodů a faců je totožné s editačním módem v 3D okně a také ovládání je v podstatě, až na pár výjimek, totožné.

Síť se zobrazuje tehdy, pokud je objekt v 3D ve Face select módu a jsou vyselektované unwrapované facy-tzn. selekcí faců si můžete řídit to, co je v UV editoru zobrazeno.

Každý face odpovídá jednomu facu na objektu a jeho vyselektováním v UV editoru se zobrazí barevným ohraničením i na objektu v 3D okně, což usnadní orientaci.

Selekce řídících bodů je totožná s prací s vertexy v 3D okně, tzn. pravé myšítko vybírá, prostřední volbu ruší, je možné (a vhodné, jak sami záhy poznáte) používat oba módy Border select (b).

Užitečným nástrojem, zvláště pokud má unwrapovaná síť více částí, je link select. Když vyselektujete jeden z řídících bodů, stiskem l se vyselektují i všechny ostatní prolinkované body a facy.

Od verze 2.33 přibyla do UV editoru také funkce Active Face Select, která se zapíná a opět vypíná klávesou c a pracuje obdobně jako Face select v 3D okně.

Na spodní liště UV editoru najdete 4 menu se všemi ovládacími nástroji, takže si klávesové zkratky nemusíte pamatovat. Upozorním jen na některé volby, které jsou nejzajímavější:

V menu View je někdy dobré zapnout volbu Draw Shadow Mesh- na pozadí editoru se pak bude zobrazovat celá unwrapovaná síť i těch faců, které nejsou na objektu vyselektované a to barvou výraznou tak akorát, aby síť byla dobře vidět, ale nepletla se se sítí vyselektovaných faců.

Dále v menu UVs je mimo jiného několik integrovaných Python skriptů:

Uv painter- na UV síť se nanesou barvy objektu namalované funkcí Paint. Využití je v tom, že si v 3D okně můžete na objekt pomocí vertex paint barevně odlišit části objektu a získat tak skvělou orientační referenci při malování textury na unwrapnutou síť ve Photoshopu nebo Gimpu.

UV texture Baker- tento skript vyrenderuje UV síť s nanesenými procedurálními materiály objektu

Save UF Face Layout-nejdůležitější z integrovaných skriptů, který uloží UV síť jako TGA bitmapu na disk.

LSCM unwrap

LSCM je zkratkou pro Least Square Conformal Maps , což je metoda kterou představili na Siggraphu 2003 pánové Nicolas Ray a Bruno Levy. Druhý jmenovaný aktivně spolupracoval s vývojáři Blenderu na implementaci LSCM nejprve do vývojové větve Tuhopuu, aby se nakonec objevilo i v Blenderu 2.34, která byla uvedena nedávno.

Unwrapování pomocí LSCM začíná vyznačením švů na modelu, podle nichž program určí, kde se plášť "rozřízne" a provede se unwraping. Na výsledné síti je pak možné vyznačit určité body, ty "přišpendlit" a opět provést LSCM unwrap-ony body zůstanou na místě a zbytek sítě se upraví podle nich. Analogicky je tak možné celý proces přirovnat ke stahování kůže z lovné zvěře-kůže se rozřízne, připne na pevnou podložku a natahuje se.

Nyní si LSCM konečně zkusíme prakticky na tomto modelu hlavy, jehož autorem je kolega Jan Kůrka, se kterým jsem spoluparcoval již na scéně mučírny (viz. třídílný tutoriál Tvorba backgroundu pro adventuru).

Vyznačení švů

Šev pro řez se vyznačuje vyselektováním polygonů a stiskem Ctrl+e.Objeví se pop up menu, ze kterého vybereme Mark seam. Vzniklý šev se zvýrazní oranžovou barvou. Pokud budeme chtít již vyznačený šev odmazat, vybereme opět požadované polygony a pod stejnou klávesovou zkratkou vybereme volbu Clear seam.

Takto vypadal šev na hlavě, který jsem použil- táhnul se prostředkem šíje po celé délce až na vrchol hlavy, kde byl přerušen dalším řezem, takže oba dohromady vytvořily jakési písmeno T:

Pro začátek doporučuji zvolit obdobné vedení švů. Následně vyskočte z edit. módu, přepněte se do Face select (f) a vyberte všechny facy klávesou a.

Stiskněte u a z pop up menu vyberte metodu LSCM. V UV editoru se objeví unwrapovaná síť. Na ní vyselektujte dva body, které vidíte na obrázku a stiskněte CTRL+p. Oba body se označí červeně- představte si na jejich místě špendlíky, které drží tuto část sítě na místě:

Přesuňte kurzor myši zpět do 3D okna a opět proveďte LSCM unwrap objektu- přišpendlené řídící body zůstanou na svém místě a zbytek sítě se přizpůsobí.Nakonec ji celou vyberte (a) a zarotujte klávesou r do svislé polohy:

V UV editoru klepněte na tlačítko UVs a vyberte Save UV face layout- objeví se tento interface skriptu:

Parametr size udává velikost exportovaného obrázku, 500 tedy znamená 500x500. Wire size je pak síla čar na exportované síti. Do nejdelšího pole zadejte cestu na disku, kam chcete vyexportovat obrázek s UV templatem a klepněte na Export.

Ve Photoshopu, Gimpu či podobném programu si otevřete vyexportovaný template:

Použití UV textury v Blenderu

Možná se divíte, že se chystáme opět načíst právě vyexportovaný template zpět do Blenderu jako texturu hlavy, když jsme na ni ještě nenamalovali obličej a ostatní náležitosti. Je to proto, že při malování UV textury jistě oceníte možnost průběžně ji testovat na 3D objektu :-)

Vyberte tedy hlavu, přiřaďte ji nový materiál a materiálu texturu typu image s bitmapou vyexportovaného UV templatu. V material buttons pak nastavte Map Input na UV:

Poté vstupte do Face select módu a vyberte všechny facy tak, aby se v UV editoru opět zobrazila UV síť, klepněte na Image v dolní liště a nahrajte opět template textury. Nyní by se textura měla zobrazovat i v "potato modu" (Alt+z) 3D okna přímo na objektu.

Zkuste vyrenderovat- hlava by měla vypadat nějak takto:

Malování textury

Zde se nebudu příliš rozepisovat, protože vše je záležitostí Photoshopu, ne Blenderu a záleží na individuálních zkušenostech s malbou textur. Snad tedy jen obecný postup, alespoň takový, jaký používám já.

Ze všeho nejdřív umisťuji "strategické" orientační body jako jsou ústa a obočí- tyto body je důležité mít umístěné co nejpřesněji, zbytek obličeje tvoří vesměs nevýrazná plocha, kde nějaká ta odchylka není vidět. LSCM má oproti ostatním metodám výhodu v rychlosti unwrapu, ale nevýhodu v tom, že výsledná síť není příliš standardního tvaru, takže malování na ni je trochu odlišné od ostatních metod. Proto se vyplatí zejména zezačátku více testovat, jestli je skutečně všechno tam, kde jsme to chtěli mít.

Po umístění úst a obočí již pokračuji v klasické malbě hlavy, tzn. nanesu základní barvu a štětci různé velikosti a pomocí přítlakového tabletu maluji světlejší a tmavší plochy až nakonec dostanu výslednou texturu, kterou nahraji do Blenderu:

Výsledný render

V tomto případě byla výsledkem tato hlava stylizované postavy křížence člověka se skalním obrem (proto ty podivné barevné skvrny na hlavě místo vlasů :-) )

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » 3D grafika  

 

 

 

 

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

Uživatelské jméno:

Heslo: