Tutorial przedstawia jak uzyskać realistyczny drewniany parkietu, korzystając z darmowego scriptu „Floor Generator”, który dostępny jest na stronie www.cg-source.com. Pozwala on w prosty sposób stworzyć parkiet jako trójwymiarowy model , co daje lepszy efekt niż zwykłe „położenie” tekstury na płaszczyznę i zastosowanie efektu bump czy displace.
Pierwszym krokiem będzie stworzenie obrysu (przy pomocy narzędzia „Shapes > spline”) powierzchni, którą chcemy pokryć parkietem, lub wrzucenie do sceny zwykłego plane’a. Następnie uruchamiamy script „Floor Generator” korzystając z górnego menu: MAXScript > Run Script i następnie odnajdujemy ściągnięty wcześniej plik script’u z rozszerzeniem ms.
Po uruchomieniu scriptu ukarze nam się bogate menu. Opis wszystkich opcji możemy znaleźć w tutorialu umieszczonym na stronie ze script-em, poza tym możemy na bieżąco podglądać zmiany wprowadzane w opcjach klikając Create a następnie Interactive Update. Należy pamiętać, aby w momencie kliknięcia Create mieć zaznaczoną naszą powierzchnię czy też jej obrys. Otrzymujemy parkiet jako obiekt typu Editable Mesh z możliwością wyboru i edytowania jego poszczególnych elementów, jeśli jest to konieczne. Script można oczywiście wykorzystać do tworzenia nie tylko parkietów na podłogę , ale też płytek na ściany, chodników itp.
Następnym krokiem będzie przygotowanie materiału drewna VRay. Po otworzeniu biblioteki materiałów ( M ) wybieramy materiał typu VRay. Jako Diffuse wrzucamy teksturę drewna – najlepiej, żeby tekstura miała kształt kwadratu i była powtarzalna (tzn. że w przypadku ułożenia powielonej tekstury obok siebie nie były widoczne linie podziału). Następnie w slotach Reflect oraz Refl. glossines dodajemy przygotowaną wcześniej czarno-białą wersję textury naszego drewna na parkiet. Będzie ona sprawiać, że refleksy świetlne nie będą jednolite na całej powierzchni parkietu i uwydatnią fakturę drewna. Ciemniejsze obszary textury będą słabiej odbijać światło niż jaśniejsze. Texture refleksów możemy wyregulować w photoshopie dopasowując ją do naszych potrzeb (najlepszym narzędziem w photoshopie do tego celu jest levels). Bardziej jasna tekstura sprawi, że refleksy na powierzchni będą intensywniejsze, a im większy kontrast tym mocniej zaznaczymy fakturę drewna. Dopasowując teksturę w 3ds max możemy dodatkowo ją rozjaśnić lub przyciemnić w prosty sposób, klikając w opcjach mapy w zakładce Output, a następnie zwiększając lub zmniejszając wartość RGB Level (domyślnie 1,0).
Zaznaczamy opcje Fresnel Reflections, po odznaczeniu przycisku „L” możemy ustawić wartość kąta Fresnel IOR, pamiętając im większa wartość tym refleksy będą mocniej widoczne, w poniższym przypadku przyjąłem wartość 5 (końcowy efekt będzie można ocenić po wykonaniu wstępnej wizualizacji a efekt jest zależny od położenia kamery czy sposobu oświetlenia sceny).
Przygotowany materiał drewna wrzucamy na nasz model parkietu. Jeszcze nie wygląda to najlepiej, tekstura jednolicie pokrywa parkiet, płynnie przechodząc z jednego elementu parkietu na drugi, co nie jest zbyt realistyczne. Każda deska parkietu musi mieć swoją niepowtarzalną texturę.
Dlatego konieczne jest wykonanie odpowiedniego mapowania. Na nasz model z dostępnej listy modyfikatorów wybieramy ten odpowiedzialny za mapowanie:
Unwarp UVW
Do osiągnięcia tego efektu skorzystamy z prostej sztuczki: z rozwijanej pod modyfikatorem listy wybieramy Face (będziemy pracować na poligonach). Poniżej w opcjach w zakładce Parameters klikamy Edit…, co spowoduje otwarcie się nowego okna. Z jego górnego menu wybieramy Mapping > Normal Mapping i wybieramy z dostępnych opcji Top/Bottom Mapping. Następnie w menu wybieramy tools>Pack UVs. Spowoduje to „upakowanie” wszystkich poligonów na powierzchni odpowiadającej jednej wielości tekstury. Losowo ułożone poligony sprawią, że każdy pojedynczy element parkietu będzie miał inny fragment tekstury niż jego sąsiad.
Parkiet może wymagać jeszcze paru korekt, np. zwiększenia Tiling tekstury, w przypadku gdy parkiet jest duży i tekstura za bardzo rozciągnięta. Należy pamiętać, że tekstury Reflect oraz Refl. glossines muszą mieć takie same ustawienia Tiling. Ostateczny efekt może być np. taki jak na wizualizacji poniżej: