Model kręconych schodów
NecrosiS, Wto, 2005-06-07 09:29 Quake 3 Arena | Tutoriale | RadiantNa początek zastanowimy się co dokładnie chcemy wykonać i jak powinno to wyglądać.
Otóż do wykonania mamy kręcone schody ale takie by pasowały do architektury q3 i jednocześnie wybiegały poza możliwości jakie daje nam układanie brushy. Mamy zatem dwie możliwości. Krzywe (patches, czy jak kto woli curves) lub model.
Pierwsze są raczej niewygodne w użyciu i w znaczny sposób nas ograniczają. Niemożliwe jest na przykład wykonanie nimi poręczy w kształcie helisy ułamanej w pewnym miejscu. Model daje nam natomiast możliwości ograniczone jedynie ilością face'ów jakie jest wstanie przyjąć silnik gry.
Wykonamy zatem kręcone schody pęknięte, w którymś miejscu, a zrobimy to przy pomocy 3d Studio Max.
Zaczniemy od ustawienia gęstości siatki (grid). W tym celu klikamy PPM (prawym przyciskiem myszy) na ikonę magnesu znajdującą się w górnym menu Maxa. W sekcji Home grid zmieniamy Grid spacing na 8 i tak samo postępujemy z opcją pod nim posiadającą dość długą nazwę z racji czego jej nie wymienię :). Takie ustawienie da nam odpowiednik grid 8 (4) w radiancie.
W nowym 3d Studio jest grupa Stairs gdzie od razu można takie schody otrzymać klikając parę razy i wpisując pewne wartości, ale przyjmując że dysponujemy wersją bez owego ułatwienia warto wiedzieć jak takie schody sobie wykonać.
Nasze schody będą miały 24 stopnie po 8 punktów wysokości, 16 głębokości i 160 szerokości każdy. Tworzymy boxa o Lenght 384, Width 160, Height 8 i Lenght Segs 24. Konwertujemy boxa na editable poly (PPM > Convert to: > Convert to Editable Poly), wybieramy polygony i zaznaczmy je wszystkie bez pierwszego przy użyciu ctrl + LPM .

Następnie extrudujemy całość z wartością 8 i odznaczamy kolejny schodek do uzyskania pełnych schodów.

Operacja ta porobi nam vertexów "w cholerę i jeszcze trochę", a tego bardzo nie chcemy. By to naprawić klikamy PPM i z polygon zmieniamy na top level, a następnie z modifer list (po prawej, pod nazwą box01) wybieramy Optimize i zaznaczamy Auto edge. Powinno nam to znacznie poprawić sytuacje. Konwertujemy znów nasz box w editable poly lub w okno z użytymi modiferami klikamy PPM i wybieramy collapse all, aby pozbyć się niepotrzebnego już modifera.
Kolejnym krokiem będzie pozbycie się nadmiernej ilości vertexów z tylniej części schodów i nadanie im pochyłego kształtu.
Wybieramy vertexy i weldujemy je przy użyciu target weld (PPM > Target Weld) klikając na vertex, a następnie na ten, z którym chcemy go scalić. Robimy tak, aż uzyskamy tylko pożądaną przez nas ilość wierzchołków (czyli 2).

Vertexy, które znajdują się na dole przesuwamy tak by nasze schody wyglądały w ten sposób:

Naszym schodom przydały by się jakieś wykończenia co by nie wyglądały brzydko. Zaznaczamy zatem boczną ściankę(polygon) schodów (jeśli wszystko zrobiliśmy do tej pory poprawnie to powinna być tylko jedna) i wykonamy na nimbevel (PPM > Bevel > kwadracik) z Height 4 i Outline Amount 8.
Wywalamy boczną ścianę i weldujemy zbędne wierzchołki, a następnie układamy pozostałe tak, by tworzyły linię prostą.

Zaznaczone poniżej polygony wywalamy (raczej nam się nie przydadzą, a wprowadzają lekki zamęt w siatce).

Powinny nam zostać dwa wysunięte vertexy: jeden na początku schodów, a drugi na ich końcu. Obydwu pozbywamy się weldując je ze znajdującymi się w dolnej części schodów.

Zaznaczamy wertexy znajdujące się na dole schodów i przesuwamy je w prawo o 4 punkty tak by były w jednej linii z tymi górnymi.
Zaznaczamy Border (PPM > Border), a następnie zaznaczamy obramowanie (krawędź - nie wiem jak to nazwać) prawej strony i trzymając shift przesuwamy ją lekko w prawo. Spowoduje to utworzenie się nowych face'ów.
Nadajemy im jakieś normalne położenie wpisując w dolnej części Maxa, w wartości X pełną liczbę. (u mnie jest to 104). Następnie z listy modiferów wybieramy Cap Holes. Jeśli prawa strona została zamknięta facem i całość wygląda mniej więcej tak jak na obrazku poniżej to wszystko jest w porządku.

Jeśli natomiast nie, to wracamy się do początku i myślimy co zrobiliśmy nie tak.
Konwertujemy nasz box na editable poly i zaznaczamy vertexy, które wcześniej przesunęliśmy o 4 punkty aby przesunąć je na poprzednie położenie.Następnie zaznaczamy ściany (poly) naszego wykończenia i oddzielamy je od schodów przy pomocy detach nadając mu nazwę prawy. Nazwę boxa zmieniamy na schody.

Musimy teraz zadbać o to by nasze schody mogły się wyginać. W tym celu wybieramy top level aby odznaczyć schody (do których i tak zaraz powrócimy) i wybieramy obiekt który nazwaliśmy prawy.
W obiekcie tym wybieramy ścianę która powstałą w wyniku Cap Holes. Ścianę tą będziemy musieli tak pociąć by wygięła się tak jak pozostałe elementy. Posłuży nam do tego Quickslice (PPM > Quickslice), który jest dośc prosty w obsłudze.
Przechodzimy teraz do schodów i zaznaczamy jej dolną ścianę poczym tniemy ją w ten sam sposób co prawy.
Musimy tez wywalić lewą ścianę schodów. Kopiujemy prawy przy pomocy Mirror. Znajduje się on w górnej części menu Maxa, po prawej stronie i wygląda jak dwa trójkąty przedzielone czerwoną kreską. W Mirror Axis wybieramy X a w Clone Selection: Copy. Nowemu obiektowi nadajemy nazwę lewy i jeśli nie znajduje się on po lewej stronie schodów to go tam kierujemy.Teraz pora na wspomniane na początku pęknięcie. Moje schody będą się wyginać do prawej strony, a pękną po lewej. Douzyskania pęknięcia użyłem pokazanych dotychczas narzędzi i dodatkowo opcji chamfer na wertexach. Praca domowa będzie polegała na uzyskaniu mniej-więcej efektu pokazanego na screenie poniżej :D.

Czas teraz na oteksturowanie całego modelu. W tym celu dolną cześć schodów jak i ściany powstałe przy robieniu pęknięcia oderwiemy (detache) od górnej i połączymy (Attache) z obiektami lewy oraz prawy, a całość nazwiemy Block.
Oddzielimy tez część wierzchnią schodów, którą nazwiemy step od części frontowej, która to z kolei nazywać się będzieBorder.
Wyeksportujemy teraz z pak0.pk3 trzy teksturki dla odpowiednich części modelu.
- Step: textures\gothic_floor\xstepborder13
- Border: textures\gothic_floor\xstepborder9
- Block: textures\gothic_floor\largeblockfloor3
Stworzymy trzy materiały w Materiał editor (cztery kulki na w górnym menu Maxa), w których to diffuse map będzie bitmapą z odpowiednią teksturką, a nazwa (standardowo 01 - Default) scieżką do niej, czyli dla pierwszej tekstury nazwa brzmieć będzie: textures\gothic_floor\xstepborder13.
Materiał nakładamy na zaznaczony obiekt przy pomocy Assign Material to Selction (taka kulka ze strzałką wskazującą na sześcian).

Zaznaczamy element step i z listy modiferów wybieramy UVM Mapping. W jego opcjach V tile zmieniamy na 24. Powinno pasować jak ulał. Pozbywamy się modifera konwersją. To samo robimy z elementem border tylko, że tutaj w UVM mappingu aligment zmieniamy na Y i klikamy fit.
Gdy dodamy materiał na element block, a po nim Uvm to w opcjach Lenhgt/Width/Height wpisujemy 32 a mapowanie zmieniamy z planarnego na box. Nastepnie klikając prawym myszy w dowolnym miejscy wybieramy gizmo i obracamy je tak by teksturowanie pasowało nam do modelu.

Pora teraz na skręcenie schodów. Zaznaczamy wszystko i z modiferów wybieramy bend. Zmieniamy Angle na 180, Bend axis na Y i bawiąc się Gizmo (PPM > Gizmo) oraz oraz Center (PPM > Center) zmieniamy kształt modelu pamiętając o tym, by końcowe vertexy nie odbiegały za daleko od siatki.
Gdy uzyskamy odpowiedni kształt konwertujemy model na poly i uporządkowujemy najważniejsze wertexy w ten oto sposób:

Nie mogą wystąpić ułamkowe pozycje w XYZ ale oczywiście tylko w miejscach gdzie model będzie stykał się z brushami. Gdybyśmy chcieli poprawić całość to pewnie zajęło by to o wiele za dużo czasu. Gdy już wszystko skończymy eksportujemy modelik do formatu ASE i wklejamy go do Radianta.
"Clipowanie" modelu
- W "misc_model" dodając klucz "spawnflags" o wartości "2"
- Do shadera dopisując "q3map_clipModel"
- Ręczne układając "clip brushe" w Radiancie.





Ostatnie odpowiedzi
10 godzin 16 minut temu
13 godzin 12 minut temu
1 dzień 21 minut temu
1 dzień 11 godzin temu
2 dni 12 godzin temu
2 dni 12 godzin temu
3 dni 6 godzin temu
3 dni 8 godzin temu
3 dni 12 godzin temu
1 tydzień 5 dni temu