quarta-feira, 16 de outubro de 2019

IMPORTANTE! Evitem mods com texturas acima de 2048 pixels e sons em mp3 para motor e loops!

AVISO IMPORTANTE! TL;DR: NÃO USEM IMAGENS DE MAIS DE 2048 PIXELS PARA MODS NO ANDROID (NEM SKINS) E EVITEM SONS DE MOTOR OU BUZINA EM MP3, PREFIRA WAV SEM COMPRESSÃO.


Em detalhes: Depois de meses de dores de cabeça e incansáveis pesquisas, chegamos a uma conclusão, confirmada pela prática! EVITEM TEXTURAS COM DIMENSÕES ACIMA DE 2048 PIXELS NOS MODS PARA CELULAR! No PC é tranquilo usar 4096 ou um pouco mais (vai depender da placa de vídeo também, né?!). A maioria das GPUs de smartphones da atualidade aceita texturas de no máximo 2k pixels em cada dimensão (largura ou altura). Em alguns modelos imagens maiores até podem ser usadas, porém no geral elas deixam o jogo extremamente instável, mesmo em aparelhos recentes e intermediários avançados ou topos de linha. Nos últimos meses temos visto vários relatos de bugs anormais, e em boa parte deles, a solução foi simples: removendo ou reduzindo o tamanho das texturas o sintoma sumiu completamente! Tela tremendo ou piscando (exceto quando for do floating origin, por dirigir sem parar por vários km, isso não tem nada a ver), gráficos corrompidos, crashes constantes... Especialmente ao jogar com alguns mods específicos ou com algumas skins do tráfego vindas do PC. Além de não poder lotar de imagens de skins do tráfego por falta de espaço na RAM (celular não é PC, com RAM generosa + memória virtual grande), tem essa do tamanho em pixels. Demorou para confirmarmos a suspeita, foram centenas de relatos e testes, mas enfim foi confirmada como limitação real de alguns fabricantes de GPUs mobile. Independente da engine. Aos criadores de mods: nas versões para celulares, por favor, EVITEM texturas com dimensões maiores que 2048 pixels. Elas não serão mais carregadas no Android a partir da próxima versão. Quem já tem mods assim precisará redimensionar as texturas ou baixar uma versão atualizada (provavelmente a comunidade nos grupos ajudará com isso). Se você faz um mod detalhado para PC e um lite para celular, pode indicar o lite nesse caso. Ou se for viável, pode fazer um mod só com tudo no máximo a 2048x2048. É sempre bom manter as dimensões em texturas para jogos com potências de 2, como 2048x2048, 1024x1024 etc. Não precisa ser quadrada: algumas texturas podem ter outras dimensões, mantendo as potências de 2: 1024x128, 2048x32 etc, 256x512 etc. Vai depender da que mais se aproximar com o objeto desejado. Parece que o simples fato de usar números "quebrados" (não potências de 2, nesse caso) também traz problemas em algumas GPUs de celular, apesar disso ainda não ser conclusivo.

Potências de 2 para as dimensões recomendadas: 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 (até aqui no máximo para celular), 4096 (PC).


Se for uma imagem com cor sólida só para dar cor, pode usar 4x4 (bem pequenininha mesmo, usando o mínimo de memória possível). Tem gente que coloca uma cor lisa usando 512x512, é um baita desperdício de recursos.

OTIMIZE QUANDO POSSÍVEL: texturas de skin são importantes, painel etc, elas podem ser grandes. Texturas de bancos, detalhes internos menos importantes, rodas etc, podem ser menores. Dá para fazer um bom trabalho com texturas em 256x256 ou 512x512 para alguns detalhes. Quanto menos texturas, e menores elas forem, melhor. Deixe as texturas grandes para áreas mais importantes, caso das skins que precisam ter logotipos e textos legíveis. Aos jogadores: EVITEM lotar de skins do tráfego, skins geralmente são grandes, se colocar um monte você ocupa toda a largura de banda entre o armazenamento, RAM, CPU e GPU com elas, deixando o jogo lento e mais suscetível a crashes. Se possível, use versões reduzidas das skins para o tráfego. Um monte de problemas encontrados nem eram do jogo mas das imagens mesmo. Nos nativos não ocorriam porque a engine já redimensiona todas para no máximo 2048 pixels pro celular. Isso se aplica aos mods de placas, letreiros e qualquer outra imagem que o jogo venha carregar também. Bônus: EVITEM ÁUDIOS EM MP3 NOS MODS, especialmente em loops! Motor, buzina... Prefira WAV. Os áudios em MP3 não tocam de forma regular em alguns celulares quando importados no jogo. É um processo técnico que não depende diretamente da gente, usamos assets de terceiros para carregar os áudios dos mods, pois a Unity não carrega todos os formatos nativamente. Então prefiram wav sem compressão, por favor. Mesmo que fiquem um pouco maior, têm se mostrado mais estáveis e garantidos.

Nenhum comentário:

Postar um comentário