Tekstury, pliki i paczki · 3 min czytania
Utrata tekstur w FiveM: dlaczego miasto się rozmywa i jak to naprawić
Czytaj w języku: English · Español · Français · Deutsch · Português · Italiano · Türkçe · Русский
Gracze wjeżdżają do miasta, drogi są rozmazane, budynki przez kilka sekund szare, a czasem tekstury wcale się nie ładują. Gracze FiveM nazywają to utratą tekstur albo „city bugiem”. Jeśli dzieje się to tylko na twoim serwerze, przyczyną jest zwykle to, co serwer streamuje.
Czym jest utrata tekstur
Wszystko, co streamuje serwer (samochody, ubrania, propy, mapy), dzieli z miastem gry pamięć tekstur. Gdy to, co gracz musi wczytać wokół siebie, się nie mieści, tekstury docierają późno, rozmazane lub wcale.
Sam FiveM wskazuje najgorszych winowajców. Każdy streamowany plik powyżej 16 MiB pamięci dostaje ostrzeżenie w konsoli serwera, a od 48 MiB ostrzeżenie mówi wprost: "Oversized assets can and WILL lead to streaming issues (such as models not loading/rendering)." (Zbyt duże zasoby mogą i BĘDĄ powodować problemy ze streamingiem, np. modele się nie wczytują ani nie renderują.) (Co mierzy to ostrzeżenie.)
Typowe przyczyny na serwerze:
- Za duże pliki: tekstury 4K samochodów i ubrań, cała paczka upchnięta w jeden
.ytd. - Ten sam plik streamowany przez dwa zasoby: gra dostaje tylko jeden, a ty płacisz za streamowanie drugiego.
- Te same tekstury powtórzone w słownikach paczki: każda kopia jest streamowana.
- Tekstury bez mipmap: gra nie ma mniejszego poziomu, do którego mogłaby się cofnąć, więc kosztują pełny rozmiar z każdej odległości.
Jeśli gracz ma utratę tekstur na każdym serwerze, do którego dołącza, problem leży po jego stronie (w ustawieniach lub na jego komputerze), a nie w twoich zasobach.
Krok 1: zobacz, co streamuje serwer
Przeciągnij cały folder resources do Server Budget. Narzędzie czyta nagłówek każdego streamowanego pliku w przeglądarce, więc nic nie jest wysyłane, a działa za darmo bez logowania. Dostajesz:
- Graphics memory (pamięć graficzna) i System memory (pamięć systemowa) dla wszystkiego, co streamujesz.
- By resource, posortowane po pamięci: zasoby, na które warto spojrzeć najpierw.
- Oversized: każdy plik powyżej 16 MiB pamięci graficznej.
- Streamed by more than one resource (streamowane przez więcej niż jeden zasób): zostaw jedną kopię każdego.

Te sumy pokazują, co serwer mógłby streamować, a nie to, co gracz ładuje naraz: gracz wczytuje tylko to, co jest wokół niego. Mimo to to właściwa lista do przejścia.
Krok 2: zmniejsz za duże pliki
Przeciągnij oflagowane pliki stream do Asset Optimizer, ustaw Largest texture size (1024, albo 2048 dla tego, co gracze widzą z bliska), zostaw zaznaczone Add missing mipmaps i pobierz lżejsze pliki. Zachowują nazwy, więc wracają wprost do stream/.
Krok 3: współdziel powtarzające się tekstury
W przypadku paczki, która powtarza te same tekstury w wielu słownikach (paczki ubrań i samochodów często tak robią), Texture Dedupe znajduje kopie, przenosi je do jednego wspólnego .ytd i pisze gtxd.meta oraz linie fxmanifest, dzięki którym modele je tam znajdują. Przenoszone są tylko tekstury o tej samej nazwie i tych samych pikselach.
Słowniki nadrzędne tekstur są odczytywane w chwili dołączenia gracza. Po ich zmianie gracze muszą połączyć się ponownie, inaczej samochody mogą do tego czasu wyglądać bez tekstur.
Krok 4: sprawdź, czy nic nie zginęło
Przeciągnij zmieniony zasób do Missing Textures Check: każdy model powinien nadal znaleźć każdą teksturę. Potem przeciągnij folder ponownie do Server Budget i porównaj.
Ta sama naprawa, z Server Budget i Asset Optimizer, jest też poradnikiem wideo.
Pytania
- Czy pojedynczy zasób może spowodować utratę tekstur?
- Tak, jeśli jest dostatecznie ciężki: jeden pakiet samochodów lub ubrań z teksturami 4K może streamować dużą część tego, co wysyła serwer. Dlatego Server Budget sortuje zasoby według pamięci.
- Czy muszę usuwać zasoby?
- Zwykle nie. Zmniejszenie zbyt dużych tekstur, usunięcie plików streamowanych dwa razy i współdzielenie powtarzających się tekstur obniża obciążenie większości serwerów znacznie, bez usuwania czegokolwiek.

Narzędzie do tego
Server Budget
Przeciągnij folder resources: pamięć, jaką streamuje każdy zasób, za duże pliki, przed którymi ostrzega FiveM, i pliki streamowane dwa razy.
Otwórz Server BudgetPrzydatne także tutaj: Asset Optimizer · Texture Dedupe

