Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Grafika 3D: Blender, cz. IX – materiały

Co to jest materiał

Obiekty w grafice 3D rozpoznajemy przez ich wygląd, a na wygląd wpływa m.in. zastosowany materiał, który ma szereg atrybutów:
  • Kolor – często reprezentowany przez trzy składowe RGB (Red, Green, Blue);
  • Połysk – zdolność do odbijania/pochłaniania lub rozpraszania światła – materiały metaliczne, perłowe, matowe itd.;
  • Przeźroczystość – zdolność do przepuszczania światła – materiały przeźroczyste, półprzeźroczyste, nieprzeźroczyste; uwaga: światło przechodząc z jednego ośrodka np powietrza do drugiego np. szkła ulega załamaniu;
  • Świecenie – zdolność do bycia źródłem światła – ilość światła wysyłanego jest większa od przyjmowanego;
  • Faktura – rodzaj powierzchni – gładka, szorstka, jednorodna, nieciągła itd.

Blender Render

W Blenderze istnieją dwie główne i zgoła inne możliwości definiowania materiałów oparte o różne silniki renderujące:
  1. Blender Render – domyślny, starszy, już nie rozwijany system, ale zwykle szybszy – nadaje się do prostych renderów i gier. Dziś się tym sposobem zajmiemy;
  2. Cycles – nowoczesny, stale rozwijany system – nadaje się do fotorealistycznych renedrów, raczej bardziej wymagający od sprzętu, ale wspiera obliczenia na GPU.

Zakładka Material

Aby móc zarządzać materiałami zwykle musimy rozsunąć prawe okno właściwości, aby pojawiła się zakładka z materiałami.
Obiektom przypisujemy materiały z których są "zrobione" wskazując z biblioteki materiałów.

Nowy materiał

Na początku biblioteka jest pusta (nie licząc domyślnego materiału) i musimy sami dodać nieco materiałów do biblioteki. Gdy obiekt nie ma przypisanego materiału, to wciskając przycisk New możemy utworzyć nowy.
Gdy jakiś wybrany obiekt ma już przypisany materiał to dodanie nowego materiału do biblioteki realizujemy wciskając plus (+).

Tym samym ten nowo utworzony materiał będzie kopią poprzedniego i będzie jednocześnie przypisany do wybranego obiektu. Naszym zadaniem jest zmiana parametrów materiału na nowe.

Dodawanie materiałów będzie miało zatem charakter nieco interaktywny, gdyż będziemy określali szereg różnych parametrów dla różnych atrybutów i w okienku podglądu kontrolowali wynik działania.

Nazwa materiału

Jednym z ważniejszych parametrów jest... nazwa. Tak, tak, po chwili gdy mamy już ich naście, to często trudno się zorientować co to za materiał Material.019 i dla którego obiektu był przeznaczony. Dlatego zaraz po utworzeniu nowego podajemy nazwę materiału.

Charakter materiału

Materiały mogą mieć różne charaktery w zależności, czy chcemy, aby materiał dotyczył:
  • powierzchni (Surface)
  • krawędzi (Wire)
  • objętości (Volume)
  • świecących punktów (Halo)

Podgląd materiału

Obiekty, którym będziemy przypisywać materiały, mają różne kształty i aby lepiej je dopasować możemy zmieniać kształt obiektu w okienku podglądu:
  • Płaszczyzna
  • Kula – domyślny
  • Sześcian
  • Małpka – kształt złożony
  • Włosy
  • Kula na tle gradientu (nieba?)
Część z nich występuje na tle szachownicy – to ułatwia pracę z przeźroczystościami.

Kilka materiałów dla jednego obiektu

Czasem chcemy, aby jeden obiekt (który ma wiele ścian) miał przypisanych kilka materiałów np. każda ścianka sześcianu ma mieć inny materiał. Zatem do wybranego obiektu dodajemy plusem po prawej stronie kolejne sloty na materiały i z biblioteki wskazujemy materiały, które lądują w kolejnych slotach.
Musimy jeszcze jednak poinformować Blendera, które ściany mają mieć jaki materiał. Jak ścianki, to tryb edycyjny ([Tab]). Teraz zaznaczamy ścianę, wskazujemy slot z materiałem i klikamy na Assign.
Dla skomplikowanych obiektów różnice w materiałach możemy wykorzystać również do selekcji ścian.

Kolor materiału – Shadery

Kolor to podstawowy atrybut materiału. Jednak, gdy patrzymy na obiekt nawet jednobarwny, to zauważamy, że ów kolor nie jest jednolity na całej powierzchni obiektu. To zjawisko jest podstawą do definiowania materiału, a opiera się na wydzieleniu kilku stref dla obiektu:
  • Diffuse – podstawowy kolor materiału – miejsce rozpraszania światła;
  • Specular – odbłysk, rozjaśnienie (blik) – miejsce odbijania światła;
  • Shading – miejsce zacienione, gdzie nie pada światło;
  • Shadow – cień – miejsce, gdzie pada (jest odbierany) cień od innego obiektu;
  • Subsurface – krawędź o dużym kącie patrzenia – miejsce przypowierzchniowe np. glazura na porcelanie.
Strefy te odpowiadają tzw. shaderom. Zmieniając teraz parametry poszczególnych stref np.:
  • Kolor – czerwień dla Diffuse, a biel dla Specular;
  • Wielkość – mały lub duży odbłysk;
  • Intensywność – bardzo jasny lub blady odbłysk;
  • Granica pomiędzy strefami – wyraźna (ostra) lub łagodna (miękka);
  • Algorytm – sposób generowania kolorów dla stref;
możemy symulować rodzaj materiału np. kula bilardowa jest gładka – ma wyraźny, jasny, ale o małym rozmiarze odbłysk. Za to materiały matowe mają rozległą, lecz bladą i o łagodnej granicy strefę odbłysku.

Wyboru koloru dokonujemy osobno dla stref Diffuse i Specular za pomocą wybieraczki koloru – koło kolorów i suwak biel/czerń albo poprzez podanie na suwaku poniżej wartości w jednym z modeli kolorów RGB/HSV/HEX. Możemy także użyć próbnika do pobrania z ekranu dowolnego koloru.

Algorytmy shaderów

Różne sposoby generowani koloru mają na celu lepsze dopasowanie materiału do jego odpowiednika w rzeczywistości. Stąd te kilka algorytmów. Przykłady ich zastosowania:

Przykładowe ustawy shaderów dla strefy Diffuse i Specular i ich zastosowanie:

Nakładka gradientowa – Ramp

Czasem w ramach jednej strefy chcemy mieć nie jeden kolor, ale przejście tonalne pomiędzy różnymi kolorami (gradient) – do tego służy parametr Ramp, gdzie dodajemy kolory, ich położenie, przeźroczystość i sposób nakładania.

Strefa zacieniona – Shading

W tej strefie wpływać będziemy na intensywność zacienienia, "świecenie" materiału i efekty specjalne jak np polerowane aluminium

Przeźroczystość – Transparency

Szkło, woda wymagają przeźroczystości. Możemy ją realizować w zależności od metody renderowania:
  • Mask – najprostsza – ustalamy tylko przeźroczystość (Alfa);
  • Z Transparency – prosta – można ustalić osobno dla stref Specular/Diffuse;
  • Raytrace – najbardziej rozbudowana – pozwala ustalać m.in. współczynnik załamania (IOR), zmatowienie, wsp. Fresnela oraz dokładność renderingu (Samples).

Powierzchnie lustrzane – Mirror

Obiekty metalowe nie obejdą się bez tego atrybutu. Również do powierzchni szklanych czy wody powinniśmy nieco dodawać "odbijalności". Tutaj również ustalimy m.in. współczynnik załamania (IOR), zmatowienie, wsp. Fresnela czy dokładność renderingu.(Samples)

Cień – Shadow

Ten atrybut mówi o cieniu w różnych kontekstach:
  • Odbieranie cienia – Receive – tzn. czy na nasz obiekt w ogóle może padać cień od innych obiektów;
  • Odbieranie cienia od obiektów przeźroczystych – Receive Transparent – tzn. czy zmniejszyć cięń pochodzący od obiektów transparentnych – zwykle należy włączać;
  • Rzucanie tylko cienia i zastępowaniu obiektu tłem (Background) lub uczynieniem go przeźroczystym;
  • Ustalanie cienia w zależności od typu światła, które go rzuca.

Rozpraszanie podpowierzchniowe – Subsurface Scattering

Gdy zależy nam, aby nasz obiekt rozpraszał w sobie jakieś inne światło – to możemy z tego skorzystać, ale uwaga – rendering może się znacząco wydłużyć. Bez specjalnych poszukiwań w zakresie parametrów możemy zdać się na parę gotowych ustawień tj. jabłko, ketchup, marmur, śmietana, kurczak :).

Opcje

Na koniec zakładka z opcjami dodatkowymi materiału, których nie można było zaliczyć do poprzednich. Chyba najdziwniejsza to cień z drugiej strony.

Aby utrwalić wiedzę z materiałów proponuję je zdefiniować i zastosować do obiektów budowanych w ćwiczeniu pt. "Stół", a dotyczącym krzywych. Mamy tam złoty kielich, srebrną łyżkę, szklany wazon (to trzeba dorobić, gdyż tego akurat w ćwiczeniu nie było), porcelanowy talerz, politurowany stół oraz matowe ściany, podłogę i nogę od stołu.

Oczywiście dla tych, co mają niedosyt wiedzy tradycyjnie polecam:

 

oprogramowanie porady hobby

Komentarze

0 nowych
irokiee   8 #1 16.11.2015 08:06

:) Blender internal render - ładnie a przy Cycles to dopiero jest zabawa :D

Podoba mi się ta seria - mam dla Pana ofertę - możemy omówić szczegóły na priv ?

skala67   7 #2 16.11.2015 08:54

@irokiee: O Cyclesach będzie za jakiś czas :).

Sam się zastanawiałem czy w ogóle pisać o Blender Internal Render, ale do słabszych komputerów i do pisania gier póki co, z Cycleasmi nie tak łatwo.

Co do priva to zapraszam.

irokiee   8 #3 16.11.2015 09:26

@skala67: heh właśnie szukam tego priva - poza jabberem niczego nie widzę :) jakby co zapraszam na FB lub G+ (namiary w profilu)

Autor edytował komentarz.