Grafika 3D: Blender, cz. IX – materiały
Co to jest materiał
[img=09_00_blender]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:
- 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;
- 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:
- Polski kurs blendera – stworzony przez Piotra Arłukowicza najlepszy na świecie :) (http://polskikursblendera.pl/ ) polskojęzyczny zbiór wideoporadników o Blenderze – dziesiątki godzin fachowo i z humorem omawiających zakamarki Blendera.
- Troman – tworzenie gier w Blenderze (http://troman.pl/przewodnik/wprowadzenie-do-blender-game-engine_ID1 ) – portal zawierający poradniki, forum i nowości o tworzeniu gier w Blenderze.
- Wirtualne modelarstwo – napisana przez Witolda Jaworskiego darmowa (Creative Commons) książka (http://samoloty3d.pl/wm–000_p.xml ) poświęcona głównie tworzeniu realistycznych modeli 3D samolotów w Blenderze i z wykorzystaniem GIMPa oraz InkScapea.
- Kontury Kultury – magiczne miejsce we Wrocławiu (http://konturykultury.art.pl/plan.html ), gdzie mieszkańcy stolicy Dolnego Śląska i okolic mogą skorzystać z bezpłatnych warsztatów grafiki 3D – Blender, a także innych działań artystycznych.
- Świetna infografika ze skrótami do Blendera – warto wydrukować i powiesić przed biurkiem jako plakat.
- Książka Blender. 3D Content Creation Noob to Pro – dla chcących poznać Blendera ale i poćwiczyć swój angielski :)