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 (4. část): Material Node Editor
8. listopadu 2007, 00.00 | V minulém díle jsme si představili node editor a vysvětlili si, jak funguje.
Dnes se podíváme na druhou část kompozitního editoru - material node editor.
V minulém díle jsme si představili node editor a vysvětlili si, jak funguje. Dnes se podíváme na druhou část kompozitního editoru - material node editor. Ano, vím, že v minulém díle jsem slíbil použití node editoru v praxi a ukázky použití vector bluru, ovšem nepočítal jsem s tím, že téma dnešního článku nabyde takových rozměrů. Doufám, že pro to budete mít, milí čtenáři, pochopení a trpělivě vydržíte do příštího dílu, kterým uzavřeme velikou kapitolu node editoru.
Rozdíl mezi materiálovým a kompozitním node editorem není příliš výrazný, nody samozřejmě vypadají stejně, jen obsahují jiné informace. Tento editor je též v okně node editoru, náhled na něj zaktivujete zatržením kuličky:
Aby se mi vše lépe vysvětlovalo, vytvořil jsem tuto jednoduchou scénu:
Scénu stahujte zde (.blend, 192kB)
Každému z těles jsem přiřadil zatím prázdný materiál. Krychli jsem přidal tento materiál a texturu:
Krychle dostala tuto texturu, pouze aby byla textura ve scéně, jinak už s krychlí pracovat nebudeme. Obdobně je tomu i u materiálu koule. Nyní budeme pracovat s jednou novinkou, a sice Render Preview. Jak název napovídá, bude to pomocník při náhledu na scénu. Jeho princip použití spočívá v tom, že si tento rámeček umístíte kamkoliv do 3D okna a v něm se bude renderovat ta část scény, kterou ohraničuje. Můžete se k němu dostat pomocí headeru (View -> Render Preview) nebo pomocí klávesové zkratky SHIFT+P.
Jak je patrné, Render Preview kvůli úspoře času nevyhlazuje hrany, ovšem proto je to také pouze preview ;). Nyní pojďme přidat materiálový node materiálu válce. Tento úkon se jednoduše provede kliknutím na tlačítko Nodes v materiálovém editoru a poté kliknutím na červeně zvýrazněné Add new. Mělo by se vám objevit následující:
V node editoru se vám objeví defaultní nastavení:
Abych ozvláštnil budoucí nastavování materiálu válce, použil jsem LSCM metodu a unwrapoval jej. Není to jenom ozvláštnění ale i výpomoc při následovné aplikaci textury, takže silně doporučuji tento krok nevynechávat. Pokud byste si při unwrapování nevěděli rady, odkazuji na článek zde nebo ještě lépe zde. Takto vypadal unwrap:
Aby se vám pohodlně pracovalo, doporučuju také nastavit pracovní pole tímto způsobem (vpravo nahoře je UV image editor, pod ním node editor):
Nyní bude naším úkolem přiřadit materiálu válce stejnou texturu jako má krychle, ovšem s nastavením UV koordinátů válce, to vše za pomoci material node editoru. Prvním krokem ve zdolání tohoto úkolu musí být vložení několika inputů - v našem případě dvou - a sice textura (Tex) a geometrie (Geometry). Přidání obou lze provést z menu na headeru Add->Input->Tex/Geometry. Menu vyvoláte též stiskem SHIFT+A.
Po tomto kroku bude potřeba říct nodu s texturou, aby ovlivnil barvu materiálu a nodu s geometrií, aby ovlivnil mapování textury. V nodu s geometrií do pole UV napište jméno objektu válce (já ten svůj pojmenoval jednoduše: valec) a poté z outputu UV napojte na input Vector na nodu Tex. Output Color na nodu Tex napojte na input Color na materiálu a poté by se vám měl korektně zobrazit materiál na output nodu:
Pokud by mapování na válci bylo roztáhlé buď po ose x nebo y, znamená, že máte problém s UV koordináty, jež se ovšem snadno dají upravit v UV image editoru. V neustále zapnutém Render Preview rámečku se mi objevil tento náhled:
Ano, při podrobnějším průzkumu lze odhalit šev, nicméně nešlo nám o to skvěle otexturovat válec, ale pochopit princip přiřazování textury v node editoru. Možná naznáte, že tento postup byl až zbytečně složitý, obzvlášť když šlo o pouhé přidání procedurální textury, nicméně node editor přináší přehlednost do každého materiálu, nehledě na to, že jestli budete pracovat se složitějšími materiály, tak jejich vytvoření je někdy pouze za pomoci samotného material editoru téměř nemožné. Nyní ukázka toho, jak namixovat 2 materiály a nastavit, jakým způsobem se budou prolínat:
Je-li libo, klidně můžete na texturu použít jinou geometrii, výsledkem bude, že se materiály budou prolínat jinak. V roletkovém menu v mix nodu nastavíte typ prolínání (sčítání, odčítání, násobení, zesvětlení ...), textura určuje, na kterých místech bude jeden materiál překrývat ten druhý. Jen okrajově - textuře, která určuje právě tato místa překrývání, se říká stencil mapa. Myslím, že bude vhodné popsat jednotlivé typy nodů:
INPUT menu
Material - tento node obsahuje informace o materiálu a má 4 inputy, do budoucna ale vývojáři slíbili, že jich přidají více.
Napojením některého z následujících nodů můžete ovlivnit barvu materiálu, specularity, míru reflexe a vektor mapování materiálu.
Při použití jen jednoho materiálového nodu dostanete stejný výsledek, jako při použití obyčejného materiálu
Texture - node obsahující informace o textuře by měl mít zadaný jako input vektor, který určuje způsob mapování
Geometry - node, který určuje vektor, podle kterého se bude mapovat textura na materiál. Jeho ekvivalentem je paleta Map Input v material editoru
Value - node, který má jeden output a do kterého jednoduše zadáte hodnotu. Používá se např. na definování alpha hodnoty
Camera Data - v tomto nodu se ukládají informace o vzdálenosti mezi kamerou a objektem, na němž se bude projevovat efekt,
z těchto informací poté vychází mapování textur. Pokud máte zapnutý render preview, za kameru se bude považovat váš aktuální pohled.
Jako malý příklad použití připojuji obrázek:
View distance se chová podobně jako view z depth. Když jsem napojil view z depth na input reflectivity na materiálu, změna se projevovala s přibližováním či oddalováním kamery - tedy čím byla kamera dál, tím byl efekt viditelnější:
RGB - v tomto nodu jednoduše nastavíte barvu, kterou poté můžete aplikovat na materiál, popř na mix node nebo Math node
OUTPUT menu
Output - první output (jenž je už defaultně přidán) zobrazuje ten materiál, který se bude aplikovat na objekt/y. Každý další output, který přidáte, zobrazuje pouze výsledek tam, kde ho napojíte, výsledný materiál tedy neovlivňuje
COLOR menu
RGB nodu je velice podobný RBG Curves - barvu můžete vybrat buď na panelu podobně jako ve 2D programech na barevné paletě kapátkem nebo upravením jednotlivých křivek v každém barevném kanálu. Levé tlačítko myši vybírá nebo přidává 1 bod na křivce, CTRL+levé tlačítko myši bod přidává, ikona X bod odebírá. RGB node se dá také využít jako nástroj pro ladění - pokud již máte hotový nějaký materiál (popř. obrázek v renderlayers, viz https://www.3dscena.cz/art/3dscena/blender244-2.html) a chcete jej ladit do nějaké barvy, můžete jej napojit na input RGB nodu a poté mu přidat např. zlatavý nádech
Mix - díky tomuto nodu můžete překrýt 2 materiály a můžete nastavit, jak bude druhý materiál viditelný, na kterých místech ho bude vidět a jaká operace se bude provádět na místech jejich překrývání (násobení, sčítání, zesvětlování, ...)
VECTOR menu
Mapping - node, za jehož pomoci můžete přesně nastavit velikost/přesun/rotaci vektoru mapování textury/materiálu:
Normal - osobně ho považuji za jeden z nejpozoruhodnějších. Pracuje se skalárním součinem (ten slouží např. k ověření kolmosti), a tedy euklidovým prostorem, nicméně, vysokoškolskou matematiku přenechám někomu, kdo jí rozumí a pokusím se popsat funkci tohoto nodu o něco srozumitelněji :). Tento node může vypočítat buď jeden neměnný vektor (na výstupu Normal) nebo, při napojení Geometry nodu na vstup Normal, skalární součin na výstupu Dot. Tento skalární součin se odvíjí od polohy kamery a dají se s ním dělat vskutku zajímavé věci. Jen dodatek k ovládání - vlastnosti tohoto nodu můžete měnit jednoduše pohybováním zdroje světla. To se provádí levým kliknutím na ikonu kuličky a pohybem v požadovaném směru:
Dalo by se říct, že pokud použijete tento node, při správné aplikaci se textura/barva bude mapovat na vektor, který bude směřovat z facu ke kameře, a to i pokud se kamera bude pohybovat. Využijeme následující nastavení:
A válec se nám změnil takřka k nepoznání:
K cíli nevede jen jedna cesta a proto vás seznámím s dalším nastavením, s kterým lze dosáhnout téměř identického výsledku:
To bylo ovšem jen okrajově, pojďme se podívat, jak lze ještě Normal node využít k aplikaci alphamapy, myslím, že to je i v praxi použitelný příklad:
Čímž jsme způsobili tento efekt:
A poslední příklad s Normal node, tentokrát s bumpmapou. Všimněte si, že jeden output je v síti pouze jako náhled na stencil mapu vytvořenou právě naším Normal nodem:
Vector curves - pomocí tohoto nodu lze, obdobně jako u RGB, pomocí křivek vektorů X, Y či Z měnit mapování textury/materiálu/barvy
CONVERTOR menu
ColorRamp - node, který určitě poznáváte z materiálového menu z palety Ramp Shaders. Pracuje na principu nastavení barev a průhlednosti jednotlivých sliderů (posuvníků)
RGB to BW - jak název napovídá, tento node konvertuje barevný model do černobílého
Math - díky tomuto nodu můžete provádět některé matematické operace na hodnotách, které povedou do inputu/ů
Vector Math - téměř to stejné jako Math, zde ovšem pracujeme s vektory, nikoli s hodnotami
Squeeze Value - tento node zpracovává jakoukoli hodnotu a dosadí ji do logistické křivky. Můžete nastavit střed této křivky a rozsah osy x
Abych vás nenechal tápat, logistická křivka vypadá takto:
GROUP menu
- group = skupina
- implicitně je toto menu prázdné, dokud nevytvoříte nějakou skupinu
- skupina je několik sdružených nodů, které vyvolávají nějaký efekt (záleží jen na vaší představivosti)
- skupinu vytvoříte výběrem několika nodů a poté stiskem CTRL+G nebo přes menu Node->Create group
- vytvoření takovéto skupiny znamená, že ji můžete použít vícekrát, můžete ji vložit kamkoli do sítě a použít na různé nody (na všechny ovšem bude mít stejný efekt)
- skupiny fungují na stejném principu i v kompozitním node editoru
Na obrázku je ukázka skupiny vytvořené z několika výše zmiňovaných nodů:
Tabulátorem se dostanete na editaci skupiny
Při stisknutí ALT+G skupinu rozdělíte zpět na jednotlivé nody
A ještě malá poznámka k nodům: pokud vidíte někde v síti červenou křivku, znamená to, že jste napojili některý node špatně a vznikla cyklická chyba:
A to by bylo k materiálovým nodům zhruba vše. Doufám, že tutoriál napomohl k pochopení této zapeklité novinky a že nenecháte na materiálový node editor sedat prach :). Příštím dílem, jak jsem předeslal v úvodu, uzavřeme kapitolu node editoru tím, že si ukážeme možné příklady použití v praxi, a předvedeme si pár zbývajících funkcí. Těším se příště na shledanou.
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