Texture, file e pack · 4 min di lettura

Texture FiveM rosa, viola o bianche: cause e soluzione

Leggi in: English · Español · Français · Deutsch · Português · Polski · Türkçe · Русский

Il tuo nuovo prop, veicolo o MLO si carica, ma una parte appare completamente bianca, o di un rosa o viola acceso. Il modello in sé è caricato bene: ciò che manca è una delle sue texture. Il gioco l'ha cercata, non l'ha trovata da nessuna parte e ha disegnato quella parte senza.

La soluzione quasi mai è svuotare la cache o reinstallare la risorsa. Bisogna trovare quale texture manca e perché il modello non riesce a vederla. Ecco dove il gioco cerca, gli errori che lo fanno sbagliare e come trovare il colpevole senza aprire ogni file in OpenIV.

Dove il gioco cerca una texture

Un modello non porta con sé un elenco di file. Ciascuna sua parte (ogni shader) indica le texture di cui ha bisogno, e il gioco cerca ogni nome in quest'ordine:

  1. Dentro il modello stesso. Un .ydr o .yft può contenere le proprie texture (incorporate).
  2. Il dizionario di texture che indica il suo archetype. Per un prop o un modello di mappa è il textureDictionary della sua voce nel .ytyp, che non è sempre un .ytd con il nome del modello. Per un'auto è il txdName in vehicles.meta.
  3. I genitori di quel dizionario, definiti in un gtxd.meta (CMapParentTxds), uno dopo l'altro risalendo la catena.
  4. I dizionari condivisi del gioco stesso, sempre caricati, come vehshare (vetri, ruote e vernice delle auto) e mapdetail.

Una texture che non è in nessuno di questi posti diventa la parte bianca, rosa o viola. Quindi la domanda non è mai solo "la texture è nella mia risorsa?", ma "è in un posto dove questo modello guarda?".

Le cause più comuni

  • Il .ytd non è quello che indica il .ytyp. Rinominare il .ytd perché corrisponda al modello è un'ipotesi comune, ma conta il dizionario di texture dell'archetype.
  • Il .ytd non è affatto nella risorsa, o non è nella cartella stream, e il gioco non ne ha uno con quel nome.
  • La texture è in un altro .ytd della stessa risorsa che questo modello non consulta mai: un dizionario condiviso senza collegamento di parentela con lui.
  • Il gtxd.meta c'è, ma il fxmanifest non lo carica. Senza la sua riga data_file il gioco non vede mai quei genitori.
  • Il txdName di un'auto in vehicles.meta non corrisponde al suo .ytd.

C'è un altro caso che può sembrare uguale senza essere una texture mancante: una texture salvata senza mipmap. Il ped addon di un cliente appariva rosa da vicino in gioco, con tutte le texture al loro posto, e le sue texture non avevano mipmap. Quel caso ha una guida a parte: come aggiungere mipmap a un YTD.

Trova la texture mancante in un minuto

Missing Textures Check segue la stessa ricerca per ogni modello di una risorsa. È gratuito (accedi con Discord) e si limita a leggere: non cambia nulla.

  1. Trascina la tua risorsa FiveM, la sua cartella o il suo .zip, con il suo .ytyp, vehicles.meta e gtxd.meta se li ha.
  2. Leggi Totals (totali): Missing (mancanti) è il numero di texture che appaiono bianche o viola; From the game (dal gioco) sono le texture che hanno solo i dizionari del gioco, il che è normale.
  3. Apri la scheda di un modello. La sua tabella elenca ogni texture con il suo slot e dove è stata trovata: nel modello, nel suo .ytd, in un .ytd genitore, nel gioco, oppure Missing.
  4. Quando una texture mancante si trova altrove nel tuo invio, la tabella lo dice sotto il suo nome ("Is in X, where this model doesn't look." — è in X, dove questo modello non guarda), e il suggerimento sotto il modello spiega come correggere.
  5. Lascia Only problems (solo problemi) spuntato per vedere solo i modelli con errori, e scarica il rapporto in .csv se vuoi lavorarli uno per uno.
Rapporto di Missing Textures Check per un'auto della polizia di prova a cui è stato tolto il .ytd: 15 texture mancanti, ognuna con il suo slot, il resto trovato nei dizionari del gioco
Un'auto di prova senza il suo .ytd: 15 texture che non si trovano da nessuna parte, e il suggerimento che nomina il dizionario richiesto dal suo vehicles.meta.

Correggi ogni causa

La texture manca davvero

Mettila nel dizionario che usa il modello. Texture Editor apre il .ytd e ne aggiunge una: Add a texture (aggiungi una texture), dai il nome esatto che chiede il modello, scegli il tipo (mappa colore, normale o speculare) e l'immagine, poi scarica il .ytd. Torna compresso, con i mipmap.

Il modello guarda nel dizionario sbagliato

Cambia il dizionario di texture dell'archetype nel .ytyp con il YTYP Editor, in modo che indichi il .ytd che contiene le texture. Per un'auto, correggi il txdName in vehicles.meta.

La texture è in un altro .ytd

Spostala nel .ytd del modello, oppure fai di quell'altro .ytd un genitore in un gtxd.meta. Texture Dedupe lo scrive per te quando condivide texture tra dizionari. In ogni caso il fxmanifest deve caricarlo:

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

Rosa o sfocata solo da vicino

Guarda Size and format (dimensione e formato) nello stesso rapporto. Le texture elencate senza mipmap possono essere ricostruite in un colpo con l'Asset Optimizer.

Poi riconnettiti, non limitarti a riavviare

I giocatori conservano il .ytd già scaricato finché non si riconnettono: riavviare la risorsa non basta per vedere una texture corretta. Dopo una correzione, trascina di nuovo la risorsa nel check, poi rientra nel server per vederla in gioco.

Domande

Svuotare la cache di FiveM risolve le texture bianche o viola?
Non quando una texture manca nella risorsa: la cache non può aggiungere una texture che nessuno invia. Trova prima quella mancante. Dopo aver modificato un .ytd, invece, i giocatori devono riconnettersi per riceverlo.
Perché solo una parte del mio modello è bianca?
Ogni parte di un modello ha le proprie texture. Vengono disegnate senza solo le parti le cui texture non sono state trovate da nessuna parte, quindi un'auto può avere una vernice perfetta e sedili bianchi.
Una texture può venire dal gioco invece che dalla mia risorsa?
Sì. Un modello può usare texture dai dizionari del gioco, come vehshare per vetri e ruote. Missing Textures Check le mostra come From the game o Game shared, non come mancanti.

Lo strumento per questo

Missing Textures Check

Trascina la tua risorsa e vedi le texture di ogni modello, dove è stata trovata ciascuna e una soluzione per quelle che non si trovano da nessuna parte.

Apri Missing Textures Check

Utile anche qui: Texture Editor · Asset Optimizer

Ogni strumento è gratis da provare, con 5 esportazioni al giorno. Accedi con Discord per usarli.