• Jogos
  • Setor
  • Recursos
  • Comunidade
  • Aprendizado
  • Suporte
Desenvolvimento
Engine do Unity
Crie jogos 2D e 3D para qualquer plataforma
BaixarPlanos e preços
Monetização
Compra no aplicativo (IAP)
Descubra e gerencie IAP em todas as lojas
Mediation
Maximize a receita e otimize a monetização
Qualidade do anúncio
Proteja a experiência do usuário do seu aplicativo
Tapjoy
Construa lealdade do usuário a longo prazo
Todos os produtos de monetização
Aquisição de usuários
Aquisição de usuários
Seja descoberto e adquira usuários móveis
Unity Vector AI
Conecte jogadores com os jogos certos
Aura publicidade no dispositivo
Alcance usuários no dispositivo no pico de engajamento
Todos os produtos de crescimento
Casos de uso
Colaboração 3D
Construa e revise projetos 3D em tempo real
Treinamento imersivo
Treine em ambientes imersivos
Experiências do cliente
Crie experiências interativas em 3D
Todas as soluções da indústria
Setores
Manufatura
Alcançar excelência operacional
Varejo
Transformar experiências em loja em experiências online
Automotivo
Elevar a inovação e as experiências dentro do carro
Todos os setores
Biblioteca técnica
Documentação
Manuais do usuário oficiais e referências de API
Ferramentas de desenvolvedor
Versões de lançamento e rastreador de problemas
Roteiro
Revisar recursos futuros
Glossário
Biblioteca de termos técnicos
Insights
Estudos de caso
Histórias de sucesso do mundo real
Guias de melhores práticas
Dicas e truques de especialistas
Todos os recursos
Novidades
Blog
Atualizações, informações e dicas técnicas
Notícias
Notícias, histórias e centro de imprensa
Central da Comunidade
Discussões
Discutir, resolver problemas e conectar
Eventos
Eventos globais e locais
Histórias da comunidade
Made with Unity
Mostrando criadores do Unity
Transmissões ao vivo
Junte-se a desenvolvedores, criadores e insiders
Prêmios Unity
Celebrando criadores do Unity em todo o mundo
Para todos os níveis
Unity Learn
Domine habilidades do Unity gratuitamente
Treinamento profissional
Aprimore sua equipe com treinadores do Unity
É iniciante no Unity?
Conceitos básicos
Inicie seu aprendizado
Caminhos Essenciais do Unity
É iniciante no Unity? Comece sua jornada
Tutoriais
Dicas práticas e melhores práticas
Educação
Para estudantes
Impulsione sua carreira
Para educadores
Impulsione seu ensino
Concessão de Licença Educacional
Leve o poder do Unity para sua instituição
Certificações
Prove sua maestria em Unity
Opções de suporte
Obter ajuda
Ajudando você a ter sucesso com Unity
Planos de sucesso
Alcance seus objetivos mais rápido com suporte especializado
Perguntas frequentes
Respostas para perguntas comuns
Entre em contato conosco
Conecte-se com nossa equipe
Planos e preços
Idioma
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Moeda
Comprar
  • Produtos
  • Unity Ads
  • Assinatura
  • Unity Asset Store
  • Revendedores
Educação
  • Estudantes
  • Educadores
  • Instituições
  • Certificação
  • Learn
  • Programa de Desenvolvimento de Habilidades
Baixar
  • Unity Hub
  • Arquivo de download
  • Programa beta
Unity Labs
  • Laboratórios
  • Publicações
Recursos
  • Plataforma de aprendizado
  • Comunidade
  • Documentação
  • Unity QA
  • Perguntas frequentes
  • Status dos Serviços
  • Estudos de caso
  • Made with Unity
Unity
  • Nossa empresa
  • Boletim informativo
  • Blog
  • Eventos
  • Carreiras
  • Ajuda
  • Imprensa
  • Parceiros
  • Investidores
  • Afiliados
  • Segurança
  • Impacto social
  • Inclusão e Diversidade
  • Entre em contato conosco
Copyright © 2025 Unity Technologies
  • Informações legais
  • Política de Privacidade
  • Cookies
  • Não venda nem compartilhe minhas informações pessoais

“Unity”, logotipos Unity e outras marcas comerciais de Unity são marcas comerciais ou marcas comerciais registradas da Unity Technologies ou de suas afiliadas (mais informações aqui). Outros nomes e marcas são marcas comerciais de seus respectivos detentores.

Hero background image

Dicas de otimização móvel para artistas técnicos - Parte I

O que você obterá desta página: Dicas para otimizar recursos de arte, para desenvolvedores de jogos para celular que trabalham com Unity. Este é o primeiro de dois artigos sobre a otimização da arte para jogos para celular.

Você pode encontrar muitas outras dicas de otimização para celular neste este abrangente e-book e neste curso do Unity Learn sobre Otimização de arte 3D para aplicativos móveis.

  • Foco na silhueta
  • Use o nível de detalhe (LOD)
  • Combine malhas e oculte objetos
  • Importação de modelos
  • Tamanhos de textura e espaço de cores
  • Faça detalhes na textura
  • Texturas em escala de cinza coloridas
  • Filtragem de textura
  • Tamanhos de textura e espaço de cores
  • Comprimir texturas
  • Use canais de textura para agrupar várias texturas em uma só
  • Desembrulhamento de UV
Renderização em 3D de um personagem robô

Foco na silhueta

Tanto os polígonos quanto os vértices são computacionalmente caros em plataformas móveis. Coloque polígonos em áreas que realmente contribuam para a qualidade visual do aplicativo, para que você não desperdice seu orçamento de processamento.

Devido ao tamanho pequeno da tela da maioria dos dispositivos móveis e à localização dos objetos 3D no seu aplicativo, muitos detalhes de pequenos triângulos em um objeto 3D podem não ser visíveis. Isso significa que você deve se concentrar em formas e partes grandes que contribuem para a silhueta do objeto, em vez de pequenos detalhes que podem não ser visíveis. Use texturas e mapas normais para obter detalhes finos.

Exemplos de LOD

Use o nível de detalhe (LOD)

À medida que os objetos se distanciam, o Level of Detail (LOD) pode ajustá-los ou trocá-los para usar malhas mais simples com materiais e shaders mais simples para refinar o desempenho da GPU.

Mais dicas de preparação para o LOD

  • Remova mais polígonos em áreas mais planas e não use áreas densas de triângulos em objetos com um LOD mais baixo.
  • O LOD também pode ser aplicado à complexidade do sombreador. O sombreador e o material podem ser otimizados para objetos 3D que estão mais distantes. Por exemplo, é possível reduzir o número de Texturas que um objeto usa à medida que ele se afasta da câmera.
  • Muitas vezes, vale a pena reduzir em 50% o número de triângulos entre cada nível de LOD.
  • Verifique a aparência do LOD em diferentes distâncias da câmera.
  • A topologia limpa é essencial para personagens e objetos que são deformados ou animados.
  • Não fique obcecado em ter uma topologia perfeita. O jogador ou usuário final não verá o wireframe de um modelo 3D depois que você aplicar uma textura e um material.

Quando não usar o LOD

O LOD não é adequado para todas as situações. Por exemplo, evite usá-lo em um aplicativo em que a visualização da câmera e os objetos sejam estáticos ou em que o objeto já esteja usando uma contagem baixa de polígonos. O LOD tem uma sobrecarga de memória e um tamanho de arquivo maior porque os dados da malha devem ser salvos para que possam ser usados em tempo real.

Oclusão em Unity

Combine malhas e oculte objetos

Você pode combinar várias malhas em uma para reduzir o número de draw calls necessárias para a renderização. Para aplicar essa técnica, crie um GameObject vazio na hierarquia e torne-o o pai das malhas que você deseja combinar; em seguida, anexe um script que implemente o método Mesh.CombineMeshes() no GameObject pai.

Usar o Occlusion Culling

Os objetos ocultos atrás de outros objetos ainda podem ser renderizados e custar recursos. Use Occlusion Culling para descartá-los.

Enquanto a seleção de frustum fora da visão da câmera é automática, a seleção de oclusão é um processo de cozimento. Basta marcar seus objetos como Static Occluders ou Static Occludees e, em seguida, fazer o bake por meio da caixa de diálogo Window > Rendering > Occlusion Culling . Embora não seja necessário para todas as cenas, a seleção pode melhorar o desempenho em muitos casos. Confira o tutorial Working with Occlusion Culling para obter mais informações.

Importação de modelos para o Unity

Importação de modelos

Aqui estão algumas boas dicas que você deve ter em mente ao importar seus modelos.

  • Tipo de animação: Ao importar uma malha FBX que não contenha dados de animação, defina o tipo de animação como None (Nenhum) na guia Rig (Equipamento) das Import Settings (Configurações de importação). Quando você colocar sua malha na hierarquia, essa configuração garantirá que o Unity não gere um componente Animator não utilizado.
  • Desativar rigs e BlendShapes: Se sua malha não precisar de animação esquelética ou de forma de mistura, desative essas opções sempre que possível.
  • Desativar normais e tangentes: Se você tiver certeza absoluta de que o material da malha não precisará de normais ou tangentes, desmarque essas opções para economizar mais.
  • Configurações de importação Se o modelo não for modificado em tempo de execução, desative a opção Read/Write Enabled (Ativação de leitura/gravação) na guia Model (Modelo) das Import Settings (Configurações de importação) para evitar que uma cópia seja criada na memória.
  • Batching estático/dinâmico: O Static Batching é uma técnica de otimização comum que reduz o número de chamadas de desenho. É ideal para objetos compostos por um grande número de vértices que não se movem, giram ou escalam durante a renderização. Marque Static no Inspetor que contém o Mesh Renderer do modelo de destino.
Comparação de compressão de textura

Tamanhos de textura e espaço de cores

As texturas podem ter tamanhos diferentes. A redução do tamanho das texturas que exigem menos detalhes ajudará a reduzir a largura de banda. Por exemplo, uma textura difusa pode ser definida como 1024 x 1024, e o mapa de rugosidade/metálico relacionado pode ser definido como 512 x 512. Faça o possível para reduzir seletivamente o tamanho da textura e sempre verifique se algum aspecto visual foi degradado depois.

A maioria dos softwares de texturização trabalha com texturas e as exporta usando o espaço de cores sRGB.

Recomendamos que você use texturas difusas no espaço de cores sRGB. As texturas que não são processadas como cores não devem estar no espaço de cores sRGB. Exemplos dessas texturas incluem mapas metálicos, de rugosidade e normais, já que os mapas são usados como dados em vez de cores. O uso do sRGB nesses mapas resultará em um visual incorreto no material.

Observação: Certifique-se de que a configuração sRGB (textura de cor) na janela Inspector não tenha marcações ao lado de rugosidade, especular, mapas normais ou itens semelhantes.

Detalhes na textura das telhas do telhado

Faça detalhes na textura

Elementos como oclusão de ambiente e pequenos realces especulares podem ser incorporados e adicionados à textura difusa. Essa abordagem significa que você não precisa depender muito de shaders e recursos do Unity caros do ponto de vista computacional para obter realces especulares e oclusão de ambiente.

Demonstração da textura em escala de cinza matizada

Texturas em escala de cinza coloridas

Sempre que possível, use texturas em escala de cinza que permitam a coloração no sombreador. Isso economiza memória de textura ao custo de criar um sombreador personalizado para realizar a coloração. Seja seletivo com essa técnica, pois nem todos os objetos ficam bons com esse método. É mais fácil aplicar isso a um objeto que tenha uma cor uniforme.

Comparação bilinear e trilinear de filtragem de textura

Filtragem de textura

A filtragem de textura geralmente melhora a qualidade da textura em uma cena, mas também pode prejudicar o desempenho, pois obter uma melhor qualidade de textura geralmente exige mais processamento. A filtragem de textura pode, às vezes, ser responsável por até metade do consumo de energia da GPU. A escolha de filtros de textura mais simples e mais adequados pode ajudar a reduzir a demanda de energia de um aplicativo.

  • Filtragem mais próxima/ponto: Essa é a forma mais simples e menos intensa do ponto de vista computacional de filtragem de textura, embora, quando vista de perto, essa filtragem possa fazer com que as texturas pareçam em blocos.
  • Filtragem bilinear: As amostras de filtragem bilinear e a média dos texels vizinhos para colorir os pixels em uma textura. Ao contrário da filtragem mais próxima, a filtragem bilinear resulta em pixels com menos blocos, pois os pixels têm um gradiente suave. Um efeito colateral da filtragem bilinear é que as texturas parecerão borradas quando vistas de perto.
Sprite Atlas no editor Unity

Tamanhos de textura e espaço de cores

A maior parte de sua memória provavelmente será destinada a texturas, portanto, as configurações de importação aqui são essenciais. Em geral, tente seguir estas diretrizes ao importar seus ativos.

  • Diminuir o tamanho máximo: Use as configurações mínimas que produzam resultados visualmente aceitáveis. Isso não é destrutivo e pode reduzir rapidamente sua memória de textura.
  • Use potências de dois (POT): O Unity requer dimensões de textura POT para formatos de compactação de textura móvel (PVRCT ou ETC).
  • Atlas suas texturas: A colocação de várias texturas em uma única textura pode reduzir as chamadas de desenho e acelerar a renderização. Use o Unity Sprite Atlas ou o TexturePackerto,de terceiros, para atlasizar suas texturas.
  • Desative a opção Ativado para leitura/gravação: Quando ativada, essa opção cria uma cópia na memória endereçável à CPU e à GPU, dobrando o espaço de memória da textura. Na maioria dos casos, mantenha essa opção desativada. Se você estiver gerando texturas em tempo de execução, imponha isso por meio do site Texture2D. Aplique, passando em makeNoLongerReadable definido como true.
  • Desativar mipmaps desnecessários: Os mipmaps não são necessários para texturas que permanecem em um tamanho consistente na tela, como sprites 2D e gráficos de interface do usuário. Deixe os mipmaps ativados para modelos 3D com distância variável da câmera.
  • Use a filtragem bilinear: Isso ajudará a encontrar um equilíbrio entre desempenho e qualidade visual.
  • Use a filtragem trilinear de forma seletiva: Exige mais largura de banda de memória do que a filtragem bilinear.
  • Use a filtragem bilinear e 2x anisotrópica: Escolha essas opções em vez de trilinear e 1x anisotrópico, para melhorar a aparência e o desempenho.
  • Mantenha o nível anisotrópico baixo: Somente use um nível superior a 2 para ativos críticos do jogo.
Comparação de textura compactada

Comprimir texturas

Use a compressão de textura escalável adaptável (ATSC) para iOS e Android. A grande maioria dos jogos em desenvolvimento tende a ter como alvo dispositivos de especificações mínimas que suportam a compactação ATSC. As únicas exceções são:

  • Jogos iOS direcionados a dispositivos A7 ou inferiores (por exemplo, iPhone 5, 5S, etc.): Usar PVRTC
  • Jogos para Android direcionados a dispositivos anteriores a 2016: UseEricsson Texture Compression (ETC2)
Canais de textura

Use canais de textura para agrupar várias texturas em uma só

O empacotamento de canais de textura ajuda a economizar memória de textura, pois é possível colocar três mapas em uma única textura. Isso significa menos amostradores de textura. Essa abordagem é comumente usada para agrupar rugosidade, suavidade e/ou metálico em uma única Textura. Ele também pode ser aplicado a qualquer máscara de textura. Por exemplo, você também pode armazenar a máscara alfa. As imagens com transparências podem ocupar mais espaço na memória, pois exigem um formato de 32 bits, mas, ao usar o canal livre para armazenar a máscara alfa, você pode manter a textura difusa em 16 bits e reduzir efetivamente o tamanho do arquivo pela metade.

Use o canal verde para armazenar a máscara mais importante. O canal verde geralmente tem mais bits, pois nossos olhos são mais sensíveis ao verde e menos sensíveis ao azul.

Textura UV manual no Probuilder

Desembrulhamento de UV

Um mapa UV projeta texturas 2D na superfície de um modelo 3D. O desembrulhamento de UV é o processo de criação de um mapa de UV.

  • É uma prática recomendada manter as ilhas UV, as unidades individuais de uma Textura não embrulhada, o mais retas possível para facilitar o empacotamento das ilhas UV e reduzir o desperdício de espaço. Um UV reto também ajuda a evitar o efeito de escada nas Texturas.
  • Em plataformas móveis, o espaço de textura é limitado. Dessa forma, o tamanho da textura é geralmente menor do que em um console ou PC. Um bom empacotamento de UV garante que você obtenha o máximo de resolução de suas texturas.
  • Considere a possibilidade de ter um UV ligeiramente distorcido, mantendo o UV reto para obter texturas de melhor qualidade.
  • Em alguns casos, você precisará exagerar e destacar as bordas e o sombreamento para melhorar a legibilidade da forma. Como as plataformas móveis geralmente usam texturas menores, pode ser difícil capturar todos os detalhes necessários em um espaço pequeno.
  • Para aplicativos móveis, use menos texturas e combine todos os detalhes extras em uma textura. Isso é importante porque é melhor que alguns detalhes sejam incorporados à própria textura difusa para garantir que esses detalhes sejam visíveis nas telas pequenas dos celulares.

Você gostou deste conteúdo?

Sim!

Quero mais

Meh.

Poderia ser melhor