3DStudio MAX teksturowanie modelu budynku dla potrzeb gry 3D W ćwiczeniu tym zakładamy, że mamy już ukończony model naszego budynku. Składa się on z wielu elementów: ścian, okien, drzwi, dachu itp. W teorii można by było nakładać tekstury osobno na każdy z tych elementów. 3Dstudio pozwala na przypisywanie materiałów do poszczególnych obszarów-płaszczyzn obiektu. Nie jest to jednak rozwiązanie zbyt optymalne gdyż zmusimy w takim przypadku silnik gry do ładowania i umieszczania wielu tekstur dla jednego obiektu. Jest to rozwiązanie nieoptymalne. Lepszym rozwiązaniem jest przygotowanie specjalnej, pojedynczej tekstury dla całego obiektu, zawierającej wszystkie niezbędne powierzchnie. Konieczne w takim wypadku będzie wytłumaczenie programowi renderującemu, które obszary tekstury ma nałożyć na które powierzchnie. Uzyskuje się to poprzez rozpakowanie (unwrap) powierzchni wszystkich ścian obiektu na jedną płaszczyznę. Jest to proces dość złożony i jakkolwiek 3Dstudio posiada wiele narzędzi automatyzujących ten proces to jednak nie może on się odbyć bez ingerencji projektanta. Zadanie 1 Zdobycie i proste nałożenie tekstur na obiekt Wykorzystując wyszukiwarkę internetową i hasła typu royalty free textures należy wyszukać i pobrać tekstury, które wykorzystamy do nałożenia na ściany, dach, okna itp. Tekstura całkowita powinna mieć kształt kwadratu a rozmiary w pikselach będące potęgą liczby 2. (np. 1024x1024 px) Na takim obszarze należy ułożyć pobrane tekstury i całość zapisać w postaci pojedynczego pliku.jpg
Pierwszym etapem jest przypisanie obiektowi materiału typu tekstura. Wykorzystujemy do tego celu material editor. I budujemy materiał standardowy
Nasza tekstura powinna być podłączona do wejścia diffuse. Możemy pokusić się o wykonanie tekstury zawierające zniekształcenia (normal map, bump map) np. za pomocą zdegradowania do skali szarości i manipulacji kontrastem oraz progowaniem.
Taką mapę podłączamy do wejścia bump. Zaraz po dodaniu mapy nasz obiekt nie będzie wyglądał zbyt dobrze Wiąże się to z brakiem prawidłowej informacji o rozłożeniu poszczególnych obiektów-płaszczyzn na mapie tekstury W celu umożliwienia wskazania odpowiednich obiektów konieczne jest uaktywnienie modyfikatora Unwrap UVW
Modyfikator ten uaktywnia narzędzia rozkładania płaszczyzn obiektu na powierzchnię (dwuwymiarową) tekstury Ważniejszymi funkcjami są UV edytor oraz narzędzie wybierania odpowiednich ścian Objaśnienie działania edytora UV jest dość skomplikowane. W skróce można napisać, że edytor ten pozwala na rozłożenie powierzchni 3D wybranego elementu na powierzchni 2D tekstury. Okno edytora UV przedstawia się następująco
W początkowym stanie nie widzimy bitmapy w tle. Konieczne może być wskazanie bitmapy w okienku w prawym górnym rogu. Narzędzia lewego górnego rogu pozwalają nam na modyfikację kształtu rozłożenia danego elementu i odpowiednie ułożenie go na teksturze. Narzędzia w lewym dolnym rogu pozwalają na wybór między zaznaczaniem całego elementu, jego krawędzi, oraz poszczególnych wierzchołków. Daje to wspólnie możliwość bardzo dokładnego umiejscowienia poszczególnych obszarów powierzchni obiektu na teksturze. Procedura rozkładania obiektu na teksturę W czasie wykonywania rozkładania/rozpakowywania obiektu (unwrap) wukorzystujemy dwa zestawy współpracujących ze sobą narzędzi. Pierwszy zestaw to narzędzia w panelu bocznym, ukatywnione po wybraniu modyfikatora unwrap UVW
Główne elementy to narzędzia wyboru odpowiednich obszarów-ścian. Oraz narzędzia projekcji (projection) za ich pomocą możemy określić jak program ma rozłożyć daną powierzchnię 3D na powierzchnię płaską. W naszym przypadku będziemy wykorzystywali głównie projekcję planarną (płaską) gdyż nasz obiekt składa się praktycznie wyłącznie ze ścian płaskich. W przypadku elementów o zakrzywionych powierzchniach lepsze efekty możemy uzyskać wykorzystując projekcję kulistą albo cylindryczną. Wykorzystując to narzędzie możemy zaznaczyć na obiekcie interesujący nas obszar (klawisz Ctrl pozwala na zaznaczanie kilku powierzchni). Następnie z panelu projection wybieramy sposób projekcji planar.
W widoku głównym widzimy zaznaczony obszar oraz prostokąt płaszczyzny projekcji może się zażyć że nie jest on ustawiony prawidłowo względem naszej powierzchni. Możemy go dopasować do powierzchni wykorzystując standardowe narzędzia transformacji (przesunięcie, skala, obrót) oraz przyciski w panelu projekcji Po dopasowaniu należy WYŁĄCZYĆ przycisk wyboru sposobu projekcji planar inaczej nie będzie możliwa edycja obszaru w oknie edytora UV.
Po przejściu do edytora możemy zauważyć że nasz obszar zajmuje całą powierzchnię tekstury (inne obszary zostały wcześniej przesunięte na bok aby nie utrudniały edycji) Za pomocą narzędzi edycji oraz wyboru krawędzi i werteksów możemy dopasować kształt naszego obszaru do odpowiedniej części tekstury.
Podobnie postępujemy z kolejnymi obszarami, wykonując operacje według schematu: 1. Zaznaczenie obszaru w widoku głównym 2. Wybranie sposobu projekcji, dopasowanie projekcji do obszaru, wyłączenie trybu wyboru projekcji 3. Przejście do edytora UV. Dopasowanie kształtu do odpowiedniego obszaru tekstury W przypadku okien wszystkie powinny wskazywać na ten sam obszar tekstury. Możemy wybrać wszystkie i rozłożyć na jednej płaszczyźnie. Następnie w edytorze UV dopasowujemy jeden z obszarów do okna a następnie wszystkie kolejne do niego wykorzystując edycję położeń werteksów Aby werteksy kolejnych okien zgadzały się z poprzednimi możemy włączyć przyciąganie do siatki i obiektów
W rezultacie powinniśmy dostać widok podobny do poniższego
Pozostałe obszary nakładamy jako plane Umieszczając w odpowiednim obszarze bitmapy
Ostatecznie powinniśmy uzyskać oteksturowany budynek.