Skip links
Explore
Drag

Czym są materiały PBR?

  1. Definicja
  2. Dlaczego warto używać materiałów PBR?
  3. Gdzie mogę znaleźć takie materiały?
  4. Jak zaimportować materiały PBR (na przykładzie Blendera).
  5. Jak stworzyć własny materiał PBR, gdy nie można znaleźć odpowiednika?

Materiały PBR (Physically-Based Rendering) są to, z angielskiego, materiały oparte na fizyce. Mimo, iż początki projektowania materiałów obiektów trójwymiarowych sięgają kilkudziesięciu lat, stosunkowo niedawno proces ich tworzenia stał się na tyle popularny, że stał się standardem. Aby zobrazować to czym było pojawienie się materiałów PBR dla branży grafiki 3D mogę to porównać jedynie do pojawienia się Elementora w dziedzinie projektowania stron internetowych. Materiały PBR wykorzystywane są w najnowszych produkcjach gier komputerowych opartych o takie silniki jak Unreal, CryEngine, czy Unity. W dzisiejszym artykule chciałbym przedstawić czym są materiały PBR, opisać ich główne cechy bez wchodzenia w skomplikowane zagadnienia techniczne. Proszę potraktować go jako wstęp do tematyki materiałów oraz teksturowania.

Definicja - Materiały PBR

Renderowanie oparte na fizyce jest metodą projektowania materiałów obiektów trójwymiarowych, która zapewnia dokładniejsze odwzorowanie interakcji światła z daną powierzchnią, w zależności od punktu widzenia. Oznacza to, że PBR zakłada bardziej realistyczne odwzorowanie danego materiału w zależności od tego jak światło pada na daną powierzchnię. Wyróżniamy PBR, czyli renderowanie oparte na fizyce, oraz PBS czyli cieniowanie oparte na fizyce. Głównym założeniem wykorzystywania materiałów PBR jest bardziej realistyczne ukazanie danego obiektu / sceny w środowisku do tworzenia grafiki trójwymiarowej.

Porównanie wpływu parametru "Roughness" na wygląd obiektu. Po lewej wartość 0, w środku 0.5, po prawej 1.

Co to oznacza w praktyce? Każdy materiał, który ma jak najbardziej odwzorowywać rzeczywistość będzie składał się z kilku map/tekstur, które będą wpływać na właściwości danego materiału. Wśród nich możemy wyróżnić miedzy innymi:

– diffuse / albedo (albedo jest to podstawowa mapa opisująca kolor wejściowy),

– roughness map (używana w shaderach PBR, kontroluje ostrość odbić światła, ma wpływ na połysk i chropowatość materiału),

– normal map / bump (odpowiada za kształt materiału, każdy kolor reprezentuje inną oś kierunku),

– displacement map (wykorzystywana do deformacji powierzchni materiałów),

– ambient occlusion (bardziej wyraziste przedstawienie szczegółów oraz cienia).

Istnieją dwie szkoły projektowania materiałów PBR – Specular oraz Metalness. Zmiany ścieżki projektowania z jednej na drugą powodują zmiany we wszystkich materiałach danego obiektu.

Przykład wykorzystania materiałów PBR

Korzystając z materiałów PBR możemy stworzyć realistyczne materiały danych obiektów trójwymiarowych. Materiały te gotowe są do importu do naszej sceny, dzięki czemu projekt będzie mógł wyglądać jeszcze bardziej realistycznie. Poniżej przedstawiam przykład materiału PBR autorstwa Poliigon (znajdziecie go w źródłach). 

COLOR

REFLECTION

GLOSS

DISPLACEMENT

AMBIENT

NORMAL

Źródło Poliigon: https://www.poliigon.com/texture/ground-tire-tracks-001

Dlaczego warto używać materiałów PBR?

Wśród cech opisujących proces tworzenia materiałów tą metodą wyróżniłbym przede wszystkim fakt, iż jakość jest nieporównywalnie lepsza od ich zwykłych odpowiedników. Nie ma tutaj miejsca na zgadywanie jakie parametry powinna obrać dana cecha materiału, ponieważ wszystkie informacje zostają pobrane wraz z ustanowieniem map, np. gdy dodamy normal map do naszego materiału program będzie w stanie wygenerować wszelkie wypukłości oraz niedoskonałości, bez konieczności używania kolejnych nodów. Co prawda nie ma nic złego w manipulowaniu shaderami, szczególnie kiedy tworzymy teksturę, która ma wyglądać nieco nierealistyczne. Należy zwrócić jednak uwagę, że to do czego branża graficzna prowadzi od kilkudziesięciu lat jest możliwie jak najlepsze oddanie realizmu sceny, jednocześnie wykorzystując do tego jak najmniej zasobów obliczeniowych.

Drugą zaletą wykorzystywania materiałów opartych o fizykę jest kompatybilność. Biorąc pod uwagę schemat tworzenia materiałów starą metodą możemy z łatwością zauważyć frywolność w dobieraniu danych shaderów oraz ich kolejności. Przez nie ustandaryzowanie procesu tworzenia programy do tworzenia grafiki trójwymiarowej nie były w stanie odpowiednio zarządzać materiałami wyeksportowanymi z jednego programu do drugiego. Każde narzędzie (takie jak Blender, 3ds Max) różni się zasadą działania danego shadera, więc sam import materiału często okazywał się niemożliwy. W momencie gdy dzisiaj każdy materiał mamy opisany za pomocą map możliwe jest wykorzystywanie narzędzi, które zautomatyzują proces dodawania kolejnych materiałów. Widzimy to m.in. w rozszerzeniach Blendera, które znacznie ułatwiają ten proces, ale nie tylko. Firmy takie jak Poliigon, w których to możliwy jest zakup tekstur, udostępniają gotowe wtyczki, dzięki którym każdy użytkownik może w łatwy sposób dodać nowy materiał (o tym poniżej).

Gdzie mogę znaleźć takie materiały?

Wiele stron internetowych oferuje tekstury za darmo. Ostatnimi czasy dodawane są całe pakiety map, dzięki którym projektanci mają możliwość stworzenia materiałów PBR na własny użytek. Wśród stron internetowych, z których materiałów korzystałem mogę wyróżnić:

https://www.textures.com/browse/pbr-materials/114558

https://polyhaven.com/?ref=dtf.ru

https://www.sharetextures.com/

https://www.poliigon.com/textures

Istnieje również dużo więcej płatnych rozwiązań, jeśli jednak projektujesz dla zabawy lub też własnego rozwoju warto zaznajomić się z wyżej wymienionymi stronami www.

Jak zaimportować materiały PBR (na przykładzie Blendera)?

Wymienię dwie metody dodawania materiałów PBR do własnego projektu. Jednym z nich jest wykorzystanie wbudowanej wtyczki „Node Wrangler”, dzięki której za pomocą jednego skrótu klawiszowego będziesz w stanie dodać materiał PBR. Aby to zrobić należy kliknąć Preferences -> Add-ons oraz wyszukać wtyczki Node Wrangler. Po pojawieniu się należy kliknąć kwadrat znajdujący się przed nazwą wtyczki.

Następnie aby zaimportować materiał PBR należy utworzyć nowy materiał danego obiektu i zaznaczając wcześniej Principled Shader klikamy CTRL+SHIFT+T. Ukaże się nam okno dialogowe, w którym należy wybrać mapy znajdujące się na naszym dysku. Proste i skutecznie. Nie ma szybszej metody dodawania materiałów PBR.

Drugą metodą jest wykorzystanie rozwiązania od Poliigon. Działa to na takiej samej zasadzie, w której to należy dodać nową wtyczkę. Po poprawnym zainstalowaniu w prawym panelu materiałów powinna pojawić się nowa zakładka. Wybieramy w niej miejsce docelowe gotowego materiału i jednym kliknięciem dodajemy go do naszej sceny. Należy pamiętać, że wtyczka ta działa tylko na mapy, które są odpowiednio nazwane (metoda powyżej również musi spełniać te wymaganie) oraz są pochodzenia Poliigon. Podsyłam również bezpośredni link do pobrania wtyczki, wraz z instrukcją obsługi na ich stronie – link TUTAJ.

Jak stworzyć własny materiał PBR, gdy nie można znaleźć odpowiednika?

Aby stworzyć nowy materiał PBR wystarczy, że będziemy mieli w posiadaniu główną teksturę (diffuse/albedo). Do stworzenia map dla materiałów PBR należy wykorzystać zewnętrzne oprogramowanie o nazwie: CrazyBump. Możecie pobrać go TUTAJ

Jest to program bardzo intuicyjny, dzięki któremu w 30 sekund będziecie w stanie generować mapy. Program ten oferuje wersję demo, po upłynięciu którego należy wykupić licencję. Jeżeli nie chcesz skorzystać z tego rozwiązania istnieje również szereg innych programów, takich jak AwesomeBump, Njob, Materialize, ShaderMap 4. Znalazłem pełną listę programów, które można do tego celu wybrać TUTAJ.

Wracając do samego programu. Po wgraniu naszej mapy albedo (czyli zwykłej tekstury) ustawiamy parametry Diffuse i Normal mapy takie jak intensywność oraz ilość detali. W prawym dolnym rogu będziemy mieli wypisane wszystkie mapy, można dowolnie przełączać się między nimi oraz zmieniać ich parametry. W momencie gdy będziemy zadowoleni z efektu po prostu eksportujemy nasze mapy. Nic prostszego.

Mam nadzieję, że dzisiejszy artykuł pomógł Wam zrozumieć czym są materiały PBR oraz jak je importować do swojego projektu. W razie jakichkolwiek pytań, sprostowań, czy też próśb o uzupełnienie artykułu, proszę o informacje poprzez formularz kontaktowy.

Słowniczek:

Scena – zbiór obiektów 3D znajdujących się w obrębie tego samego projektu w programie do tworzenia grafiki trójwymiarowej.

Node (Węzeł) – jest to parametr określający wygląd materiału przypisanego do danego obiektu 3D. Każdy węzeł wykonuje jakąś operację na materiale, zmieniając jego wygląd po nałożeniu na siatkę modelu.

Shader – jest to jeden z węzłów. Opisujący wpływ oświetlenia na powierzchnię lub objętość danego modelu trój wymiarowego.

Poliigon – producent wysokiej jakości tekstur oraz rozszerzeń do środowisk tworzenia grafiki trójwymiarowej.

CrazyBump – oprogramowanie służące do eksportowania map wypukłości, map normalnych i przemieszczeń ze zdjęć lub zeskanowanych obrazów oraz generowanie map oświetlenia z tekstur 2D.

Renderowanie  – jest to dwuwymiarowe odwzorowanie obiektów 3D stworzonych przez użytkownika w zakresie danej sceny.

Blender – Blender to darmowy i otwarty pakiet do tworzenia 3D. 

Unity, Unreal, CryEngine – środowiska do tworzenia grafiki czasu rzeczywistego.

Źródła:

https://info.e-onsoftware.com/learning_vue/what-are-pbr-materials

https://help.sketchfab.com/hc/en-us/articles/204429595-Materials-PBR-

https://help.poliigon.com/en/articles/1712652-what-are-the-different-texture-maps-for

http://mfabjanski.blogspot.com/p/download-przewodnik-mozna-tez-sciagnac.html

Oraz zapraszam do obejrzenia filmu Blender Guru:

W celu zapewnienia prawidłowego funkcjonowania naszej strony internetowej korzystamy z plików cookies. Zgodę wyrażasz dobrowolnie. Możesz ją w każdym momencie wycofać lub ponowić.