← naspäť na zoznam cvík

1.4

04 : materiály

Niečo o lámaní a odrážaní svetla

Dnes si ukážeme tri fyzikálne princípy/javy, ku ktorým dochádza pri náraze svetelného lúča na materiál. Pri modelovaní je dôležité brať ich v úvahu, ak chceme, aby náš výsledok bol pekný a realistický. Ide o Index of refraction + Snell’s law, The Fresnel Effect a Subsurface Scattering

1. Index of refraction + Snell’s law.

Refractive index (index of refraction) je hodnota ktorá popisuje, ako sa láme svetlo pri prechode daným materiálom. Fyzikálnejšie povedané, je to pomer rýchlosti svetla vo vákuu vzhľadom na rýchlosť svetla v danom prostredí.

Konkrétne ide o toto:

1. Refractive index ako ste ho mohli zrejme vidieť na strednej škole
2. Refractive index ako môžete vidieť doma

Tento index je pre bežné materiály spočítaný, na wiki je z toho pekná tabuľka:

⮞ ⮞ Wiki: List of refractive indices

Čo je dôležité je, že pre tieto refraktívne indexy (po slovensky indexy lomu) platí tzv. Snellov zákon. Ten hovorí, že pri prechode svetla z jedného materiálu do druhého, pomer indexov lomu sa rovná pomeru sínusov uhlov od normály.

Toto je pekný ilustračný obrázok, lebo je tu vizuálne vidno aj tá rýchlosť svetla. [zdroj]

Viac sa môžete dočítať napríklad tu:

⮞ ⮞ Galileo-unbound: Snell’s Law: The Five-Fold Way - toto je pekný, zrozumiteľný, jemne fyzikálny článok ⮞ ⮞ Wiki: Snell's law
Dôsledkom je, že pri rôznych pomeroch indexov rôznych materiálov sa nám svetlo láme rôznym smerom. [zdroj]

Blender má lámanie svetla predprogramované a index lomu pre náš materiál si v ňom vieme manuálne nastaviť.

2. The Fresnel Effect

Augustin-Jean Fresnel bol francúzsky fyzik, ktorý sa venoval okrem iného aj optike. The Fresnel Effect popisuje jav ktorý vzniká pri odraze svetla od plochy. Zjednodušene povedané, čím pod ostrejším uhlom sa na plochu pozeráte, tým je odrazivejšia.

Toto je veľmi štandardný príklad Fresnela. Keď sa pozeráte kolmo dole, vidíte cez vodu na kamene. Keď sa pozeráte veľmi šikmo, vidíte skôr odraz okolia.[zdroj]

Pozrite si názorné vysvetlenie

⮞ ⮞ Dorian Iten : The Fresnel Effect - pekné jednoduché polopatistické vysvetlenie - odporúčam! ⮞ ⮞ Shanesimmsart : Fresnel Reflection and Fresnel Reflection Modes Explained - trošku „vedeckejšie“ vysvetlenie

Seriózne, skúste si to pozrieť aj doma, napríklad na drevenom stole. Veľa ľudí si to ani neuvedomuje.

The Fresnel Effect je jedna z vecí, ktoré je dobré zakomponovať do vášho vypočítavania svetelných odrazov ak chcete, aby bol výsledok pekný a realistický.

Čo sa týka blenderu, v najnovšej verzii je už zakomponovaný automaticky. V starších verziách bolo nutné prirábať ho manuálne.

3. Subsurface Scattering

Subsurface Scattering je efekt, ktorý vzniká viditeľne pri materiáloch, ako napríklad ľudská pokožka.

Obrázkový príklad Subsurface Scattering [zdroj]

Laicky povedané, pre svetlo dopadajúce na objekt platí, že časť sa odrazí a časť prenikne do materiálu (a časť zanikne). Preniknuté svetlo sa v materiáli poodráža hore-dole a časť z neho sa v oslabnutej miere môže odraziť zasa naspäť.

Grafické znázornenie Subsurface Scattering [zdroj]
Pekne sa dá o tom prečítať tu: ⮞ ⮞ Substance Academy: Light and Matter : The theory of Physically-Based Rendering and Shading - je to o viacerých javoch týkajúcich sa svetla. Odporúčam!

V podstate môžu nastať tri prípady:

1. Subsurface Scattering nastáva vo veľkej miere a je silno viditeľný – vtedy ho treba naprogramovať, inak budú predmety vyzerať čudne a nereálne.[zdroj]
2. Bežné objekty - Subsurface Scattering nastáva, ale iba v malom. Pôsobí to tak, akoby sa odrážala normálna farba materiálu. Sem patrí väčšina bežných materiálov.[zdroj]
3. Kovy - Subsurface Scattering v podstate nenastáva. Všetko svetlo je buď odrazené, alebo absorbované. Farba kovu je teda definovaná iba farbou jej odrazu.[zdroj]

Veľmi pekne je to vysvetlené v tomto článku (str. 7, 8, 9):

⮞ ⮞ Naty Hoffman: Background: Physics and Math ofShading

V blendri sa dajú tieto hodnoty pre náš materiál jednoducho nastaviť.

Priraďovanie materiálov objektom

Najprv si urobíme trošku poriadok v materiálovom manažmente. Vo vašom blender projekte môžete mat vytvorených veľa objektov a veľa materiálov. Každý objekt vášho projektu môže využívať viacero materiálov.

Najprv priradíme objektu tzv. Material Sloty. To sú prázdne chlieviky do ktorých budeme priraďovať materiály. Ak budeme chcieť na našom objekte využiť 5 materiálov, vytvoríme si 5 slotov.

Sloty sa dajú uberať a pridávať pomocou malého pluska a mínuska vpravo.

Do každého slotu môžeme pridať nový materiál klikom na New (premenovať si ho vieme v tmavom rámiku nižšie), alebo priradiť nejaký existujúci materiál, ktorý sme si vytvorili niekedy skôr. Zoznam všetkých existujúcich materiálov je vľavo od názvu. (základná kocka má vždy od začiatku vytvorený materiál s názvom „material“)

Pozor, aby sme videli náš materiál na objekte treba si kliknúť hore na Material Preview!

Defaultne je celému objektu priradený prvý Material Slot v poradí. Ak chcete rôznym stenám priradiť rôzne materiály, treba sa prepnúť do Edit Modu, označiť si želané steny a použiť tlačítko Assign.

Aj po priradení Material Slotov konkrétnym stenám sa dajú materiály v nich bez problémov modifikovať. Keďže v skutočnosti stenám priraďujete Material Slot a nie konkrétny materiál, môžete v Material Slote napríklad aj vymeniť súčasný materiál za úplne iný materiál zo zoznamu materiálov. A zmena nám nastane iba pre priradené steny.

Tlačítka Select a Deselect (vedľa Assignu) vám Označia a Odznačia všetky plochy priradené danému Material Slotu.

SAMOSTATNÉ CVIČENIE I

Vytvorte si tri opice a 5 rôznych materiálov. Odlíšte ich navzájom farbou – Base Color

  • svetlá srsť
  • tmavá srsť
  • ňufák
  • zelené očko
  • modré očko

Priraďte opiciam materiály na správne steny tak, aby sme mali dve svetlé opice (jednu so zelenými a jednu s modrými očami) a jednú tmavú (s modrými očami).

Pozor na to, aby obidve svetlé opice mali priradenú tú istú svetlú srsť (nie dve rôzne rovnakej farby)! - treba na to využiť priradenie zo zoznamu všetkých existujúcich materiálov.

Pointa je v tom, že ak zmeníte farbu svetlej srsti, mala by sa modifikovať na všetkých opiciach, kde je použitá.

Upratovanie materiálov

Materiály ktoré nie sú priradené žiadnemu objektu si blender pamätá iba dočasne. Keď vypnete a spustíte program má vo zvyku si ich premazať. Ak si ich chcete zachovať, treba pri nich kliknúť tlačítko Fake User. Materiály ktoré nikomu nepatria majú v zozname malú nulu, Fake Userovia majú F-ko.

Ak máte vyrobených zbytočne veľa materiálov a chcete niektoré z nich zmazať, dá sa to nasledovne: v pravom hornom menúčku, kde máte zoznam objektov si prepnite zo Scenes na Blender File. Tu sú všetky veci uložené k danému Blender súboru a dajú sa tu aj mazať.

Vlastnosti materiálov

Teraz sa pozrieme bližšie na niektoré vlastnosti materiálov.

Vytvorte si nový súbor, kocku zmažte a miesto nej si pridajte opicu. Keďže ju chceme mať peknú a hladkú, použijeme modifier Subdivision Surface (v pravom menúčku) a Smooth Shading (pravým klikom na opicu)

Aby sme materiálové vlastnosti dobre videli, prepneme si spôsob zobrazenia na Rendered. A do pozadia si dáme šachovnicu. Toto sa dá v pravom menúčku v časti World properties. Pri hodnote color, miesto na výber farby treba kliknúť na to malé koliesko vpravo a získate ďalšie možnosti. (ak sa vám vaša šachovnica nepáči, vyberte si niečo iné, alebo jej upravte vlastnosti)

Rendered je štýl zobrazovania, ktorý simuluje vyrendrovaný obrázok. To znamená, že je dosť podobný samotnému výslednému rendru, ale je o niečo škaredší (a o dosť rýchlejší na výpočet).

Ok, ideme na to. Vytvorte opičke nový materiál.

Skontrolujte si, či máte zapnuté Use Nodes. Spoznáte to podľa toho, že ak sú vypnuté, máte na výber iba veľmi málo materiálových vlastností.

Nodes sú určené na to, aby ste s materiálmi vedeli praktikovať matematické operácie, dostaneme sa k tomu na nejakom z ďalších cvičení. Najprv sa pozrieme na to, aké hodnoty tu vlastne vieme meniť.

Naoko to pôsobí, že ich je mega veľa, ale to je iba zdanie. V skutočnosti tvoria skupinky. Pozrime sa na to bližšie.

Dnes sa budeme venovať iba niektorým (tým farebným). Ostatným sa povenujeme neskôr, alebo nikdy.

1. (Surface) Shader – My budeme používať iba Principed BRDF. Ak chcete, môžete si skúsiť kliknúť na nejaké špecifickejšie. Napríklad Glass BRDF vám vytvorí sklo + nejaké jeho vlastnosti. Môžete si to poklikať len tak pre zaujímavosť, ale nakoniec si vyberte Principed BRDF, je to univerzálny shader, ktorý zahŕňa v podstate všetko.

2. Base color – základná farba. To už poznáme. Dajte si nejakú výraznú.

6. Roughness – určuje, nakoľko je povrch objektu zdrsnený. Pri malých hodnotách bude veľmi lesklý – bude odrážať svetlo priamo, ako zrkadlo. Pri veľkých bude matný – bude svetlo mäkko rozptyľovať všade naokolo.

Vyskúšajte si rôzne hodnoty.

4. Metallic – Toto súvisí so Subsurface Scattering (dúfam, že ste si všetci prečítali teóriu!). Reálne zmysel čo do realistického obrazu majú iba dve hodnoty

  • 1 = Objekt je kovový (metalický) – všetko svetlo sa buď odráža, alebo pohlcuje.
  • 0 = Objekt nie je kovový (tejto skupine sa hovorí dielectric) – svetlo sa aj normálne prepúšťa do objektu a zaručuje, že má normálne farbu.

Vyskúšajte si to pre rôzne hodnoty.

Vyskúšajte si rôzne hodnoty Metallic pri rôznych hodnotách Roughnessu. 100% lesklá plocha je iná ako 100% lesklá metalická plocha. Normálne lesklé objekty odrážajú farby v podstate verne, kovové odraz silno zafarbujú.

Skúste si nájsť doma niečo farebné kovové (neobchytkané, nezašmudlané a nedoškrabané), napríklad šperk/meď na cievke. Uvidíte rovnaký efekt.

Hodnoty medzi tým sú matematickou interpoláciou, ale fyzikálne až tak nedávajú zmysel. Ak nechcete byť špeci experimentálni, odporúčam proste nastaviť 1 pre všetky kovy a 0 pre všetko ostatné, nech je to akokoľvek lesklé (drevo/plast/látky/tehly/laky/rastliny/...)

11. Transmission – v podstate priesvitnosť. Teda koľko lúčov prejde objektom. Pozor, ak je váš objekt metalický, z definície vám neprejde nič! Najlepšie je to vidno pri bielom objekte s nízkou Roughness Pri rôznych roughnessoch to robí celkom pekné kombinácie. V podstate týmto viete robiť rôzne typy skla.

10. IOR = Index of Refraction – dúfam, že si ho pamätáte z teórie! Je to uhol pod ktorým sa láme svetlo pri prechode objektom. Môžete si ho tu manuálne nastaviť.

Všimnite si, že ak ho nastavíte na 1, svetlo sa nijak neláme a priamo vidíme cez objekt pozadie.

BONUS 3

Vytvorte pre vašu opičku originálne náušnice!

Využite na nich aspoň 3 rôzne materiály (ktoré sa líšia nielen farbou, ale aj vlastnosťami). Čo sa týka tvaru, neskladajte ich iba s tých úplne základných útvarov, upravte ich trochu v Edit Mode. Je na vás, či to všetko zjednotíte to jedného objektu, alebo budú zložené z viacerých.

Nejaké rady:

  • Ctrl+C a Ctrl+V vám skopíruje objekt a novému vytvoria nové materiály (s rovnakými vlastnosťami)
  • Shift+D vám skopíruje objekt a nový bude mať priradené tie isté materiály ako pôvodný
  • Modifier Subdivision Surface (ten čo sme na začiatku použili na opičku) pekne vyhládza hladké plochy, pri hranatých robí trochu srandičky. Ale nie nutne škaredé. Skúste si to.
  • Ak sa vám pri lesklých plochách príliš divoko odráža pozadie, dajte šachovnici menšiu hustotu (Vo world properties, vlastnosť Scale)
  • Ak sú vaše náušničky mdlé a tmavé, možno treba zmeniť osvetlenie (iná intenzita/uhol/…)
Príklad riešenia bonusu. Nie, že sa budete snažiť napodobiť tieto, vymyslite si vlastné!

Bonus mi pošlite cez odovzdávací formulár. Pošlite mi 2 rendre. Záber na celú opičku + detail náušnice. Pozor, platí iba dnes!

Link:

Čo ostatné vlastnosti?

K nim iba veľmi stručne:

3. Subsurface – toto sú hodnoty pre vytváranie výrazného typu Subsurface Scattering, teda keď je taká silná, že „presvitá“ – napríklad vosk/ľudská pokožka/zeleň/atď…

5. Specular – ďalšie špeci vlastnosti pre takú tú priamu, silnú časť svetelného odrazu. Užitočné pre snahu o realizmus.

7. Anisotropic – s týmto sa dajú vytvárať materiály, ktoré sa rôzne lesknú z rôznych strán (aj keď zachováme uhol od normály). Príkladom je napríklad spodok panvice. Vznikajú tam také lesklé kruhy.

8. Sheen – vlastnosti pre špeciálny typ jemného lesku, ktorý vzniká pri tkaninách

9. Clearcoat – s týmto viete materiál obaliť akoby jemnou lesklou vrstvou. Akoby ste ho potreli priesvitným lakom. Tento efekt niekedy vzniká pri keramike.

10. Emmision – materiál bude generovať svetlo

11. Alpha – priesvitnosť povrchu

12. Uhly – tieto sú dôležité! Pomocou týchto vlastnosti vieme manuálne meniť uhol normály v danom bode. Dajú sa s tým robiť veľmi sexy efekty. K týmto sa určite ešte dostaneme!

Niektoré s týchto vlastností fungujú iba v Blender Cycles.

Ak ste to zvládli až sem, prosím vyplňte mi minianketu o tom, ako vám cvičenie vyhovovalo. Link je tu, alebo v rannom maili: