Текстуры, файлы и паки · 4 мин чтения
Почему текстуры в FiveM розовые, фиолетовые или белые, и как это исправить
Читать на:: English · Español · Français · Deutsch · Português · Italiano · Polski · Türkçe
Ваш новый проп, машина или MLO стримится, но часть его белая или ярко-розовая или фиолетовая. Сама модель загрузилась нормально: не хватает одной из её текстур. Игра искала её, нигде не нашла и нарисовала эту часть без неё.
Решение почти никогда не в очистке кэша и не в переустановке ресурса. Нужно найти, какой текстуры не хватает, и понять, почему модель её не видит. Ниже — где игра ищет, какие ошибки приводят к поломке и как найти виновника, не открывая каждый файл в OpenIV.
Где игра ищет текстуру
Модель не хранит список файлов. Каждая её часть (каждый шейдер) указывает нужные ей текстуры, и игра ищет каждое имя в таком порядке:
- В самой модели.
.ydrили.yftможет содержать свои текстуры (встроенные). - В словаре текстур, который указывает её архетип. Для пропа или модели карты это
textureDictionaryего записи в.ytyp, и это не всегда.ytdс именем модели. Для машины —txdNameвvehicles.meta. - В родительских словарях этого словаря, заданных в
gtxd.meta(CMapParentTxds), по цепочке вверх, один за другим. - В общих словарях игры, которые всегда загружены, например
vehshare(стёкла, колёса и краска машин) иmapdetail.
Текстура, которой нет ни в одном из этих мест, и есть белая, розовая или фиолетовая часть. Поэтому вопрос не просто «есть ли текстура в моём ресурсе?», а «лежит ли она там, где ищет именно эта модель?».
Частые причины
.ytd— не тот, на который указывает.ytyp. Переименовать.ytdпод имя модели — частое предположение, но важен словарь текстур архетипа..ytdвообще нет в ресурсе или нет в папкеstream, и в игре тоже нет файла с таким именем.- Текстура лежит в другом
.ytdтого же ресурса, в который эта модель не заглядывает: общий словарь без связи с родителем. gtxd.metaесть, но fxmanifest его не загружает. Без строкиdata_fileигра никогда не увидит этих родительских словарей.txdNameмашины вvehicles.metaне совпадает с её.ytd.
Есть ещё случай, который может выглядеть похоже, но не является отсутствующей текстурой: текстура, сохранённая без мипмап. Аддон-пед одного клиента вблизи выглядел розовым, хотя все текстуры были на месте, а в самих текстурах не было мипмап. Для этого случая есть отдельное руководство: как добавить мипмапы в YTD.
Найдите пропавшую текстуру за минуту
Missing Textures Check выполняет тот же поиск для каждой модели в ресурсе. Он бесплатный (вы входите через Discord) и только читает: ничего не меняет.
- Перетащите ваш ресурс FiveM, его папку или
.zip, вместе с.ytyp,vehicles.metaиgtxd.meta, если они есть. - Прочитайте Totals (итоги): Missing — число текстур, которые рисуются белыми или фиолетовыми; From the game — текстуры, которые есть только в словарях игры, это нормально.
- Откройте карточку модели. Её таблица перечисляет каждую текстуру с её слотом и местом, где её нашли: в модели, в её
.ytd, в родительском.ytd, в игре или Missing. - Если недостающая текстура лежит в другом месте среди перетащенных вами файлов, таблица сообщает об этом рядом с её именем («Is in X, where this model doesn't look.» — находится в X, где эта модель не ищет), а подсказка под моделью объясняет, как это исправить.
- Оставьте включённым Only problems (только проблемы), чтобы видеть лишь сломанные модели, а отчёт скачайте как
.csv, если хотите разобрать список.

.ytd: 15 текстур нигде не найдены, а подсказка указывает словарь, который требует её vehicles.meta.Исправьте каждую причину
Текстура действительно отсутствует
Положите текстуру в словарь, который использует модель. Texture Editor открывает .ytd и добавляет текстуру: Add a texture (добавить текстуру). Дайте ей точное имя, которое требует модель, выберите тип (цветовая карта, карта нормалей или specular) и изображение, затем скачайте .ytd. Она вернётся сжатой, с мипмапами.
Модель ищет в неверном словаре
Измените словарь текстур архетипа в .ytyp с помощью YTYP Editor, чтобы он указывал на .ytd с текстурами. Для машины исправьте txdName в vehicles.meta.
Текстура лежит в другом .ytd
Перенесите её в собственный .ytd модели или сделайте тот другой .ytd родителем для него в gtxd.meta. Texture Dedupe сделает это за вас, когда текстуры общие для словарей. В любом случае fxmanifest должен загружать gtxd.meta:
files { 'gtxd.meta' }
data_file 'GTXD_PARENTING_DATA' 'gtxd.meta'Размытые или розовые только вблизи
Посмотрите Size and format (размер и формат) в том же отчёте. Текстуры, перечисленные там как без мипмап, можно перестроить за один раз в Asset Optimizer.
Затем переподключитесь, а не просто перезапустите
Игроки сохраняют скачанный .ytd, пока не переподключатся: одного перезапуска ресурса недостаточно, чтобы увидеть исправленную текстуру. После исправления перетащите ресурс в проверку ещё раз, затем заново зайдите на сервер, чтобы увидеть результат в игре.
Вопросы
- Очистка кэша FiveM исправляет белые или фиолетовые текстуры?
- Нет, если текстуры нет в ресурсе: кэш не добавит текстуру, которую никто не отправляет. Сначала найдите отсутствующую. А если вы изменили
.ytd, игрокам нужно переподключиться, чтобы получить новый. - Почему белой стала только часть модели?
- У каждой части модели свои текстуры. Без текстур рисуются только части, чьи текстуры нигде не найдены, поэтому у машины может быть идеальная краска и белые сиденья.
- Текстура может прийти из игры, а не из моего ресурса?
- Да. Модель может использовать текстуры из собственных словарей игры, например
vehshareдля стёкол и колёс машины. Missing Textures Check показывает их как From the game или Game shared, а не как отсутствующие.

Инструмент для этого
Missing Textures Check
Перетащите ресурс и посмотрите текстуры каждой модели, где найдена каждая из них и как исправить те, которых нигде нет.
Открыть Missing Textures CheckПригодится также: Texture Editor · Asset Optimizer

