Model terenu
NecrosiS, Pią, 2005-11-11 18:04 Quake 4 | Tutoriale | 3D Studio MAXW tym tutorialu zrobimy model przejścia wśród skał o długości tysiąca dwudziestu czterech jednostek i szerokości pięciuset dwunastu. Wysokość nie gra większej roli.
W tym celu narysujemy ogólny zarys naszego terenu. Przyda się on nam podczas pracy w 3dsmaxie, ponieważ użyjemy modyfikatora "displaye" który przyspieszy znacznie proces modelowania terenu.
Zatem do dzieła :)
Krok pierwszy : rysujemy teren.
Do narysowania terenu możemy użyć obojętne jakiego programu graficznego w którym można cokolwiek narysować.
Rozmiar rysunku zależny jest od ilości detali jakie chcemy uzyskać. Lepiej z tym nie przesadzać. Na początek zrobimy obrazek rozmiarach 64/128. Podczas rysowania używamy jedynie czarnej (lub białej w razie potrzeby) farby z różnymi stopniami nakładania tak by uzyskać taki oto obrazek (zapisałem go jako bmp w skali odcieni szarawości - 8 bit):

Krok drugi : modelowanie terenu.
Otwieramy 3dSMaxa i tworzymy plane o rozmiarach 1024/512 z parametrami 20 lenght segments i 10 width segment i ustawiamy o na środku sceny. Klikamy na MSmooth w opcjach poly by zagęścić nieco siatkę. Konwertujemy go w editable poly i z menu modyfikatorów wybieramy "Displace". W sekcji Image tego modyfikator klikamy na None i wybieramy nasz uprzednio zapisany obrazek terenu.
Ustawiamy Strength na -200 i patrzymy czy odpowiada nam to co otrzymujemy.
Zaznaczamy Luminancje Center i nadajemy jej wartość taką by model podniósł się nad pomarańczowa kreskę (by był ponad punktem 0.0 osi Y). Tak wyglądająca siatka jest nieco zbyt gęsta wiec trzeba ja troszkę zoptymalizować. W tym celu w oknie modyfikatorów wybieramy modyfikator "Optimize". Zaznaczamy Auto edges i Face thresh podnosimy z 4.0 do 5.0. Jeśli nie chcemy by siatka była taka kwadratowa możemy przed modyfikatorem Optimize użyć modyfikatora Mesh Smootch bez żadnych zmian w jego właściwościach no ale nie jest to konieczne.
Krok trzeci : mapowanie terenu.
Jeśli uznaliśmy że siatka naszego modelu nie wymaga już żadnych poprawek to kolej teraz na nałożenie tekstury terenu. Musimy się zaopatrzyć w plik o rozmiarach pożądanej nas tekstury (nie musi być to koniecznie ta którą chcemy użyć ale lepiej użyć właśnie tej) i nazwę materiału jaki chcemy użyć.
By dostać to pierwsze najlepiej otworzyć pak011.pk4 zipem i odszukać w katalogu textures/rock jakiejś przydatnej tektury. Ja wybrałem plik sand01_d.dds. By dowiedzieć się tego drugiego możemy poszukać materiału w pozostałych pakach lub otworzyć q4Radianta i tam wyszukać odpowiedni materiał. Ja wybrałem "sharprock_to_sand".Otwieramy w 3dsmaxie Material Editor (cztery kolorowe kulki na pasku) i tam w pierwszym z materiałów klikamy w kwadracik obok diffuse po czym wybieramy bitmap a w okienku plik dds który wypakowaliśmy z pak011.pk4. Przypisujemy materiał do zaznaczonego modelu klikając w Kółko ze strzałką wskazująca na sześcian w material editorze. (trzeci od lewej) i zaznaczamy Show map in viewport (niebiesko biały sześcian w material editorze). W sekcji modyfikatorów wybieramy teraz UVM Map i układamy tekturę tak by wyglądała ona jakoś przyzwoicie.
Teraz zrobimy użytek z wcześniej wybranego przez nas materiału. Nazywa on się rock05 to sand czyli że tektura skały przechodzi w teksturę piachu. Z listy modyfikatorów wybieramy teraz VertexPaint. Otworzy nam się nowe okno z narzędziami należącymi do tego modyfikatora. Musimy przy jego pomocy narysować na modelu miejsca w których jedna tektura ma przechodzić w drugą. Gdy drugi kwadrat i odznaczymy ostatni w tym nowym narzędziu to zauważymy ze nasz model stał się cały biały. Nie zastanawiając się długo czemu tak chwytamy za pędzel i rysujemy czarną kreską droge jaka ma prowadzić przez te skały. Gdy droga jest już narysowana klikamy w przycisk blur (kropelka) by zmiękczyć nieco krawędzie farby. Po tej czynności zaznaczamy ponownie ostatni kwadrat i widzimy jak czarna farba lezy teraz na naszej teksturze.
Krok czwarty : eksport
Zapisujemy model po czym eksportujemy go do pliku ASE do katalogu gdzieś w q4base/models (np. q4basemodelsmojemodele). We właściwościach exportu zaznaczamy Wszystkie opcje w Mesh Options a w Object types tylko dwie pierwsze.
Otwieramy teraz plik ase który właśnie zrobiliśmy i odszykujemy linijkę zaczynającą się od *BITMAP w *MATERIAL 0 (u mnie 34 linijka) wywalamy to co jest tam miedzy cudzysłowami i podajemy nową wartość :
"q4base/textures/rock/sharprock_to_sand" – jak widać jest to ścieżka do materiału którego zamierzamy użyć.
Zapisujemy zmiany i otwieramy radianta. Tam tworzymy nowe entity: func_static i w Entity View (N) wybieramy nasz model.
Koniec
Jeśli wszystko zrobiliśmy jak trzeba, to efekt powinien wygladać tak:









mała poprawka
Mimo wielu prób nie mogłem nałożyć tekstury na model poprzez edycję pliku *.ASE w notepadzie. Aby przypisać teksturę linia powinna wyglądać tak:
*BITMAP "\\q4base\textures\rock\sharprock_to_sand"