Modelowanie 3D w 5 krokach

Moimi pierwszymi modelami 3D były… figurki z plasteliny odwzorowujące bohaterów gier wydawanych na bardzo już starą konsolę PS1. Chyba jak każde dziecko uwielbiałam oglądać bajki i grać w gry – kultowego Spyro, Crash’a czy MediEvil’a. Później na ich podstawie lepiłam figurki z plasteliny oraz rysowałam prymitywne planszówki na kartonie. W ten sposób zaczęła się moja fascynacja światem po drugiej stronie ekranu.

Wiele lat później doszłam do wniosku, że świat 3D to coś, w co chcę się zagłębić. Postanowiłam stworzyć własny model trójwymiarowy. Szukając informacji, poczytałam trochę na ten temat  oraz obejrzałam bardzo dużo filmików pokazujących proces modelowania. Początkowo przytłaczała mnie ilość narzędzi i technik wykorzystywanych w tym celu. Tworząc kolejne modele,  wszystko zaczynało się klarować w spójny proces, z którego obecnie bardzo często korzystam. Przedstawia się on następująco:

 

1. Po pierwsze koncepcja

W głowie pojawia się wizja przedmiotu, rośliny czy postaci, którą chcemy stworzyć w programie do modelowania 3D. Na samym początku warto sięgnąć po stary dobry ołówek i przelać na kartkę naszą ideę. W trakcie dopracowywania szczegółów, ewentualnych kolorów czy różnych wariantów lepiej przerzucić się do programu graficznego. Zdecydowanie ułatwi nam to edycję i nanoszenie poprawek. 

Korzystaj z referencji, inspiruj się, obserwuj świat wokół siebie. Tworząc modele o różnym stopniu skomplikowania, będziesz potrzebować wielu źródeł, które pomogą Ci zbudować zadowalającą strukturę 3D. W internecie znajdziesz wiele zdjęć, rysunków, filmów i prac, które możesz wykorzystać jako referencje bądź inspirację.

Dla potrzeb tego artykułu jako przykład stworzyłam model drzewa. Mimo że było ono mocno stylizowane, zrobiłam wiele zdjęć drzew, detali na korze, kształtu gałęzi czy narośli na złamanym konarze. Chciałam oddać pewien realizm w swojej pracy. Poniżej znajduje się link do filmu pokazującego cały proces modelowania na praktycznym przykładzie:

 

2. Highpoly

Po stworzeniu koncepcji czas na modelowanie 3D. Pojawia się oczywiście pytanie: jak zacząć? Odpowiedź na nie jest prosta. Zaczynamy od modelowania dużych form, pracujemy od ogółu do szczegółu. 

Tworząc model drzewa, pracę rozpoczęłam od stworzenia jego szkieletu, głównych gałęzi i korzeni. Siatka modelu na tym etapie składała się z małej ilości polygonów, ponieważ ułatwiało to pracę nad dużymi partiami modelu. Gdy zarys drzewa był już gotowy, rozpoczęłam pracę nad szczegółami. Za pomocą narzędzi do cyfrowego rzeźbienia nadałam korzeniom, konarowi i gałęziom pożądany kształt i poziom detalu. Doprowadzenie modelu do takiego wyglądu spowodowało zwiększenie ilości polygonów w siatce. Tak powstał mój model high poly.

 

3. Lowpoly,  czyli czas na retopologię

Skoro drzewo wygląda, tak jak sobie tego życzyłam, dlaczego właściwie podejmować kolejne kroki? Robimy tak, ponieważ model o bardzo skomplikowanej siatce znacząco obciąża komputer. Retopologia to proces tworzenia zoptymalizowanej siatki, w którego trakcie bazuje się na stworzonym wcześniej modelu. Stopień uproszczenia zależy od późniejszego wykorzystania modelu. Przy precyzyjnej animacji mimiki twarzy w bliskich ujęciach będziemy potrzebować bardziej szczegółowej geometrii, inaczej niż w przypadku statycznych modeli. Chcąc na przykład wykorzystać model w grze komputerowej, geometria musi zostać znacznie uproszczona, ponieważ ograniczają nas zasoby sprzętowe graczy.

Retopologię można wykonać na dwa sposoby:

  • automatyczny – wykorzystujący funkcje automatycznego upraszczania siatki 
  • ręczny – gdy proces wykonujemy sami tworząc kolejne wielokąty

W moim przypadku wykorzystałam drugi sposób, ponieważ potrzebowałam uwzględnić kilka szczegółów i nieco bardziej zagęścić siatkę w tych miejscach. Zastosowanie automatycznej retopologii nie dałoby takiego efektu bez późniejszej ręcznej poprawy.

 

4. UV unwraping – model jest jak wykrój spodni

Skąd to porównanie? Ponieważ każde ubranie po rozerwaniu szwów da się rozłożyć na płaskiej powierzchni. To samo możemy zrobić z modelem 3D. Na tym etapie chcemy rozciąć model tak, żeby możliwe było jego rozłożenie na płaskiej powierzchni. Mapy UV są więc płaską reprezentacją powierzchni modelu 3D wykorzystywanymi później do teksturowania. 

Ważne jest odpowiednie poprowadzenie “cięć” tak, aby te, nie wypadały w strategicznych miejscach np. centralnie na twarzy postaci. Trzeba mieć również na uwadze ewentualne naprężenia powodujące zbyt rozciągnięte bądź ściśnięte poligony. Mała powierzchnia dla wielokąta będzie oznaczać zmniejszoną liczbę pikseli jemu przypisaną. Będzie to skutkować rozciągnięciem tekstury na modelu trójwymiarowym. Mając poprawnie przygotowane mapy UV, możemy przejść do kolejnego etapu.

 

5. Mapy i teksturowanie

Stworzyliśmy wcześniej dwa rodzaje modeli: high poly i low poly. Naszym celem jest przeniesienie szczegółów z modelu o gęstszej siatce na model z uproszczoną geometrią. Proces ten nazywamy wypalaniem map. W jego wyniku otrzymujemy obrazy (bitmapy) zawierające informacje o geometrii modelu. Kilka przykładów map:

  • Normal
  • Ambient Occlusion
  • Height 
  • Roughnes

Uzyskujemy w ten sposób pożądany efekt wizualny bez nadmiernego obciążania komputera skomplikowaną geometrią.

Teksturowanie polega na nadaniu informacji kolorystycznej naszemu modelowi. Mamy tutaj kilka możliwości:

  • samodzielne malowanie modelu – większość programów do modelowania posiada takie funkcje
  • wykorzystanie dostępnych materiałów
  • stworzenie własnego materiału
  • wykorzystanie materiału i dodatkowo pomalowanie fragmentów modelu

W moim przykładzie model pomalowałam w programie Substance Painter. Wykorzystałam również własny materiał mchu, który stworzyłam w programie Substance Designer. 

 

W skrócie:

Modelowanie 3D obiektów można przeprowadzić w następującej kolejności:

  1. Koncepcja – rysujemy to, co chcielibyśmy zamodelować, robimy szkice pomocnicze, szukamy referencji
  2. Modelowanie highpoly – tworzymy szczegółowy model naszego przedmiotu. Siatka jest skomplikowana, dzięki czemu widoczne są wszystkie ważne dla nas szczegóły
  3. Retopologia siatki – upraszczamy siątkę naszego modelu do wymaganego poziomu.
  4. UV unwrapping – rozcinamy nasz model i tworzymy mapy UV będące płaską reprezentacją modelu 3D
  5. Wypalanie map i teksturowanie – wypalając mapy, przenosimy szczegóły z modelu high do modelu low. Możliwe jest to dzięki zastosowaniu map zawierających informacje o geometrii. Teksturowanie polega na nadaniu wyglądu naszemu modelowi poprzez zastosowanie materiału lub pomalowaniu modelu.

Nie jest to jedyna właściwa droga dla modelowania każdego przedmiotu. W wielu przypadkach uzasadnione jest rozpoczęcie pracy od modelowania low poly. Tworzymy wtedy model o prostej geometrii i dopiero później przechodzimy do rzeźbienia. Dzięki takiej kolejności pomijamy retopologię siatki.

Czy chcesz zapisać się na listę mailową?

 
5 4 votes
Article Rating
Subscribe
Powiadom o
guest
2 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Marek Kupaj
4 miesięcy temu

Witaj Kasiu!

Przystępnie opisane wprowadzenie, myślę że fascynaci gamedevu (i nie tylko) będą mieli tutaj ciekawe kąski do czytania.

Bardzo ciekawy pomysł na bloga. Dzięki za inspirujący wpis.
Przyznam, że mnie (16 lat temu) takie zainteresowanie pchnęło do stworzenia narzędzia do modelowania low-poly.
http://skyrasterblog.pl/moje-korzenie-w-modelowaniu-3d-bttf/
Jak przeczytałem sekcję „O mnie” to zdałem sobie sprawę, że nie tylko mi taka chęć modelowania weszła. Ale skupiłem się na tworzeniu narzędzia, co pochłonęło bardziej niż tworzenie modeli 3D i trochę tego żałuję. Po Twoich wpisach widzę, że jest to tak zaprezentowane, że sam chętnie bym spróbował coś zamodelować i wrócić do tematu, w miarę możliwości. Co tam jakieś proste budynki, a tu takie złożone drzewo.

Tak mnie ciekawi; czy podczas wypalania map i teksturowania są tworzone rozszerzone tekstury (np. bump-mapy, mapy oświetlenia), albo zaawansowane skrypty typu pixel shadery np. pod kątem DirectX czy OpenGLa? Można eksport tekstur tak ustawić w tych programach?

Bo to aż się prosi, szczególnie, że geometria low-poly z odpowiednio przygotowaną zaawansowaną teksturą jest znacznie lepiej prezentowana niż na zwykłej, prostej teksturze.

pozdrawiam i czekam na kolejne wpisy!

Przewiń do góry