Textures, fichiers et packs · 3 min de lecture
Ajouter des mipmaps à un YTD (textures roses ou scintillantes)
Lire en: English · Español · Deutsch · Português · Italiano · Polski · Türkçe · Русский
Une texture vient en général avec des mipmaps : des copies plus petites d'elle-même, chacune de moitié la taille de la précédente. Le jeu affiche la texture complète de près, et les copies plus petites de loin, ce qui coûte moins cher et paraît plus lisse. Certains exporteurs n'enregistrent les textures qu'à leur niveau de taille pleine, et dans FiveM cela peut donner un modèle rose ou flou de près, ou un modèle qui scintille de loin.
Pourquoi une texture sans mipmaps pose problème
Presque tout dans le jeu a des mipmaps. Nous avons parcouru 1 500 fichiers .ytd de GTA V : sur leurs 3 534 textures de couleur, seules 65 n'ont qu'un seul niveau, et seules 2 d'entre elles dépassent 64 pixels, toutes deux des insignes de véhicules. Les textures que le jeu garde à un seul niveau le font exprès : palettes de teintes, render targets de scripts (script_rt_…), cartes d'eau, insignes et certaines images d'interface.
Une texture sans niveaux plus petits ne laisse pas au jeu de moyen de la réduire. Le résultat le plus probable, quand la mémoire de textures manque, est qu'elle apparaît rose ou floue, ou surgit de près, et qu'elle scintille de loin. C'est ce que nous avons observé sur le ped addon d'un client : rose de près en jeu, avec toutes les textures en place. Sa texture de corps était une DXT5 de 2048 × 2048 enregistrée avec un seul niveau.
Les mipmaps coûtent environ un tiers de mémoire en plus par rapport au seul niveau pleine taille. C'est le prix normal, que paient toutes les textures du jeu.
Trouver les textures sans mipmaps
Trois outils les listent, selon la même règle (un seul niveau, plus grand que 64 pixels, et pas un des types que le jeu garde à un seul niveau) :
- Missing Textures Check : une ressource entière ; sa section Size and format liste les textures sans mipmaps.
- Asset Optimizer : les fichiers que vous déposez, avec « N textures with no mipmaps » pour chacun.
- Model Inspector : un modèle et son
.ytd, avec une section No mipmaps.
Reconstruire avec des mipmaps
- Déposez le
.ytddans l'Asset Optimizer, avec les modèles qui l'utilisent (.ydr,.yft,.ydd). Avec les modèles présents, les normal maps sont reconnues d'après la façon dont les modèles les utilisent. - Laissez Add missing mipmaps (ajouter les mipmaps manquants) coché : il est activé par défaut.
- Choisissez un Largest texture size (taille maximale de texture). Les textures au-dessus de cette taille sont ramenées à celle-ci ; les autres gardent leur taille (arrondie à une puissance de deux) et reçoivent seulement leurs mipmaps.
- Cliquez sur Download the lighter files (.zip) et remettez les fichiers dans
stream/sous les mêmes noms. - Lisez What was done to each texture (ce qui a été fait à chaque texture) : une ligne par texture, avec sa taille et son format avant et après.

.ytd de test avec six textures enregistrées sans mipmaps, après l'exécution : chacune refaite avec ses niveaux.Chaque texture reconstruite reçoit tous les niveaux jusqu'à 4 pixels. Les textures de couleur compressées passent en DXT1 quand aucun pixel n'est transparent, et en DXT5 quand certains le sont (les textures non compressées restent non compressées) ; les normal maps restent des normal maps, renormalisées à chaque niveau. Les palettes, les render targets et les autres types à un seul niveau ne sont pas touchés, et les formats que l'outil ne peut pas reconstruire (BC7, par exemple) restent tels quels, avec une remarque.
Le Texture Editor n'est pas l'outil pour cela : il réduit et remplace des textures, mais n'ajoute pas de mipmaps à une texture que vous laissez telle quelle. Une texture que vous y remplacez revient avec des mipmaps.
Vérifier en jeu
Les joueurs gardent l'ancien .ytd jusqu'à leur reconnexion : rejoignez donc le serveur plutôt que de simplement redémarrer la ressource. Regardez ensuite le modèle de près et de loin.
Questions
- Toutes les textures doivent-elles avoir des mipmaps ?
- Presque toutes celles de GTA V en ont. Les exceptions sont les textures que le jeu garde à un seul niveau exprès (palettes de teintes, render targets de scripts, cartes d'eau), et les outils les laissent telles quelles.
- Les mipmaps alourdissent-ils mes fichiers ?
- D'environ un tiers. Si cela fait dépasser à un fichier l'avertissement de 16 MiB de FiveM, réduisez en même temps la taille maximale de texture.

L'outil pour cela
Asset Optimizer
Déposez vos fichiers de stream : les textures sans mipmaps les retrouvent, les trop grandes sont ramenées à la taille choisie, et chaque fichier garde son nom.
Ouvrir Asset OptimizerAussi utile ici: Missing Textures Check · Model Inspector

