Skocz do zawartości
Wheatley

[1.6 MAPPING #3] - TWORZYMY MAPĘ - ZM_FOX

Rekomendowane odpowiedzi

CZĘŚĆ #3 - NASZA PIERWSZA MAPA - ZM_FOX


1. Wstęp

Jeśli przebrnęliście przez ostatnie poradniki to czas zrobić coś prawie własnego. Na początku pewną trudność Wam sprawi stworzenie tego co chcecie i tak, aby to wyglądało według Waszej myśli.
Jak mają być duże elementy, czy to będzie na odpowiedniej wysokości oraz wiele innych pytań sobie zadacie podczas tego poradnika. Jeszcze wiele technik przed Wami, a ja postaram się Was nauczyć porządnych podstaw.


Na warsztat bierzemy mapę zm_fox (link), jedna z ulubionych map na serwerze zombie infection. Stworzymy ją od podstaw, z paroma zmianami tak aby Was zapoznać z funkcjami edytora.
Oczywiście nie musicie podążać 1:1 za mną i przy wyborze tekstur macie wolną rękę jak przy późniejszej edycji mapy pod siebie :)

Używam i polecam ustawić język angielski w edytorze. (większość fajnych poradników na necie jest w tym języku)

 



2. Startujemy - będzie sporo zdjęć!

Dodajemy tekstury cs_dust.wad do naszej listy tekstur w ustawieniach programu.
B8NrnZu.jpg

 

Uruchamiamy program i tworzymy nową mapę, pomijamy tworzenie pokoju startowego.
2lxHmIC.jpg


Tworzymy bryłę podłogę o wymiarach jak na zdjęciu, wybaczcie że nie będę pisał wymiarów lecz wzorujcie się na zdjęciach (2048x1024x64 jednostki).
W silniku gry operujemy jednostkami - unitami. Mamy trójwymiar, więc wymiary są jako długość, szerokość i wysokość.
qE8S7uk.jpg

 

Teksturujemy naszą podłogę jako ziemię.
jPPy1qt.jpg

Dodajemy ścianę.
lmojB10.jpg

Jeśli zaznaczymy naszą ścianę i z shiftem ją przeniesiemy na drugi bok to automatycznie się skopiuje. Możemy też używać skrótu CTRL+C i CTRL+V.
gfOZPNC.jpg

Ustawiamy następne ściany.
X9jhGvz.jpg

I teraz ostatnia, nie martwcie się - będziemy to jeszcze wszystko niszczyć :P
RqysyxJ.jpg

Dodajemy byt - info_player_start - jest to spawn dla antyterrorystów czyli ich miejsce odrodzenia w każdej rundzie. Dodajmy jeden dla nas.
3e7rGiF.jpg

W rogu mapy stwórzmy wielki kwadrat.
Zd6TnfU.jpg

Zróbmy teraz mniejszy kwadrat obok, którego wymiary określają jak szerokie i wysokie ma być przejście gdzie gracz musi kucać aby przejść.
8ngp8iT.jpg

Dokładniejsze wymiary z góry.
Cl6xaRZ.jpg

Zacznijmy tworzyć pierwszą kampę! Duży kwadrat który stworzyliśmy wcześniej skróćmy o wysokość tego małego kwadratu.
Zaznaczamy duży kwadrat i punktami zaznaczenia u dołu na widokach X/Z lub Y/Z przeciągamy go do góry.
Obok małego kwadratu tworzymy słupek.
tgrKsas.jpg

Zróbmy teraz obramowanie kampy, aby zrobić to szybciej i efektywnie skopiujmy słupek i go rozciągnijmy wzdłuż kwadratu dużego.
cQrnCl5.jpg

Zmniejszmy jego wysokość do 16 unitów.
Y9t58WM.jpg

Zduplikujmy go i obróćmy - jeśli masz zaznaczony obiekt to klikając na niego w wolnych odstępach zmieniasz tryb manipulowania poprzez kształtowanie, obrót, pochylenie i kształtowanie z zachowaniem punktów.
( warto mieć w opcjach włączoną opcję z obracaniem co 15 stopni )
LiPlzcD.jpg

Ustawiamy nasz sześcian od murku do ściany. Uważajcie by na siebie bloki nie nachodziły! Jest to błąd którego trzeba unikać jak ognia.
UCfThOk.jpg

Następnie znowu duplikujemy nasz mały sześcian i go ustawiamy jak na zdjęciu.
mwshkpO.jpg

Czynimy następne kroki.
iQO6Wuf.jpg

Teraz oszczędzamy sobie czasu i zaznaczamy wszystkie bloki. Z przytrzymanym SHIFT przesuwamy je pod 'sufit' aby je zduplikować w tamtym miejscu.
Usuwamy przy okazji bloczek który nam pomógł zwymiarować kampę.
dNMPjrS.jpg

Gotowe! Warto sprawdzić czy nasza kampa jest odpowiednich wielkości!
ZNVhWFC.jpg

 



3. Pierwszy test!
Mapa do poprawnego działania potrzebuje paru bytów i elementów w zależności od trybu gry. My robimy mapę pod zombie więc wiele nie potrzeba:
- info_player_spawn - byt - spawn dla antyterrorystów
- info_player_deathmatch - byt - spawn dla terrorystów
- light_environment - byt - oświetlenie globalne dla mapy, jest naszym słoneczkiem lub księżycem :)
- sky - tekstura - jest naszym niebem na mapie i z niego pada światło z bytu powyżej


Zróbmy wielki blok na górze mapy i oteksturujmy go teksturą 'sky' (plik wad to zhlt.wad)
Musi wypełnić pustą przestrzeń - nie może być żadnych szparek!
zSKV7Tf.jpg

Dodajmy byt light_environment i zmieńmy jego wartość "pitch" która odpowiada za kąt padania światła.
Kxdulyz.jpg

Skompilujmy teraz mapę, ostatni parametr ustawcie jak na zdjęciu.
Sbg4R4J.jpg

Jeśli dotychczas zrobiliście wszystko dobrze to powinniście mieć podobny efekt:
tE8m5Xk.jpg
l6ptKR5.jpg

Przejdźmy dalej i zróbmy kampę na górze, skróćmy u dołu nasz sufit.
gqSAYlc.jpg

Dodajmy dodatkowy sufit z wymiarami jak na zdjęciu.
gakRaQy.jpg

Zaznaczmy obramowanie dolnej kampy ale tylko zewnętrzne i zduplikujmy je do góry, dodajmy na środku prostokąt jak na zdjęciu.
Przyciągnijmy górny duży sześcian tak aby zrobił nam sufit jak na zdjęciu. Kampa gotowa!
F4vasFl.jpg

 

Dodajmy teraz schodki na górę tej kampy. Zwykła wysokość schodka do 16 unitów, gracz potrafi wskoczyć na 46 unitów. Robimy więc bloczek który ma 40 unitów tak jak na zdjęciu.
nJKFn2s.jpg

Ustawiamy go od góry kampy i robimy schodki które zawracają w drugą stronę.
GV9pigr.jpg

Robimy pomiędzy nimi małe odstępy.
O9LG1TR.jpg

Możemy też je trochę uszczuplić, zmniejszamy ich wysokość od dołu!
Gaay74B.jpg

Wygląda nieźle, teraz robi się trudniej. Odsuwamy ścianę przy schodkach i zaczniemy robić długą kampę w ścianie jak jest na zm_fox. Tworzymy przy tej okazji długi sześcian jak na zdjęciach.
QyUmyp0.jpg

Nasz sześcian powinien zakręcić o 90 stopni w rogu mapy jak na zm_fox, więc po prostu go duplikujemy i przenosimy.
Obudowujemy go z innych bloków które będą robić za ściany, starajcie się robić to dokładnie i bez szpar!
eUnWb39.jpg

Polecam zrobić boczną ścianę, a następnie sufit i podłogę jak na zdjęciu poniżej.
Po tym możemy skasować nasze sześciany które służyły jako wymiary.
k202BAN.jpg

Obudujmy też wejście, może wydawać się czasochłonne ale dacie radę!
vTOcqQY.jpg

Zróbmy teraz kampę która jest obok schodków na parę osób, tu poznamy nową funkcję.
Stwórzcie sześcian z takimi wymiarami:
2I1Pokv.jpg

Zaznaczcie go i z zakładki Tools wybierzcie Make Hollow (skrót ctrl+shift+h). Spyta Was o grubość ściany - wpisujemy 16 unitów.
r5GKz3D.jpg

To nam pozwoliło zrobić wnętrze tego sześcianu, teraz trzeba pozwolić graczowi tam wejść aby mógł kampić.
Usuń w tym celu podłogę i ustaw bloki tak jak na zdjęciu.
ivz6KyE.jpg

Stwórz nowy sześcian o wymiarach i położeniu jak na zdjęciu.
sAE5tBj.jpg

Teraz wykorzystamy opcję do wycinania brył, osobiście jej nie polecam ale przydaje się jeśli oczekujemy szybkich efektów.
Zaznaczamy nasz nowy sześcian, wchodzimy w zakładkę Tools i klikamy Carve
xImL1xw.jpg

To nam zrobiło odpowiednie przejście dla gracza! Kampa już gotowa, teraz zróbmy komplet kamp obok.
Tworzymy wielki sześcian jak na zdjęciu.
gKiRFd4.jpg

Następnie ponownie posłużymy się sześcianem który nam pomoże zwymiarować kampy.
Tworzymy jeden jak na zdjęciu.
eSL3F8e.jpg

Duplikujemy go, jako odstępy może posłużyć nam siatka lub dodatkowy bloczek który stworzyłem.
WkFBpNi.jpg


Duplikujemy duże cztery bloki na górę, po czym je przesuwamy w prawo tak aby zapełniły puste miejsca pomiędzy sobą.
Kasujemy ostatnie bloki po prawej u góry i na dole.
ae0YiBd.jpg

Robimy z tych bloczków obramowania, będą nam służyły jako odstępy pomiędzy kampami.
Yz7z6Av.jpg

Na zdjęciach widać, że musimy teraz wsunąć te kampy.
Z sześcianu robimy tylko dwie ściany boczne - możemy zmniejszyć sześcian do wymiarów ściany i go zduplikować do krawędzi ostatniej kampy.
WBpUTsj.jpg

Wysuwamy troszkę dolne obramowania - posłużą one jako schodki do wskoczenia na kampy wyżej.
G66RUHU.jpg

Przypomnijmy sobie o przejściu w ścianie! Przecież ono tutaj wychodzi do jednej z kamp. Trzeba to załatwić.
Dociągamy nasze bloki tak aby stykały się z drugą kampą od prawej. Obudowujemy aby nie było szpar.
7xeXz8k.jpg

W tej kampie w rogu jest miejsce do stania, więc zróbmy to.
Tutaj z pomocą przyjdzie narzędzie do cięcia brył.
Shift+X włącza to narzędzie, na widokach 2D najlepiej z góry tniemy nasz blok tak jak na zdjęciu.
Czerwony obrys bryły oznacza, że zostanie ona odcięta. To narzędzie ma trzy opcje cięcia więc wciśnijcie ponownie shift+x aby dojść do opcji, gdzie obie strony cięcia pozostają białe.
ojn48nd.jpg

Rozpędzamy się, obudowujemy tak aby pozostawić więcej przestrzeni dla gracza.
wA5QaPM.jpg

Tworzymy teraz górną część od zewnątrz. Tworzymy duży sześcian od góry, w odstępie około 64 unitów. Dodajemy obramowanie kampy.
Zfv4jiJ.jpg

Obniżamy boczną ścianę i tam też dodajemy obramowanie i przesuwamy górny sześcian aby dopasował się do krawędzi.

Xa05SG6.jpg

 

Dodajemy w pustym miejscu boczne ścianki.

jnK0Btx.jpg

 

Dodajemy teraz drabinkę! Do tego potrzeba dwóch rzeczy, modelu lub tekstury drabinki i bytu bryły func_ladder.
Tworzymy najpierw bryłę z teksturą {BARS.
ziNMZrR.jpg

Zamieniamy ją w byt (skrót CTRL+T) func_illusionary. Jest to byt przez który można przejść.
Ustawiamy Render Mode jak na zdjęciu, dzięki temu drabinka jest przeźroczysta.
fBR9jsJ.jpg

Duplikujemy naszą drabinkę zaraz przy sobie, zamieniamy jej teksturę na AAATRIGGER (tekstura odpowiada za funkcjonowanie bytów),
oraz zmieniamy byt z func_illusionary na func_ladder (możemy z listy wybrać)
BKP9UgD.jpg

Powinno to wyglądać tak:
xXRf9De.jpg

Zapiszcie projekt! Skompilujmy naszą mapę! Wciskamy F9 jak wcześniej i testujemy!
jEywOlu.jpg

Jeżeli natknęliście się na problemy - plik źródłowy mapy do pobrania w tej części:
zm_fox_poradnik_v01.rmf

 

 



4. Wasza inicjatywa
Teraz się zacznie trudniej, będę mniej tłumaczył i pokazywał co jak zrobić. Cały brushwork, czyli tworzenie mapy jest w Waszych rękach.
Pokażę jeszcze parę użytecznych rzeczy.


Jak zauważyliście, nie możemy wskoczyć do górnych kamp, są położone za wysoko dla gracza!
Na mapie zm_fox są niewidzialne schodki które pomagają tam się dostać, stwórzmy takie!
Tworzymy sześcian o takich wymiarach oteksturowany CLIP - jest to niewidzialna tekstura która blokuje ruchy gracza i może posłużyć za niewidzialne kładki lub schodki.
Nie musimy jej zamieniać w żaden byt.
lVRRgO1.jpg

 

Zróbmy połączenie pomiędzy dachami, tworzymy takie kładki jak na zdjęciu.
TI7kY69.jpg

Nie łączą się, ale możemy to zrobić elegancko je pochylając.
Klikamy na jedną kładkę parę razy aż dojdziemy do opcji pochylenia (4 punkty do przechylania), bierzemy na widoku 2D punkt kontrolny ten bliżej drugiej kładki i go przenosimy do dołu.
TC7qR0j.jpg

To samo robimy z drugą kładką.
yAmrnTo.jpg

Mogliśmy zrobić schodki tak jak wcześniej prawda? Jednak chciałem Was zachęcić do korzystania z funkcji cięcia bo jest bardzo przydatne w wielu przypadkach.
Zaznaczamy nasze kładki i je tniemy co jakiś kawałek (200 unitów wystarczy lub mniej).
RAMNc5z.jpg

Następnie zaznaczamy osobno co drugi kawałek i go usuwamy!
hJ2rJVd.jpg

Możemy skompilować mapę i sprawdzić czy możemy tam się spokojnie dostać.
ssZgv8G.jpg

Teraz już większość opcji znacie :) Tworzymy ostatnie kampy.
FNerhWJ.jpg

Mała kampa z murkiem.
Zwg2JCz.jpg

Wszelkie próby i błędy musicie wykonać sami, odległości czy pasują lub czy coś jest nie tak.
Dzięki temu nauczycie się także eksperymentować, macie tutaj władzę prawie nad wszystkim :)
Dodajemy dodatkowe kładki w powietrzu
NBl2rDX.jpg

Zróbmy wyższe niebo! Skopiujmy nasze ściany z sufitem do góry i przytnijmy je na wysokości starych ścian - dzięki temu nie będą wchodzić w siebie.
YVMJkZc.jpg

Dodajmy teksturę CLIP blokującą zombie na grawitce, tak aby nie mogli się dostać na kładkę u góry.
K9hKy56.jpg

Ważna sprawa - spawny. Dodaliśmy aktualnie tylko jeden dla siebie. Na serwer zombie infection potrzebne są 32 spawny ( 16 CT i 16 TT ), zróbmy ich jednak trochę więcej.
ulYT4Tq.jpg

Po dodaniu 17 lub więcej spawnów dla CT dodajmy następne dla Terrorystów.
ntmhPro.jpg

Pamiętajcie, aby żaden byt w tym spawny nie wchodziły w siebie lub w bryły. Wynikają z tego same błędy (jak zabijanie się graczy lub blokowanie, brak oświetlenia)
vwZtCh0.jpg

Rozjaśnijmy trochę ciemne miejsca na mapie, w tym wypadku dodajemy byt "light" w miejscach gdzie jest ciemno.
Jest to światło emitujące w każdą stronę, więc polecam je ustawić po środku przejścia. Byty nie mogą wychodzić poza mapę!
KKjZSfs.jpg

Zmieńmy niebo, bo to standardowe mnie dobija :P Wchodzimy w Map -> Map properties
Rj38Eim.jpg


Możemy tutaj ustawić niebo oraz odległość renderowania.
W environment map wpisujemy blue.
HdZbEEf.jpg

Zmieńmy teraz oświetlenie globalne tak aby pasowało do nieba (które jest ciemniejsze).
Klikamy na nasz light_environment i przechodzimy do ustawień. Wpisujemy wartości Brightness i shade jak na zdjęciach.
zaWbY3A.jpg
1MT8LMM.jpg

Na koniec bonus dla wytrwałych, ustawimy do wzięcia AWP na mapie.
Potrzebujemy do tego bytu armoury_entity, w item wybieramy weapon_awp oraz count zostawiamy na 1 (czyli spawnuje 1 sztuke).
hBkyYKz.jpg


Zapiszcie projekt! Skompilujmy naszą mapę! Wciskamy F9 jak wcześniej i testujemy!
Jeśli wszystko jest tak jak powinno, to uruchomicie własną mapę :)
Jeśli natknęliście się na problemy, plik źródłowy z poradnika jest tutaj:

zm_fox_poradnik_v02.rmf

https://i.imgur.com/sd96E1u.jpg

 



4. Hulaj dusza
Jeśli wszystko wyszło w porządku to macie teraz możliwość tworzenia własnej mapy, lub jakiegoś remake. Ogranicza Was doświadczenie, silnik gry i wyobraźnia.
W następnym poradniku jeśli się pojawi, pokażę techniki optymalizacji mapy oraz zasady teksturowania.

Po więcej informacji zachęcam do kontaktu na PW/STEAM lub TS3 :)

Edytowane przez Wheatley
tytuł
  • Ustrzel fraga! (+) 2
  • Serduszko fragowe (+) 4

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.


  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Polityka prywatności