Grafika Komputerowa i Wizualizacja Przygotowanie grafiki 3D do gier komputerowych Rafał Piórkowski
Plan wykładu 1. Ogólne wiadomości 2. Modelowanie high poly 3. Rzeźbienie 4. Modelowanie low poly 5. Model postaci 6. Tekstury tradycyjne podejście oraz PBR 7. Tekstury proceduralne 8. Teksturowanie modelu 9. Export i import plików Przygotowanie grafiki 3D do gier 01/35
Mesh Mesh zbiór wierzchołków, krawędzi oraz polygonów, które definiują kształt obiektu w grafice komputerowej. Ogólne wiadomości 02/35
Topologia Topologia sposób w jaki łączą się ze sobą polygony i krawędzie, tworząc powierzchnię mesha. Ogólne wiadomości 03/35
Subdivide Przed wykonaniem Subdivide Subdivide operacja polegająca na podziale polygonów mesha na mniejsze części z jednoczesnym ich zaokrąglaniem na krawędziach obiektu (inne nazwy: Turbosmooth, Meshsmooth). Ogólne wiadomości Po wykonaniu Subdivide 04/35
Podpory (ang. Support edges) Podpory zaznaczone na czerwono Subdivide na modelu z podporami Podpory (ang. Support edges) dodatkowe pętle znajdujące się przy krawędziach obiektu. Powodują, że po wykonaniu operacji subdivide, dana krawędź będzie ostrzejsza. Ogólne wiadomości 05/35
Materiał i tekstura Materiał - określa sposób interakcji światła z powierzchnią modelu Właściwości materiału ustawia się używając różnego rodzaju tekstur czyli obrazów nakładanych na model. Ogólne wiadomości 06/35
Wektory normalne Wektory normalne znajdują się w każdym wierzchołku modelu. Wyznaczają, w którą stronę skierowany jest polygon. Manipulowanie nimi pozwala na stworzenie lepiej wyglądajcych modeli bez dodawania dodatkowej geometrii. Ogólne wiadomości 07/35
Smoothing groups Oba meshe są identycznie zbudowane Jedną z metod manipulacji wektorami normalnymi jest używanie smoothing groups. Polygony mające tę samą smmothing groupę są wygładzane między sobą. Ogólne wiadomości Połowa polygonów powyższegomesha ma tę samą smoothing groupę 08/35
Normal mapping Mesh bez normal mapy Mesh z normal mapą (widoczna w lewym dolnym rogu) Normal mapa zawiera informację o tym jak obrócić wektory normale, aby otrzymać efekt wklęsłości/wypukłości powierzchni. Należy jednak pamiętać, że normal mapping jest jedynie sztuczką nie zmienia on geometrii modelu. Ogólne wiadomości 09/35
Model high poly Model high poly z siatką Model high poly bez siatki Model high poly - model składający się z ogromnej liczby polygonów, nie nadający się do bezpośredniego użycia w grze, używany jako początkowy etap przygotowania finalnego modelu. Modelowanie high poly 10/35
Przygotowanie modelu high poly Przybliżony kształt obiektu Dodanie podpór Operacja Subdivide Modelowanie high poly - składa się z 3 etapów: stworzenia przybliżonego (kanciastego) modelu, dodania do niego podpór, wykonania operacji Subdivide (zaokąglenie krawędzi). Modelowanie high poly 11/35
Przygotowanie modelu do rzeźbienia Wstawianie dodatkowych krawędzi Model przygotowany do rzeźbienia Przygotowanie modelu do rzeźbienia polega na stworzeniu mesha składającego się z polygonów w kształcie kwadratów o zbliżonych do siebie rozmiarach jest to tak zwana rozdzielczość mesha. Rzeźbienie 12/35
Proces rzeźbienia Przesunięcie pędzla po modelu powoduje przesunięcie grup wierzchołków w głąb modelu Proces rzeźbienia polega na przesuwaniu grup wierzchołków przy użyciu tzw. pędzli. Rzeźbienie 13/35
Model low poly Model low poly Model high poly po rzeźbieniu Model low poly model o możliwie jak najmniejszej liczbie trójkątów, oddający w przybliżeniu kształt modelu high poly. Model, który docelowo ma trafić do gry. Modelowanie low poly 14/35
Retopologia Model przed operacją Subdivide Model low poly usunięte podpory, mniejsza liczba segmentów Retopologia operacja polegająca na przebudowaniu modelu w taki sposób, aby zredukować liczbę trójkątów (np. poprzez usuwanie krawędzi i łączenie wierzchołków). Modelowanie low poly 15/35
UV mapping modelu low poly UV mapping polega na przeniesieniu modelu 3D na płaszczyznę dwuwymiarową. Etap niezbędny przed przystąpieniem do teksturowania. Modelowanie low poly 16/35
Wypiekanie normal mapy High poly + siatka Low poly + siatka High poly po rzeźbieniu Low poly + normal mapa Normal mapa tekstura umożliwiająca przeniesienie detalu z modelu high poly na model low poly. Tworzenie jej w oparciu o model high poly nazywane jest wypiekaniem (ang. Baking). Modelowanie low poly 17/35
Kolejne etapy tworzenia postaci 3. 4. 1. 2. Modelowanie postaci polega na stopniowym nadawaniu kształtu coraz gęstszemu meshowi. Modelowanie postaci 18/35
Kolejne etapy tworzenia postaci Jeżeli model ma być później animowany konieczne jest utworzenie mesha o odpowiedniej toplogii. Modelowanie postaci 19/35
Kolejne etapy tworzenia postaci Inne podejście do retopologii polega na użyciu narzędzi umożliwiających tworzenie nowego mesha na powierzchni poprzedniego. Modelowanie postaci 20/35
Kolejne etapy tworzenia postaci W przypadku modelu twarzy konieczne jest utworzenie pętli krawędzi wokół oczu, ust, uszu, na szyi. Modelowanie postaci 21/35
Kolejne etapy tworzenia postaci Ponadto dodatkowe pętle należy umieścić w zgięciach kolan, łokci, ramion ogólnie w tych miejscach, w których prawdziwy człowiek ma stawy. Modelowanie postaci 22/35
Tradycyjne podejście W tradycyjnym podejściu wyróżnia się dwie tekstury: diffuse czyli kolor powierzchni mesha oraz specular służy do określania rozbłysków na meshu. Jaśniejsze obszary na mapie specular dają mocniejsze odbicia światła na meshu. Tekstury 23/35
Physically Based Rendering Physically Based Rendering sposób renderingu, w którym wykorzystywane są materiały stworzone na podstawie zmierzonych właściwości realnych materiałów. Materiały PBR są znacznie bardziej zbliżone wyglądem do materiałów spotykanych w realnym świecie niż w przypadku dotychczas stosowanych, tradycyjnych technik. Tekstury 24/35
PBR - Albedo Tekstura Albedo zawiera ona kolory materiału, może być utożsamiana z teksturą diffuse. Tekstury 25/35
PBR - Metallic Tekstura Metallic określa czy materiał jest metalem (biały kolor na teksturze) czy dielektrykiem (czarny kolor na teksturze). Tekstury 26/35
PBR - Roughness Tekstura Roughness określa czy materiał jest błyszczący (czarny kolor na teksturze) czy matowy (biały kolor na teksturze). Tekstury 27/35
PBR kontra tradycyjne podejście Największe różnice widoczne na lunecie oraz w miejscach zadrapań i zabrudzeń. Tekstury 28/35
Tekstury proceduralne Tekstury proceduralne są to obrazy powstałe na skutek zastosowania procedury matematycznej, która na bazie podanej liczby (ziarna) tworzy na obrazie odpowiednie kształty. Tekstury proceduralne 29/35
Tekstury proceduralne Umiejętne połączenie dużej liczby tekstur proceduralnych może dawać bardzo złożone wyniki. Tekstury proceduralne 30/35
Etapy tworzenia tekstury modelu 1. Stworzenie bazowego materiału nadanie koloru, ustalenie czy jest to metal czy dielektryk, wybranie jak bardzo jest chropowaty. Teksturowanie modelu 31/35
Etapy tworzenia tekstury modelu 2. Nadanie faktury materiałowi w powyższym przypadku są to nierówności powierzchni. Teksturowanie modelu 32/35
Etapy tworzenia tekstury modelu 3. Dodanie za pomocą generatorów różnego rodzaju zadrapań, zabrudzeń, plam rdzy itp. Teksturowanie modelu 33/35
Etapy tworzenia tekstury modelu 4. Dodanie unikalnych elementów np. napisów. Teksturowanie modelu 34/35
Popularne formaty plików W celu przenoszenia meshy między różnymi programami konieczne jest ich eksportowanie i importowanie do typowo używanych formatów plików. Dwa najbardziej znane i używane to.obj używany najczęściej do eksportu wyłącznie geometrii oraz.fbx będący kontenerem tzn. można poza geometrią umieścić w nim światła, kamery, tekstury, animacje. Export i import modeli 35/35
Dziękuję za uwagę Grafika Komputerowa i Wizualizacja