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
Přehled nových funkcí v Blenderu (7. část): modifikátory poprvé
14. února 2008, 00.00 | Výčet novinek týkajících se úpravy modelu v Blenderu minulým dílem zdaleka neskončil. Vývojáři přidali četné množství nových modifikátorů, jimž se dnes
podíváme na zub.
Vítám vás u dalšího dílu seriálu o novinkách v Blenderu. Dnešní díl bude pojat poněkud volněji – popíšeme si některé nové modifikátory a způsob, jakým se projevují. Možná to někteří z vás postřehli, možná ne, každopádně do verze 2.40 žádné modifikátory v pravém slova smyslu v Blenderu neexistovaly. Efekty, kterých s nimi lze dosáhnout, byly jednoduše buď úplně nedostupné, nebo dostupné, ale nepohodlným způsobem. Nyní jsou sjednoceny v Edit buttons (F9) a v průběhu vývoje přibylo pár opravdu zajímavých. Hlavní výhoda takto upraveného systému spočívá v tom, že modifikátor se může kdykoliv použít a kdykoliv odstranit. Vývojáři se netají tím, že se tímto systémem nechali inspirovat u některých jiných 3D programů.
Některé modifikátory pracují jednoduše, jiné složitěji, předpokládám, že po letmém průzkumu jsme poznali Subsurf, popř. Mirror, se kterými jsme se již setkali v minulých dílech. Naše dnešní experimentování provedeme na nebohé opičce Suzanne. Vložíme si tedy toto "primitivum" (nemám srdce psát to bez uvozovek) a aplikujeme Subsurf:
Nyní se nám Suzanne pěkně zaoblila, přesně jak jsme očekávali:
K jednotlivým nastavením jen letmo, jsou docela zřejmá:
V kolonce můžete přejmenovat modifikátor
Roletkové menu dává na výběr 2 algoritmy deformace - Catmull-Clark (zaoblení "tak, jak jej známe")
a Simple Subdivision (zhuštění sítě bez zaoblení), což bude mít za následek toto:
Levels - kvalita vykreslování ve 3D okně
Render-Levels - kvalita vykreslování na renderu
Optimal Draw - skryje před výpočtem vnitřní hrany meshe, čímž urychlí vykreslování
Subsurf UV - kdysi dávno se musely unwrapy dělat ještě pořádněji než dnes,
protože síť se leckdy rozhodila právě kvůli subsurfu.
Toto nastavení aplikuje textury na UV koordináty tak, jak by se u zaobleného modelu předpokládalo
- aktivuje vykreslení v renderovacím okně
- aktivuje vykreslování v object modu
- aktivuje vykreslování v editmodu (jen pokud je aktivováno předchozí)
- aplikuje modifikátor na mřížku v editmodu, v případě Subsurfu dojde k zaoblení hran a faců:
Šipky - posun modifikátoru nahoru či dolů v zásobníku
X - smaže modifikátor
Apply - modifikátor deformuje mesh i v editmodu
Pozn.: V diskusi ke článku o Softbodies jsem byl dotázán,
zda lze editovat část zapečené animace v editmodu. Omlouvám se tímto, že jsem šířil mylnou informaci, že tato možnost neexistuje -
po aktivaci Softbodies se objeví modifikátor, který lze aplikovat na mesh na kterémkoliv snímku animace a poté mesh dle libosti upravit.
Copy - zkopíruje efekt, čímž jej umocní (použití modifikátoru na už modifikovaný objekt ale může mít neblahé následky na výkon počítače)
Většina těchto nastavení je totožná s ostatními modifikátory, proto se k nim již nebudu vracet.
Mirror
X, Y, Z - nastavení osy, podle které se bude objekt zrcadlit. Použití více než jedné osy se nevylučuje.
Do Clipping - pomocí této volby určíte, zda dojde ke spojení vertexů objektu, které splývají s vertexy kopie
Merge Limit - souvisí s Do Clipping a určuje vzdálenost, kterou pokud jednotlivé body překročí, sloučí se
Mirror U, Mirror V - přeneseně řečeno, definuje, zda se bude textura na kopii otáčet podle osy X či Y nebo obojího.
Osobně ale doporučuji využívat jen jako preview a po domodelování objekt unwrapovat a vytvořit texturu pro celý model
Příklad s použitím Do Clipping:
Build
Tento modifikátor vytvoří animaci, která bude postupně zobrazovat jednotlivé facy meshe.
Start - udává, na kterém snímku animace začne
Length - určuje délku animace
Randomize - facy se budou vykreslovat v náhodném pořadí
Seed - slouží k malým změnám náhodného vykreslování
Lattice a Curve využívají jako deformátor lattice a křivku. Jejich nastavování není nijak složité, do políčka Ob: se vepíše název lattice či křivky, která bude mesh deformovat, políčko VGroup: slouží k definování vertexové skupiny, na níž se změny projeví. Tyto modifikátory se vytvářejí automaticky, pokud naparentujete lattice či křivku meshe. V případě Curve modifikátoru můžeme ještě určit, podle které osy meshe se bude provádět deformace.
Edge split
Tento modifikátor vytváří optické oddělení faců, které svírají větší úhel než ten, který zadáte v políčku Split Angle. Split Angle se ale zobrazí, jen pokud aktivujeme tlačítko From Edge Angle. Můžete ponechat i na Blenderu automatickou volbu tak, že aktivujete pouze From Marked As Sharp, ovšem výsledek není vždy žádoucí. Toto samozřejmě platí jen pro meshe, které mají zapnuto vyhlazování (SetSmooth). Nejpravděpodobnější využití najde tento modifikátor zejména v lowpoly oblasti.
Decimate
Pozn.: všimněte si, že decimate nelze zobrazit v editmodu - jedině po stisknutí Apply
Slouží ke "zdecimování" meshe, tedy v tom smyslu, že můžete určit hustotu sítě. Ratio nastavuje, jak se mesh decimuje (při nastavení nuly zmizí úplně). Někdy se taková věc hodí, ovšem neměnným faktem zůstává, že při takovéto modifikaci má uživatel jen malou kontrolu nad výsledným vzhledem – vzniká také spousta nežádoucích trojúhelníků, což činí z Decimate modifikátoru volbu vhodnou pouze v případě nouze (nebo v případě low poly modellingu).
Boolean
Většina z nás jistě tuší, co tento modifikátor dokáže. Není to nic jiného než průnik s jiným tělesem. V roletkovém menu vybereme jeden ze tří typů průniku (Difference - rozdíl, Union - sjednocení, Intersect - průnik) a do políčka Ob: vepište název druhého objektu. Obrázek ilustruje použití Intersect na opici a krychli.
Booleans byly od minulých verzí Blenderu značně vylepšeny. Nicméně při složitějších organických modelech je příliš nedoporučuji používat – jak vidno z obrázku, přebytek trojúhelníků na estetičnosti příliš nepřidává. Pro jednodušší či neorganické modely to ale může být leckdy jediná cesta, jak si ušetřit drahocenný čas. Podotýkám, že pokud má mesh tento modifikátor, booleovské operace se počítají v realtimu, tzn. že můžeme přesouvat libovolně meshe a ihned uvidíme veškeré změny.
Smooth
Zřejmě asi každý tuší, co tento modifikátor dokáže. Je obdobou stejnojmenné funkce v Mesh buttons - zjemňuje tedy přechody mezi facy. Definovat, podle kterých os se bude mesh vyhlazovat, můžeme tlačítky X, Y, Z. Factor slouží k určení velikosti vyhlazení, přičemž jsou povoleny i záporné hodnoty. Pokud ovšem přesáhneme 1.000 (ať už v plusu či mínusu), může dojít k nežádoucí deformaci meshe. Repeat určuje počet opakování vyhlazení.
Cast
Má naše opice fádní tvar? Nevadí! Nyní ji můžeme upravit do podoby krychle, koule či válce pomocí tohoto modifikátoru. V roletkovém menu máme na výběr z
možností Cuboid (krychlovitý tvar), Sphere (koule) a Cylinder (válec).
X, Y, Z je jasné, Factor - opět míra efektu, pokud překročíme 1.000, výsledek může být leckdy překvapivý (to ale nutně neznamená vždy použitelný).
Radius - určuje vzdálenost od středu deformace, v níž budou vertexy ovlivněny
Size - velikost tvaru, pokud je definován radius, bude scalování probíhat pouze v rámci radia
From Radius - tato hodnota je nastavena implicitně, pokud je Size roven nule.
Určuje, zda se velikost tvaru přizpůsobí velikosti radia.
Ob - sem se tentokrát nevpisuje název objektu, podle kterého se bude mesh přizpůsobovat
(zatím jsou k dispozici pouze výše zmíněné tři typy), ale název objektu, který svým centrem bude určovat střed deformace
Pro zajímavost:
Cuboid
Factor: 0.46
Radius: 1.77
Size: 0.55
Armature
Doufám, že nikoho nenapadlo zeptat se: "A na co je tenhle?". Obdobně jako u Lattice či Curve se i tento modifikátor vytvoří automaticky, pokud naparentujete armaturu meshi. Pokud ovšem přidáte tento modifikátor, aniž byste kost parentovali, přesun objektu zároveň s kostí (v object modu) samozřejmě nebude fungovat – to stejné platí i pro ostatní tohoto typu (Lattice a Curve).
Vertex Groups - určuje, zda se bude deformovat mesh na základě údajů z vertexových skupin
Envelopes - pokud je aktivována, zaručí, že se mesh bude deformovat i z údajů armatur typu envelope
Hook
Je možné, že se mnozí z vás s tímto pojmem setkávají poprvé, a proto jej trochu přiblížím. Hook (dále jen hák) je dalším způsobem, jak deformovat mesh. Pokud provedete nějakou změnu na háku (přesun, rotace, změna velikosti), změny se projeví i na určených vertexech. V editmodu se vybere libovolné množství vertexů a po stisknutí CTRL+H se objeví menu, které nabízí vytvoření háku z nového Empty objektu či objektu, který je vybrán společně s meshem. Pokud již máme nějaký hák přidaný, objeví se větší menu:
První dvě volby jsme již popsali, nějakým způsobem tedy vytvoří hák. Co se týče ostatních položek, pokud máme na meshi více háků, po vybrání kteréhokoli z
následujících vyjede další menu se specifikací, ke kterému háku se operace vztahuje:
Remove - slouží k odebrání vybraných vertexů ze skupiny, která je ovlivněna hákem
Reassign - přidá vybrané body k některému z háků
Select - vybere body přiřazené k některému háku
Clear Offset - anuluje změny, které vznikly úpravami háku; hák samotný zůstává nezměněn
Je zajímavé, že i když není Hook modifikátor dostupný z menu pro přidání modifikátoru,
poté, co ho přidáme můžeme sami libovolně určit kterýkoli objekt jako hák.
Falloff - vertexy, které přesáhnou určitou vzdálenost od háku, i když budou ve skupině hákem ovlivněné,
nebudou deformovány - Falloff definuje tuto vzdálenost
Force - síla deformace
Reset - stejný účinek jako Clear Offset
Recenter - přesune centrum háku ke kurzoru,
nicméně její praktické využití je obestřeno tajemstvím
UV Project
Tento modifikátor bude zcela jistě pro leckoho novinkou, protože byl implementován až ve verzi 2.43 a opět nemálo rozvíjí možnosti Blenderu. Účelem této novinky je promítání textury na libovolný mesh s UV koordináty (to ovšem neznamená, že musí být unwrapovaný - jinak by totiž UV projekce nebyla žádným ulehčením). Něco podobného lze provádět se světly – totiž nastavit jim texturu, kterou budou "svítit" na mesh, ovšem tento způsob není zdaleka tak promyšlený jako UV Project. Jako projektor je vhodné použít kameru, u níž lze určit, zda se bude promítat textura s perspektivou, či nikoli. Pojďme se nejprve podívat na panel:
AspX, AspY - určují poměry stran promítané textury
Projectors - počet projektorů promítajících jednu texturu
Ob - název objektu, který bude promítat (apeluji na používání kamery – u ní lze nejlépe vidět směr promítání a nastavit perspektivu)
Image - název obrázku, který se bude promítat
Override Image - pokud je tato možnost aktivní, obrázek bude promítnut na všechny facy, bez ohledu na ostatní UV projektory
(pokud je tato volba aktivována u všech UV projekcí, v potaz bude brána pouze ta situovaná nejníže v zásobníku modifikátorů)
Korektní nastavení UV projekce je možná trochu složitější, než by se na první pohled zdálo, ale všechno má své důvody. Prvním krokem by mělo být přidání modifikátoru a nastavení projekčních kamer.
Poté by měly být přidány UV koordináty. K tomuto postačí vstoupit do Face select modu (F v Object modu při vyselektovaném objektu). V této chvíli je důležité definovat, který obrázek se bude promítat na které facy. Co se týče naší opice – můžeme např. vybrat všechny facy viditelné z pohledu shora a poté v UV image editoru přidat obrázek, který se na ně bude promítat. Pro přehlednost byla opice unwrapována:
Pozn.: unwrap není nutný, ale pokud jej neprovedeme, nad obrázkem bude změť nepřehledných modrých faců, což zbytečně brzdí výkon počítače. Unwrap tedy nemusí být ani pěkný - podstatné je, aby byl, UV projekci totiž řídí samotné facy, nikoli unwrap
Pokud by někdo tápal s přidáním obrázku, provádí se to jednoduše na panelu UV Image editoru buď Image -> Open (pokud ještě obrázek nebyl nahrán do Blenderu), nebo vybráním obrázku v roletkovém menu (pokud již byl nahrán):
Podobný postup, jen s jiným obrázkem, zopakujeme pro ostatní facy, které můžeme vybrat Select -> Inverse. Musíme být ale přepnutí na mód, kterým vybíráme pouze facy:
Nyní stačí přidat těmto facům jinou texturu – opět v UV image editoru. Předposledním krokem bude definování projekčních kamer a obrázků v UV Project volbách:
Pokud nyní zkusíme obrázek vyrenderovat, mohl by téměř vzniknout dojem, že vše bylo zbytečné, protože se nic nezobrazí. Na to je ale snadná pomoc, našemu meshi stačí pouze přidat materiál, v němž aktivujeme volbu TexFace - jinak bude výsledek patrný pouze v Textured módu vykreslování. Podle očekávání, na přední stranu se promítla jiná textura než na zadní. V rámci každého obrázku ještě Blender určuje, který projektor bude ovlivňovat které facy, proto je lepší volit víc než jeden projektor, aby nedocházelo k rozmáznutí textur. Na výstupu se nám objevilo následující:
Bohužel, vzhledem k faktu, že UV Project využívá informací z UV Image editoru, nemůžeme tyto textury zapéci, a proto je lepší využívat je buď na neanimované objekty, nebo např. na objekty do game enginu. Jak je patrné z obrázku, UV Project se ani příliš nehodí na organické modely – tedy aspoň já osobně bych se přikláněl k variantě vytvoření LSCM unwrapu.
Závěrem
Modifikátory jsou velmi zajímavá věc a UV Project přináší další možnosti, které se mohou využít např. v kombinaci s matte paintingem. V příštím díle se můžete těšit na popis Wave, Displacement a Array modifikátorů, které se výhodně uplatňují v oblasti animace.
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