Tekstury, pliki i paczki · 4 min czytania

Różowe, fioletowe lub białe tekstury w FiveM? Jak to naprawić

Czytaj w języku: English · Español · Français · Deutsch · Português · Italiano · Türkçe · Русский

Twój nowy prop, samochód albo MLO się streamuje, ale jego część jest biała albo jaskraworóżowa lub fioletowa. Sam model załadował się poprawnie: brakuje jednej z jego tekstur. Gra jej szukała, nigdzie nie znalazła i narysowała tę część bez niej.

Rozwiązaniem prawie nigdy nie jest czyszczenie cache ani ponowna instalacja zasobu. Trzeba znaleźć, której tekstury brakuje i dlaczego model jej nie widzi. Poniżej: gdzie gra szuka, jakie błędy to psują i jak znaleźć winowajcę bez otwierania każdego pliku w OpenIV.

Gdzie gra szuka tekstury

Model nie zawiera listy plików. Każda jego część (każdy shader) podaje tekstury, których potrzebuje, a gra szuka każdej nazwy w tej kolejności:

  1. W samym modelu. Plik .ydr lub .yft może mieć własne tekstury (wbudowane).
  2. W słowniku tekstur, który podaje jego archetyp. Dla propa lub modelu mapy jest to textureDictionary jego wpisu w .ytyp, a nie zawsze .ytd o nazwie modelu. Dla samochodu to txdName w vehicles.meta.
  3. W słownikach nadrzędnych (parent) tego słownika, ustawionych w gtxd.meta (CMapParentTxds), po kolei w górę łańcucha.
  4. We wspólnych słownikach gry, które są zawsze wczytane, np. vehshare (szyby, koła i lakier samochodów) oraz mapdetail.

Tekstura, która nie leży w żadnym z tych miejsc, to biała, różowa lub fioletowa część. Pytanie brzmi więc nie tylko „czy tekstura jest w moim zasobie?”, ale „czy leży tam, gdzie szuka ten model?”.

Typowe przyczyny

  • .ytd nie jest tym, który podaje .ytyp. Zmiana nazwy .ytd na nazwę modelu to częste zgadywanie, ale liczy się słownik tekstur archetypu.
  • Plik .ytd w ogóle nie znajduje się w zasobie, albo nie w jego folderze stream, a gra też nie ma pliku o tej nazwie.
  • Tekstura jest w innym .ytd tego samego zasobu, którego ten model nigdy nie przeszukuje: wspólny słownik bez powiązania z rodzicem.
  • gtxd.meta jest, ale fxmanifest go nie ładuje. Bez linii data_file gra nigdy nie zobaczy tych słowników nadrzędnych.
  • txdName samochodu w vehicles.meta nie zgadza się z jego .ytd.

Jest jeszcze jeden przypadek, który może wyglądać podobnie, ale nie jest brakującą teksturą: tekstura zapisana bez mipmap. Addonowy ped jednego z klientów był w grze z bliska różowy, mimo że wszystkie tekstury były na miejscu, a jego tekstury nie miały mipmap. Ten przypadek ma osobny poradnik: jak dodać mipmapy do YTD.

Znajdź brakującą teksturę w minutę

Missing Textures Check przechodzi tę samą ścieżkę wyszukiwania dla każdego modelu w zasobie. Jest darmowe (logujesz się przez Discord) i tylko czyta: niczego nie zmienia.

  1. Przeciągnij swój zasób FiveM, jego folder lub .zip, razem z .ytyp, vehicles.meta i gtxd.meta, jeśli je ma.
  2. Przeczytaj Totals (sumy): Missing to liczba tekstur, które rysują się na biało lub fioletowo; From the game to tekstury, które mają tylko słowniki gry, i to jest w porządku.
  3. Otwórz kartę modelu. Jego tabela wymienia każdą teksturę z jej slotem i miejscem, gdzie ją znaleziono: w modelu, w jego .ytd, w nadrzędnym .ytd, w grze albo Missing.
  4. Gdy brakująca tekstura jest gdzie indziej wśród przeciągniętych plików, tabela mówi to przy jej nazwie („Is in X, where this model doesn't look.” – jest w X, gdzie ten model nie szuka), a wskazówka pod modelem mówi, jak to naprawić.
  5. Zostaw zaznaczone Only problems (tylko problemy), by widzieć same zepsute modele, a raport pobierz jako .csv, jeśli chcesz przejść przez listę.
Raport Missing Textures Check dla testowego radiowozu, któremu usunięto plik .ytd: 15 brakujących tekstur, każda ze swoim slotem, reszta znaleziona w słownikach gry
Testowy samochód z usuniętym .ytd: 15 tekstur nigdzie nie znalezionych, a wskazówka podaje słownik, którego wymaga jego vehicles.meta.

Napraw każdą przyczynę

Tekstury naprawdę brakuje

Umieść ją w słowniku, którego używa model. Texture Editor otwiera .ytd i dodaje teksturę: Add a texture (dodaj teksturę). Nadaj jej dokładnie tę nazwę, której wymaga model, wybierz rodzaj (mapa koloru, normalnych lub specular) i obraz, a potem pobierz .ytd. Wróci skompresowana, z mipmapami.

Model szuka w złym słowniku

Zmień słownik tekstur archetypu w .ytyp przy pomocy YTYP Editor, tak aby wskazywał .ytd z teksturami. Dla samochodu popraw txdName w vehicles.meta.

Tekstura jest w innym .ytd

Przenieś ją do własnego .ytd modelu albo uczyń tamten .ytd rodzicem (parentem) tego .ytd w gtxd.meta. Texture Dedupe zrobi to za ciebie, gdy tekstury są współdzielone między słownikami. W obu przypadkach fxmanifest musi załadować gtxd.meta:

lua
files { 'gtxd.meta' }
data_file 'GTXD_PARENTING_DATA' 'gtxd.meta'

Różowe lub rozmazane tylko z bliska

Spójrz na Size and format (rozmiar i format) w tym samym raporcie. Tekstury wymienione tam jako bez mipmap można przebudować za jednym razem w Asset Optimizer.

Potem połącz się ponownie, a nie tylko zrestartuj zasób

Gracze trzymają pobrany .ytd, dopóki się nie połączą ponownie: sam restart zasobu nie wystarczy, by zobaczyć poprawioną teksturę. Po poprawce przeciągnij zasób ponownie do narzędzia, a potem dołącz do serwera jeszcze raz, żeby zobaczyć efekt w grze.

Pytania

Czy czyszczenie cache FiveM naprawia białe lub fioletowe tekstury?
Nie, gdy tekstury brakuje w zasobie: cache nie doda tekstury, której nikt nie wysyła. Najpierw znajdź brakującą. Po zmianie .ytd gracze muszą się jednak połączyć ponownie, żeby dostać nową.
Dlaczego tylko część mojego modelu jest biała?
Każda część modelu ma własne tekstury. Bez nich rysowane są tylko te części, których tekstur nigdzie nie znaleziono, więc samochód może mieć idealny lakier i białe siedzenia.
Czy tekstura może pochodzić z gry, a nie z mojego zasobu?
Tak. Model może używać tekstur z własnych słowników gry, np. vehshare dla szyb i kół samochodu. Missing Textures Check pokazuje je jako From the game lub Game shared, a nie jako brakujące.

Narzędzie do tego

Missing Textures Check

Przeciągnij swój zasób i zobacz wszystkie tekstury każdego modelu: gdzie każda została znaleziona i jak naprawić tę, której nigdzie nie ma.

Otwórz Missing Textures Check

Przydatne także tutaj: Texture Editor · Asset Optimizer

Więcej poradników

Wszystkie poradniki →

Każde narzędzie możesz wypróbować za darmo: 5 eksportów dziennie. Zaloguj się przez Discord, aby z nich korzystać.