Adobe Substance Painter. Jak skorzystać z predefiniowanych materiałów?
W poprzednim artykule pokazane było, w jaki sposób uzyskać prosty materiał parametryczny. Parametryczny to znaczy taki, którego cechy określane są przez wartości definiujące cechy materiału na całym obiekcie 3D. Na przykład prosty materiał imitujący metal lub plastik określić można poprzez podanie wartości ich koloru, połysku i metaliczności [Rys.1]. W ten sposób definiując trzy wartości (jeden wektor – kolor, dwa skalary – połysk i metaliczność) definiuje się cały materiał. W tym artykule pokaże, jak korzystać z biblioteki gotowych materiałów Paintera o nieco bardziej złożonej budowie, które jednocześnie można używać do dalszej edycji na potrzeby własnego materiałowania.
[Rys.1. Przykład materiału parametrycznego opartego tylko na trzech cechach – kolorze i połysku i obecności metalu.]
Informacja o powierzchni zawarta w geometrii (werteksach) vs w obrazie (pikselach)
W zależności od bieżącego postępu w technologii, w grafice komputerowej można zauważyć tendencje do przenoszenia informacji o geometrii obiektu pomiędzy formą przestrzenną (za pomocą werteksów w przestrzeni 3D) a lokowaniem jej na teksturach (informacja zawarta w pikselach). Nie wnikając w dalsze szczegóły, dlaczego i jak, obraz jest w stanie tak samo, jak werteksy przenieść informacje na temat charakteru powierzchni obiektu. Świetnym przykładem jest materiał drewna. Drewno ma bogatą strukturę powierzchni, którą teoretycznie można zbudować za pomocą geometrii przestrzennej. Nikt tego jednak w praktyce nie robi. Stosuje się natomiast obraz drewna. Obecnie, przy powszechnej już technice teksturowania PBR (odzwierciedlającej w bardzo fizyczny sposób wygląd materiału), by przedstawić drewno za pomocą obrazu, stosuje się zestaw tekstur PBR. Co nie zmienia faktu, że wszystkie one są również informacją umieszczoną w pikselach — po prostu w teksturach.
O ile bardzo proste materiały można równie prosto opisać parametrycznie, o tyle materiały, które zawierają informację przenoszoną przez obraz, muszą posiadać dodatkowo tekstury. Są to praktycznie wszystkie materiały, które pokazują zmienność na swojej powierzchni. Oprócz wspomnianego drewna można mnożyć przykłady w nieskończoność — tynk, skóra, kamień, asfalt, bruk itp. Czasem, w skrajnych przypadkach, na tekstury przenosi się całe struktury geometryczne — na przykład istnieją materiały trawy, oka, twarzy. W przypadku tak zwanego teksturowania unikalnego, na jednej teksturze może się znajdować informacja o powierzchni całego obiektu, na przykład skrzyni albo fasady budynku [Rys. 2].
[Rys.2. Przykład materiału, w którym cała informacja przestrzenna została przedstawiona za pomocą informacji zapisanej w pixelach. Geometrią przestrzenną w tym przypadku była jedynie cztero-werteksowa płaszczyzna, na którą nałożony został materiał PBR. Źródło — Internet.]
Materiały podstawowe, nieparametryczne
O ile stworzenie materiałów parametrycznych jest szybkie i łatwe (poprzedni tutorial), do pozostałych — niejednorodnych, potrzebne są zestawy tekstur. Takie zestawy tekstur można do Paintera zaimportować, jeśli się je posiada. O importowaniu tekstur PBR i tworzeniu takich materiałów będzie w następnym tutorialu. Często jednak chciałoby się skorzystać z jakiejś gotowej “bazy” materiałów. Czegoś wejściowego, co jednocześnie posiadać będzie różne zmienne, pozwalające dopasować cechy materiału tak, by można było go dostosować do swoich potrzeb. Najlepiej, by był to gotowy zestaw tekstur, którym można byłoby manipulować za pomocą zwykłej funkcjonalności Paintera. Jeszcze lepiej, gdyby taki bazowy materiał dodatkowo był oskryptowany, pozwalając na zmianę dodatkowych parametrów, nieoczywistych dla podstawowych narzędzi Paintera.
Wracając do przykładu drewna, taki bazowy materiał powinien posiadać pełen zestaw tekstur PBR struktury drewna. Następnie, za pomocą podstawowych funkcjonalności Paintera można łatwo zmienić jego barwę, połysk, tiling, kierunek, natężenie porowatości, wewnętrzne cienie mikrostruktury itd. Jeśli taki materiał jest dodatkowo dobrze oskryptowany, można mu będzie zmieniać bardziej zaawansowane cechy, takie jak ilość słoi, obecność podziału na deski, wiekowość czy nawet ilość wbijanych gwoździ. Substance Painter znany jest z tego, że potrafi na teksturowanym materiale wygenerować tak zwane efekty krawędziowe — są to efekty postarzające obiekt, dodające ślady użytkowania, zwiększając realizm wyglądu. Takimi efektami są otarcia na krawędziach lub gromadzące się zabrudzenia w załomach obiektu. Efekty krawędziowe mogą również być wkomponowane w bazowy materiał i w dość dowolny sposób zmieniane.
Źródła online bazowych materiałów
Zanim Substance Painter został kupiony w 2019 roku przez Adobe, poprzedni właściciel i twórca Paintera — Allegorithmic stworzył platformę — Substance Share, na której użytkownicy dzielili się swoimi produktami (bazowe materiały, ale również alfy, czysto same tekstury i inna zawartość związana również z programem Substance Designer). Dostęp był darmowy i nieograniczony na zasadzie jedynie rejestracji konta. Platforma Substance Share była utrzymana jeszcze jakiś czas po przejęciu własności programów Allegorithmic przez Adobe. Niedawno Adobe przeszło na swoją, płatną już w zasadzie platformę, próbując naśladować Substance Share, nazwaną Substance 3D Community Assets [Rys.3]. Pobieranie z niej zawartości jest jednym ze sposobów na uzyskanie bazowego materiału. Może to jednak wiązać się z kosztem. Wydaje się również że społeczność niezbyt chętnie tym razem podchodzi do uploadowania i dzielenia się tam swoimi pracami. Pobrany na platformie materiał pobiera się i przez zwykłe przeciągnięcie importuje do programu.
[Rys.3. Interface platformy Adobe do pobierania assetów, w tym materiałów bazowych dla programów Substance.]
Materiały bazowe dostarczone z programem
Na początku istnienia programu, wbudowana biblioteka była jedynym źródłem takich materiałów. Z instalacją programu przychodziły zestawy materiałów, których biblioteka z czasem powiększała się do całkiem sporych rozmiarów. Było w czym wybierać. Z czasem, kiedy powstała darmowa platforma Substance Share, twórcy w Allegorithmic zaczęli sukcesywnie zmniejszać natywną bibliotekę Paintera. Obecnie w programie jest dodanych prawie 120 materiałów bazowych. Można je wszystkie zobaczyć w zakładce “Materials” [Rys.4]. Choć liczba ta wydaje się duża, to w praktyce jest tego o wiele mniej. Prawie 20 materiałów to różne odmiany skóry ludzkiej. Kilkadziesiąt materiałów to proste definicje meli, które można w zasadzie szybko stworzyć samemu.
[Rys.4. Biblioteka predefiniowanych materiałów bazowych, wbudowanych w aktualną wersję Substance Painter.]Jak dodać taki materiał do modelu? Podstawą jest stworzenie warstwy typu “Fill Layer” [Rys.5].
[Rys.5. Ikona zakładająca warstwę typu “Fill Layer”.]
Dodanie tej warstwy spowoduje utworzenie domyślnego, parametrycznego materiału PBR — zawierającego podstawowe, również domyślne kanały odpowiedzialne za kolor, połysk, metaliczności, struktury powierzchni (Normal) oraz ewentualnie mniej istotne kanały, jak cechy anizotropowe [Rys.6.]. Można zauważyć, że stworzenie tej warstwy nie zmieni wyglądu obiektu, na który została nałożona — dlatego, że warstwa Fill Layer przychodzi z domyślnymi wartościami, które są jednocześnie przypisane do obiektów jeszcze nieomateriałowanych.
[Rys.6. Wstęga Layers z widocznymi kanałami PBR do parametrycznej edycji domyślnego materiału. Taka warstwa gotowa jest do przyjęcia każdego predefiniowanego materiału teksturowanego z biblioteki Paintera.]
Dodanie Fill Layer jest świetnym zaczynem do użycia jednego z bazowych materiałów z predefiniowanej biblioteki Substance Painter. Przypisanie takiego materiału jest teraz o tyle proste, że wystarczy pozostawiając warstwę Fill Layer, aktywną, po prostu kliknąć wybrany materiał z biblioteki. Jego wszystkie kanały i cechy zostaną wprowadzone bezpośrednio na aktywną Fill Layer. Od tej chwili warstwa Fill Layer staje się warstwą z materiałem bazowym biblioteki [Rys.7.].
[Rys.7. Wczytanie materiału bazowego w kanały Fill Layer. We wstędze Materiał pojawiają się wszystkie przygotowane do edycji cechy materiału.]
W tym wypadku wybrany został jeden z kilku dostępnych materiałów drewna. Materiał ten poza możliwościami zmian podstawowych cech w części “Parametry Techniczne” pozwala na zmianę charakteru słoi drewna oraz parametrów intensywności cieniowania mikrostruktury. W tym przypadku to niewiele, ale niektóre materiały oferują więcej możliwości.
Następnym przykładem niech będzie wyciągnięty z predefiniowanej biblioteki materiał o nazwie “Aluminiowa Izolacja” [Rys.8.].
[Rys.8. Materiał “Aluminium Insulator” w swojej domyślnej konfiguracji.
Jest to już złożony materiał, który jest chętnie używany do teksturowania obiektów s-f, jak na przykład pokrycie powierzchni statków kosmicznych. Wcześniej wspomniane było, że metale z natury mają prostą definicję, którą można opisać prostymi parametrami. Teraz mamy przykład metalu, który posiada dodatkowe szczegóły przeniesione na tekstury — coś na kształt panelii — pikowanej folii z dodatkowym kropkownym detalem. Każdy z tych elementów może mieć swój własny zestaw parametrów PBR. W części “technicznej” dopisano możliwość zmiany intensywności pofałdowań lub intensywność kropek na folii. Już przy pomocy kilku zmian można dostosować materiał takiej izolacji w dość szerokim zakresie do swoich potrzeb. Na przykład zmienić kolor na srebrny, zwiększyć intensywność fałd (pikowań) folii, usunąć kropli, zmienić połysk, oddzielnie dla samej folii i jej podziałów [Rys.9.].
[Rys.9. Widok po szybkich edycjach oferowanych przez skrypt bazowego materiału.]
Materiały bazowe z predefiniowanej biblioteki programu są dobrą podstawą do tworzenia swoich wersji analogicznych materiałów. Plusem jest łatwość ich nakładania i czytelność parametrów zmieniających cechy. Minusem jest ograniczona biblioteka oraz mała różnorodność najczęściej używanych materiałów (na przykład drewna, tynków, cegieł, odmian kamieni.).
Materiały bazowe typu “Smart Materials”
Nieco odmiennym sposobem uzyskania materiału bazowego jest użycie tak zwanych “Smart Materials”. Jest to odmienna grupa obiektów w bibliotece Substance Painter. Jest ich w obecnej wersji nieco ponad 120 rodzajów [Rys.10.].
[Rys.10. Biblioteka predefiniowanych materiałów typu “Smarts Materials”. We wstędze Layers pojawia się złożona struktura warstw komponujących wybrany materiał.
Są one niczym innym niż zbudowanym stackiem (kolumną warstw) materiałów parametrycznych, masek, proceduralnych grunge’ów i noise’ów, filtrów i innych efektów — wszystkich natywnych z programem. Oznacza to, że są one gotową kompozycją materiałującą taką, jaką w zasadzie może uzyskać każdy, budując od podstaw materiał do swojego modelu. Są one właściwie tym, do czego Substance Painter służy — tworzy się definicję materiału za pomocą poszczególnych elementów biblioteki programu. W przeciwieństwie do poprzedniego rodzaju materiałów bazowych nie wystarczy je kliknąć przy aktywnej warstwie “Fill Layer” – są konstrukcją złożoną, nie mogą się wpasować w pojedynczą warstwę. Dlatego umieszcza się je, poprzez przeciągniecie obiektu z biblioteki, na pole warstw materiału. Pojawiają się tam wtedy, najczęściej zamknięte w folderze (jednym z elementów warstw) wraz z całą swoją strukturą. Plusem “Smart Materials” jest ich większa złożoność, obejmująca nie tylko parametry i tekstury, ale często efekty i filtry dające interesujące cechy, których nie można byłoby uzyskać na pojedynczej warstwie typu “Fill Layer”. Minusem jest ich rozproszona na wiele warstw struktura, powodująca niekomfortowy sposób ich dalszej edycji w celu dostosowania bazowego materiału do własnych potrzeb. Wymagana jest pewna znajomość funkcjonowania poszczególnych obiektów Paintera, które znajdują się w definicji “Smart Materials”, by można było zrozumieć ich strukturę, a w dalszej kolejności, by móc ją edytować na własne potrzeby.
W następnym arykule…
Do tej pory w temacie programu Adobe Substance Painter, opisany został sposób tworzenia materiałów parametrycznych oraz to, jak skorzystać z predefiniowanych materiałów o bardziej złożonej strukturze. W następnym artykule pokazany będzie sposób na zbudowanie własnego materiału na bazie własnych, importowanych tekstur.