Tworzenie map FiveM z YMAP: Podstawy własnych MLO
Twórz własne mapy FiveM za pomocą plików YMAP: narzędzia, workflow, podstawy MLO, foldery stream i wskazówki, jak unikać problemów z kolizjami oraz cullingiem.
Agency Scripts
Założyciel i główny deweloper w Agency Scripts
Czym są pliki YMAP?
Pliki YMAP to format rozmieszczania mapy używany przez GTA V i FiveM do określania, gdzie w świecie gry znajdują się obiekty, budynki i rekwizyty. Tworząc niestandardowe wnętrze lub modyfikację mapy dla FiveM, w praktyce tworzysz plik YMAP, który informuje silnik, jakie modele 3D rozmieścić, w którym miejscu je ustawić i jak je zorientować. W przeciwieństwie do prostych skryptów rozmieszczania rekwizytów, które spawnują obiekty w czasie działania, pliki YMAP są ładowane jako część świata gry podczas streamingu, co oznacza, że korzystają z wbudowanego w silnik systemu poziomu szczegółów, occlusion culling i zarządzania pamięcią. Sprawia to, że YMAP jest preferowaną metodą tworzenia stałych dodatków do mapy, które muszą działać wydajnie na serwerach z wieloma graczami.
Narzędzia do tworzenia map
Głównym narzędziem do tworzenia map FiveM jest CodeWalker, darmowa aplikacja stworzona przez społeczność, która pozwala przeglądać, edytować i eksportować dane mapy GTA V. Za pomocą CodeWalker możesz umieszczać propy z wbudowanej biblioteki gry, precyzyjnie ustalać ich pozycję za pomocą współrzędnych oraz wartości rotacji i eksportować swoje dzieło jako plik YMAP gotowy do streamingu. Do bardziej zaawansowanych prac Blender z dodatkiem Sollumz pozwala tworzyć w pełni niestandardowe modele 3D i eksportować je w formatach wymaganych przez FiveM. Wielu twórców map używa również narzędzi w grze, takich jak Spooner lub niestandardowe skrypty do rozmieszczania propów, do wstępnego rozplanowania przed eksportem do formatu YMAP. Typowy schemat pracy obejmuje wstępne rozmieszczenie w grze, dopracowanie w CodeWalker oraz ostateczny eksport do użytku produkcyjnego.
Tworzenie własnych wnętrz
Własne interiory to zamknięte przestrzenie, takie jak mieszkania, biura, sklepy czy obiekty podziemne, do których gracze mogą wchodzić i wchodzić w interakcje. Stworzenie przekonującego wnętrza wymaga dbałości o geometrię kolizji, oświetlenie oraz zagęszczenie propów. Zacznij od zdefiniowania bryły wnętrza za pomocą odpowiednich modeli ścian, podłóg i sufitów, a następnie dodaj meble, dekoracje i elementy funkcjonalne. Pliki kolizji (YBNF) muszą dokładnie odpowiadać geometrii wizualnej, aby gracze nie przechodzili przez ściany ani nie spadali pod podłogę. Oświetlenie wnętrza obsługiwane jest poprzez połączenie wypalonych próbników światła i dynamicznych źródeł światła zdefiniowanych w Twoim YMAP. Dokładnie przetestuj wnętrze, obchodząc każdy zakamarek, sprawdzając widoczne łączenia, luki w kolizjach oraz miejsca, w których kamera przenika przez geometrię.
Streaming i wydajność
Własne mapy są streamowane do graczy, gdy zbliżają się do danej lokacji, co oznacza, że rozmiar i złożoność plików bezpośrednio wpływają na czas ładowania oraz wydajność klienta. Skup pliki YMAP na rozsądnym obszarze, zamiast rozrzucać propy po całej mapie w ramach jednego resource. Duże wnętrza należy podzielić na wiele niezależnie ładowanych plików YMAP oraz stosować odpowiednie dystanse LOD, aby odległe obiekty nie zużywały zasobów renderowania. Ten fxmanifest.lua dla resource mapy musi zawierać twoje pliki YMAP i YTYP jako data_file wpisy z prawidłowymi deklaracjami typów. Monitoruj wydajność po stronie klienta za pomocą wbudowanego profilera FiveM, aby upewnić się, że Twoje własne mapy nie powodują spadków płynności, zwłaszcza w miejscach, gdzie jednocześnie gromadzi się wielu graczy.
Biblioteki propów i najlepsze praktyki
GTA V zawiera tysiące wbudowanych propów, których możesz używać na swoich mapach bez dodawania dodatkowych plików do streamowania. Poznanie konwencji nazewnictwa propów pomaga szybko znaleźć właściwe obiekty. Propy z prefiksem prop_ są przedmiotami ogólnego przeznaczenia, v_ przedmioty z prefiksem to wyposażenie wnętrz, a hei_ przedmioty pochodzą z zawartości związanej z napadami. Podczas umieszczania propów dopasowuj je do spójnej siatki, aby uniknąć lewitujących obiektów i nakładającej się geometrii. Grupuj powiązane propy logicznie i używaj opisowych nazw dla plików YMAP, aby inni developerzy mogli zrozumieć strukturę mapy. Zawsze testuj swoje mapy przy domyślnym oświetleniu i warunkach pogodowych w grze, ponieważ propy mogą wyglądać zupełnie inaczej w różnych warunkach oświetleniowych.