Texturas, arquivos e packs · 3 min de leitura
Adicionar mipmaps a um YTD (texturas rosas ou piscando de perto)
Ler em: English · Español · Français · Deutsch · Italiano · Polski · Türkçe · Русский
Uma textura normalmente vem com mipmaps: cópias menores dela mesma, cada uma com metade do tamanho da anterior. O jogo desenha a textura completa de perto e as cópias menores de longe, o que custa menos e fica mais suave. Alguns exportadores salvam as texturas só no nível de tamanho completo, e no FiveM isso pode aparecer como um modelo rosa ou borrado de perto, ou um modelo que pisca de longe.
Por que uma textura sem mipmaps dá problema
Quase tudo no jogo tem mipmaps. Analisamos 1.500 arquivos .ytd do GTA V: das 3.534 texturas de cor deles, só 65 têm um único nível, e só 2 dessas são maiores que 64 pixels, ambas emblemas de veículos. As texturas que o jogo mantém em um só nível fazem isso de propósito: paletas de tint, render targets de scripts (script_rt_…), mapas de água, emblemas e algumas imagens de interface.
Uma textura sem níveis menores não dá ao jogo como reduzi-la. O resultado mais provável, quando a memória de textura está curta, é que ela apareça rosa ou borrada, ou surja de repente de perto, e pisque de longe. Foi isso que vimos no ped addon de um cliente: rosa de perto no jogo, com todas as texturas no lugar. A textura do corpo dele era uma DXT5 de 2048 × 2048 salva com um único nível.
Os mipmaps custam cerca de um terço a mais de memória do que só o nível de tamanho completo. É o preço normal, e todas as texturas do próprio jogo o pagam.
Encontre as texturas sem mipmaps
Três ferramentas as listam, pela mesma regra (um único nível, maior que 64 pixels, e não um dos tipos que o jogo mantém em um nível só):
- Missing Textures Check: um recurso inteiro; a seção Size and format lista as texturas sem mipmaps.
- Asset Optimizer: os arquivos que você arrasta, com "N textures with no mipmaps" para cada um.
- Model Inspector: um modelo e o
.ytddele, com uma seção No mipmaps.
Reconstrua com mipmaps
- Arraste o
.ytdpara o Asset Optimizer, junto com os modelos que o usam (.ydr,.yft,.ydd). Com os modelos presentes, os normal maps são reconhecidos pela forma como os modelos os usam. - Deixe Add missing mipmaps (adicionar os mipmaps que faltam) marcado: ele já vem ativado.
- Escolha um Largest texture size (tamanho máximo da textura). Texturas acima dele são reduzidas até ele; as demais mantêm o tamanho (arredondado para potência de dois) e só ganham os mipmaps.
- Clique em Download the lighter files (.zip) e coloque os arquivos de volta em
stream/com os mesmos nomes. - Leia What was done to each texture (o que foi feito em cada textura): uma linha por textura, com tamanho e formato antes e depois.

.ytd de teste com seis texturas salvas sem mipmaps, depois da execução: cada uma refeita com os seus níveis.Cada textura refeita ganha todos os níveis até 4 pixels. Texturas de cor comprimidas viram DXT1 quando nenhum pixel é transparente e DXT5 quando algum é (as não comprimidas continuam sem compressão); normal maps continuam normal maps, normalizados de novo em cada nível. Paletas, render targets e os outros tipos de um nível são deixados de lado, e formatos que a ferramenta não consegue refazer (BC7, por exemplo) ficam como estão, com uma nota.
O Texture Editor não é a ferramenta para isso: ele reduz e substitui texturas, mas não adiciona mipmaps a uma textura que você deixa como está. Uma textura substituída ali volta com mipmaps.
Confira no jogo
Os jogadores mantêm o .ytd antigo até se reconectarem, então entre de novo no servidor em vez de só reiniciar o recurso. Depois olhe o modelo de perto e de longe.
Perguntas
- Toda textura deveria ter mipmaps?
- Quase todas no GTA V têm. As exceções são as texturas que o jogo mantém em um nível de propósito (paletas de tint, render targets de scripts, mapas de água), e as ferramentas as deixam como estão.
- Os mipmaps deixam meus arquivos maiores?
- Cerca de um terço. Se isso empurrar um arquivo acima do aviso de 16 MiB do FiveM, reduza ao mesmo tempo o tamanho máximo da textura.

A ferramenta para isso
Asset Optimizer
Arraste seus arquivos de stream: as texturas sem mipmaps os recebem de volta, as grandes demais são reduzidas para o tamanho que você escolher, e cada arquivo mantém o nome.
Abrir Asset OptimizerTambém útil aqui: Missing Textures Check · Model Inspector

