• 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

Otimização de desempenho para gráficos de alta qualidade em PC e console

Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.
Clique aqui.

Este é o segundo de uma série de artigos que descompacta dicas de otimização para seus projetos Unity. Use-os como um guia para rodar em taxas de quadros mais altas com menos recursos. Depois de experimentar essas melhores práticas, não deixe de conferir as outras páginas da série:

  • Configure seu projeto Unity para um desempenho mais forte
  • Gerenciando o uso da GPU para jogos de PC e console
  • Programação avançada e arquitetura de código
  • Desempenho de física aprimorado para jogabilidade suave

Veja nossos últimos guias de otimização para desenvolvedores e artistas do Unity 6:

  • Otimize o desempenho do seu jogo para dispositivos móveis, XR e para a Web no Unity
  • Otimize o desempenho do seu jogo para consoles e PCs no Unity

As ferramentas gráficas do Unity permitem que você crie gráficos otimizados em qualquer estilo, em uma variedade de plataformas – de dispositivos móveis a consoles de alta qualidade e desktop. Esse processo geralmente depende da sua direção artística e do pipeline de renderização, então, antes de começar, recomendamos revisar os Pipelines de renderização disponíveis.

  • Comprometa-se com um pipeline de renderização
  • Renderização direta
  • Renderização diferida
  • Gráficos de Shader
  • Remover configurações de shader integradas
  • Remover variantes de shader
  • Suavizar bordas com anti-aliasing
  • Pós-processamento espaço-temporal
  • Assar lightmaps
  • Minimizar Probes de Reflexão
  • Desativar sombras
  • Substituir um efeito de shader
  • Usar Camadas de Luz
  • Usar o Lightmapper da GPU

Comprometa-se com um pipeline de renderização

Otimizar a iluminação da cena não é uma ciência exata, mas sim um processo iterativo. Envolve tentativa e erro e o processo geralmente depende da direção artística e do pipeline de renderização.

Antes de começar a iluminar suas cenas, você precisará escolher um dos pipelines de renderização disponíveis. Um pipeline de renderização realiza uma série de operações que levam o conteúdo de uma cena para exibi-lo na tela.

Unity fornece três pipelines de renderização pré-construídos com diferentes capacidades e características de desempenho, ou você pode criar o seu próprio.

1. O Pipeline de Renderização Universal (URP) é um Pipeline de Renderização Scriptável (SRP) pré-construído. URP fornece fluxos de trabalho amigáveis para artistas para criar gráficos otimizados em uma variedade de plataformas, desde dispositivos móveis até consoles e PCs de alto desempenho. URP é o sucessor do Pipeline de Renderização Integrado, fornecendo recursos de gráficos e renderização indisponíveis com o pipeline mais antigo. Para manter o desempenho, ele faz concessões para reduzir o custo computacional de iluminação e sombreamento. Escolha URP se você quiser alcançar a maioria das plataformas-alvo, incluindo dispositivos móveis e VR.

Obtenha uma visão geral completa das capacidades do URP no e-book Introdução ao Pipeline de Renderização Universal para criadores avançados do Unity (edição Unity 6).

2. O Pipeline de Renderização de Alta Definição (HDRP) é outro SRP pré-construído projetado para gráficos de ponta e alta fidelidade. HDRP foca em hardware de alto desempenho, como PC, Xbox e PlayStation. É o pipeline de renderização recomendado para criar gráficos fotorealistas com o mais alto nível de realismo em seu jogo, com iluminação avançada, reflexos e sombras. O HDRP usa iluminação e materiais baseados fisicamente e suporta ferramentas de depuração aprimoradas.

Obtenha uma visão completa das capacidades do HDRP no e-book Iluminação e ambientes no Pipeline de Renderização de Alta Definição.

3. O Pipeline de Renderização Integradoé o pipeline de renderização mais antigo e de uso geral da Unity, com personalização limitada. Este pipeline continuará a ser suportado ao longo do ciclo Unity 6.x.

Demonstração Unity_Time Ghost
Uma imagem da demonstração de alto nível da Unity, Time Ghost

Renderização direta

Na renderização forward, a placa gráfica projeta a geometria e a divide em vértices. Esses vértices são ainda mais divididos em fragmentos, ou pixels, que são renderizados na tela para criar a imagem final.

O pipeline passa cada objeto, um de cada vez, para a API gráfica. A renderização forward tem um custo para cada luz. Quanto mais luzes em sua cena, mais tempo a renderização levará.

O renderizador forward do Pipeline Integrado desenha cada luz em uma passagem separada por objeto. Se você tiver várias luzes atingindo o mesmo GameObject, isso pode criar um grande overdraw, onde áreas sobrepostas precisam desenhar o mesmo pixel mais de uma vez. Minimize o número de luzes em tempo real para reduzir o overdraw.

Em vez de renderizar uma passagem por luz, o URP elimina as luzes por objeto. Isso permite que a iluminação seja computada em uma única passagem, resultando em menos chamadas de desenho em comparação com o renderizador forward do Pipeline Integrado.

Forward +

Renderização Forward+ melhora a renderização Forward padrão ao eliminar luzes espacialmente em vez de por objeto. Isso aumenta o número total de luzes que podem ser utilizadas na renderização de um quadro. Na renderização diferida, suporta a API Native RenderPass, permitindo que os passes G-buffer e de iluminação sejam combinados em um único passe de renderização.

Ilustração de como funciona a renderização 'forward'
Ilustração de como funciona a renderização 'forward'

Renderização diferida

Na sombreamento diferido, a iluminação não é calculada por objeto.

O sombreamento diferido, em vez disso, adia o cálculo da iluminação - para uma fase posterior. O sombreamento diferido usa dois passes.

No primeiro passe, ou o passe de geometria G-Buffer, o Unity renderiza os GameObjects. Este passe recupera vários tipos de propriedades geométricas e as armazena em um conjunto de texturas. As texturas do G-buffer podem incluir:

  • cores difusas e especulares
  • suavidade da superfície
  • oclusão
  • normais do espaço mundial
  • emissão + ambiente + reflexões + lightmaps

No segundo passe, ou passe de iluminação, o Unity renderiza a iluminação da cena com base no G-buffer. Imagine iterar sobre cada pixel e calcular as informações de iluminação com base no buffer em vez dos objetos individuais. Assim, adicionar mais luzes que não projetam sombras no sombreamento diferido não acarreta a mesma perda de desempenho que na renderização 'forward'.

Embora escolher um caminho de renderização não seja uma otimização em si, pode afetar como você otimiza seu projeto. As outras técnicas e fluxos de trabalho nesta seção podem variar dependendo de qual pipeline de renderização e qual caminho de renderização você escolheu.

Ilustração de como funciona o caminho de renderização de sombreamento diferido
Ilustração de como funciona o caminho de renderização de sombreamento diferido

Gráficos de Shader

Tanto o HDRP quanto o URP suportam Shader Graph, uma interface visual para criação de shaders. Isso permite que alguns usuários criem efeitos de sombreamento complexos que podem ter estado fora de alcance anteriormente. Use os mais de 150 nós no sistema de gráfico visual para criar mais shaders. Você também pode criar seus próprios nós personalizados com a API.

Comece cada Shader Graph com um nó mestre compatível, que determina a saída do gráfico. Adicione nós e operadores com a interface visual e construa a lógica do shader.

Este Shader Graph então passa para o backend do pipeline de renderização. O resultado final é um shader ShaderLab, funcionalmente semelhante a um escrito em HLSL ou Cg.

Otimizar um Shader Graph segue muitas das mesmas regras que se aplicam a Shaders HLSL/Cg tradicionais. Quanto mais processamento seu Shader Graph fizer, mais isso impactará o desempenho de sua aplicação.

Se você estiver limitado pela CPU, otimizar seus shaders não melhorará a taxa de quadros, mas pode ainda melhorar a vida útil da bateria em plataformas móveis.

Se você estiver limitado pela GPU, siga estas diretrizes para melhorar o desempenho com Shader Graphs:

- Reduza seus nós: Remova nós não utilizados. Não mude nenhum padrão ou conecte nós a menos que essas mudanças sejam necessárias. O Shader Graph compila automaticamente quaisquer recursos não utilizados. Quando possível, asse valores em texturas. Por exemplo, em vez de usar um nó para clarear uma textura, aplique o brilho extra no próprio ativo de textura.

- Use um formato de dados menor: Mude para uma estrutura de dados menor quando possível. Considere usar Vector2 em vez de Vector3 se isso não impactar seu projeto. Você também pode reduzir a precisão se a situação permitir (por exemplo, half em vez de float).

- Reduzir operações matemáticas: As operações de shader são executadas muitas vezes por segundo, então otimize qualquer operador matemático quando possível. Tente misturar resultados em vez de criar um ramo lógico. Use constantes e combine valores escalares antes de aplicar vetores. Por fim, converta quaisquer propriedades que não precisam aparecer no Inspector em Nós em linha. Todos esses incrementos de velocidade podem ajudar seu orçamento de quadros.

- Ramo de uma pré-visualização: À medida que seu gráfico fica maior, pode se tornar mais lento para compilar. Simplifique seu fluxo de trabalho com um ramo separado e menor que contenha apenas as operações que você deseja pré-visualizar no momento, e então itere mais rapidamente nesse ramo menor até alcançar os resultados desejados.

Se o ramo não estiver conectado ao nó mestre, você pode deixar o ramo de pré-visualização em seu gráfico com segurança. Unity remove nós que não afetam a saída final durante a compilação.

- Otimizar manualmente: Mesmo que você seja um programador gráfico experiente, ainda pode usar um Shader Graph para estabelecer algum código padrão para um shader baseado em script. Selecione o ativo Shader Graph, em seguida, selecione Copiar Shader no menu de contexto.

Crie um novo Shader HLSL/Cg e cole o Shader Graph copiado. Esta é uma operação unidirecional, mas permite que você extraia desempenho adicional com otimizações manuais.

UMA INTERFACE VISUAL BASEADA EM NÓS PARA A CRIAÇÃO DE SHADERS NO SHADER GRAPH
Uma interface visual baseada em nós para a criação de shaders no Shader Graph.

Remover configurações de shader integradas

Remova todos os shaders que você não usa da lista de shaders Sempre Incluídos nas Configurações Gráficas (Editar > Configurações do Projeto > Gráficos). Adicione shaders aqui que você precisará durante a vida útil da aplicação.

Shaders sempre incluídos
Shaders sempre incluídos

Remover variantes de shader

Os variantes de shader podem ser úteis para recursos específicos de plataforma, mas aumentam os tempos de compilação e o tamanho do arquivo.

Você pode usar as diretivas de pragma de compilação de shader para compilar o shader de forma diferente para plataformas-alvo. Em seguida, use uma palavra-chave de shader (ou o nó de palavra-chave do Shader Graph) para criar variantes de shader com certos recursos ativados ou desativados.

Você pode evitar que variantes de shader sejam incluídas em sua compilação se souber que não são necessárias.

Analise o Editor.log para tempos e tamanhos de shader. Localize as linhas que começam com “Shader compilado” e “Shader comprimido.” Em um log de exemplo, seu shader TEST pode mostrar:

Shader compilado 'TEST Standard (Configuração Especular)' em 31.23s

d3d9 (programas internos totais: 482, únicos: 474)

d3d11 (programas internos totais: 482, únicos: 466)

metal (programas internos totais: 482, únicos: 480)

glcore (programas internos totais: 482, únicos: 454)

Shader comprimido 'TEST Standard (Configuração Especular)' em d3d9 de 1.04MB para 0.14MB

Shader comprimido 'TEST Standard (Configuração Especular)' em d3d11 de 1.39MB para 0.12MB

Shader comprimido 'TEST Standard (Configuração Especular)' em metal de 2.56MB para 0.20MB

Shader comprimido 'TEST Standard (Configuração Especular)' em glcore de 2.04MB para 0.15MB

Isso lhe diz algumas coisas sobre este shader:

- O shader se expande em 482 variantes devido a #pragma multi_compile e shader_feature.

- Unity comprime o shader incluído nos dados do jogo para aproximadamente a soma dos tamanhos comprimidos: 0.14+0.12+0.20+0.15 = 0.61MB.

- Em tempo de execução, Unity mantém os dados comprimidos na memória (0.61MB), enquanto os dados para sua API gráfica atualmente utilizada estão descomprimidos. Por exemplo, se sua API atual for Metal, isso representaria 2.56MB.

Após uma construção, Project Auditor pode analisar o Editor.log para exibir uma lista de todos os shaders, palavras-chave de shader e variantes de shader compiladas em um projeto. Ele também pode analisar o Player.log após o jogo ser executado. Isso mostra quais variantes a aplicação realmente compilou e usou em tempo de execução.

Utilize essas informações para construir um sistema de remoção de shader scriptável e reduzir o número de variantes. Isso pode melhorar os tempos de construção, tamanhos de construção e uso de memória em tempo de execução.

Leia o post do blog Stripping scriptable shader variants para ver esse processo em detalhes.

Suavizar bordas com anti-aliasing

Anti-aliasing ajuda a suavizar a imagem, reduzir bordas irregulares e minimizar o aliasing especular.

Se você estiver usando renderização Forward com o Built-in Render Pipeline, Multisample Anti-aliasing (MSAA) está disponível nas Configurações de qualidade. MSAA produz anti-aliasing de alta qualidade, mas pode ser caro. A Contagem de amostras MSAA do menu suspenso (Nenhum, 2X, 4X, 8X) define quantas amostras o renderizador usa para avaliar o efeito.

Se você estiver usando renderização Forward com o URP ou HDRP, pode habilitar MSAA no Asset do Render Pipeline.

Alternativamente, você pode adicionar anti-aliasing como um efeito de pós-processamento. Isso aparece no componente da Câmera sob Anti-aliasing:

- Anti-aliasing aproximado rápido (FXAA) suaviza as bordas em nível de pixel. Este é o anti-aliasing menos intensivo em recursos e desfoca ligeiramente a imagem final.

- Anti-aliasing morfológico subpixel (SMAA) mescla pixels com base nas bordas de uma imagem. Isso tem resultados muito mais nítidos do que FXAA e é adequado para estilos de arte planos, semelhantes a desenhos animados ou limpos.

No HDRP, você também pode usar FXAA e SMAA com a configuração Anti-aliasing Pós na Câmera. URP e HDRP também oferecem uma opção adicional:

- Anti-aliasing temporal (TAA) suaviza as bordas usando quadros do buffer de histórico. Isso funciona de forma mais eficaz do que FXAA, mas requer vetores de movimento para funcionar. TAA também pode melhorar a oclusão ambiental e volumétricos. Geralmente é de qualidade superior ao FXAA, mas consome mais recursos e pode produzir artefatos de fantasmas ocasionais.

No URP, localize as configurações de MSAA no Ativo do Pipeline de Renderização.
No URP, localize as configurações de MSAA no Ativo do Pipeline de Renderização.

Pós-processamento espacial temporal

O Pós-processamento Espacial-Temporal (STP) é projetado para melhorar a qualidade visual em uma ampla gama de plataformas, como dispositivos móveis, consoles e PCs. STP é um upscaler de anti-aliasing espaço-temporal que funciona com os pipelines de renderização HDRP e URP, oferecendo escalonamento de conteúdo de alta qualidade sem a necessidade de alterações no conteúdo existente. Esta solução é particularmente otimizada para desempenho de GPU, garantindo tempos de renderização mais rápidos e facilitando a obtenção de alto desempenho enquanto mantém a qualidade visual.

Para habilitar o STP no URP:

- Selecione o Ativo URP ativo na janela do Projeto.

- No Inspetor, navegue até Qualidade > Filtro de Upscaling e selecione Pós-processamento Espacial-Temporal.

Habilitando o STP dentro do Ativo URP
Habilitando o STP dentro do Ativo URP

Assar lightmaps

A opção mais rápida para criar iluminação é aquela que não precisa ser calculada a cada quadro. Para fazer isso, use Iluminação Global para "assar" a iluminação estática apenas uma vez, em vez de calculá-la em tempo real.

Adicione iluminação dramática à sua geometria estática usando Iluminação Global (GI). Marque objetos com Contribuir GI para que você possa armazenar iluminação de alta qualidade na forma de lightmaps.

O processo de gerar um ambiente com mapeamento de luz leva mais tempo do que apenas colocar uma luz na cena no Unity, mas isso:

- Executa mais rápido, 2-3 vezes mais rápido para luzes de dois pixels por luz

- Fica melhor – GI pode calcular iluminação direta e indireta com aparência realista. O lightmapper suaviza e remove ruídos do mapa resultante.

Sombras e iluminação assadas podem ser renderizadas sem a mesma perda de desempenho da iluminação e sombras em tempo real.

Cenas complexas podem exigir longos tempos de cozimento. Se seu hardware suportar o Progressive GPU Lightmapper, esta opção pode acelerar dramaticamente a geração do seu lightmap, até dez vezes em alguns casos.

Siga este guia para começar com Lightmapping no Unity.

Ajuste as configurações de Lightmapping (Windows > Rendering > Lighting Settings) e o tamanho do Lightmap para limitar o uso de memória.
Ajuste as configurações de Lightmapping (Windows > Rendering > Lighting Settings) e o tamanho do Lightmap para limitar o uso de memória.

Minimizar Probes de Reflexão

Um componente Reflection Probe pode criar reflexos realistas, mas isso pode ser muito custoso em termos de lotes. Use cubemaps de baixa resolução, máscaras de culling e compressão de textura para melhorar o desempenho em tempo de execução. Use Tipo: Assado para evitar atualizações por quadro.

Se usar Tipo: Em Tempo Real é necessário no URP, evite Every Frame se possível. Ajuste o Modo de Atualização e as configurações de Divisão de Tempo para reduzir a taxa de atualização. Você também pode controlar a atualização com a opção Via Scripting e renderizar a sonda a partir de um script personalizado.

Se usar Tipo: Em Tempo Real é necessário no HDRP, use o modo On Demand. Você também pode modificar as Configurações de Quadro em Configurações do Projeto > Configurações Padrão do HDRP. Reduza a qualidade e os recursos em Reflexão em Tempo Real para melhorar o desempenho.

Reduza a qualidade e os recursos sob Reflexão em Tempo Real para melhorar o desempenho.

Cada Reflection Probe captura uma imagem de seus arredores em uma textura de mapa do cubo.
Cada Reflection Probe captura uma imagem de seus arredores em uma textura de mapa do cubo.

Use Volumes de Probes Adaptativos

Unity 6 introduz Volumes de Probes Adaptativos (APVs) que fornecem uma solução sofisticada para lidar com iluminação global no Unity, permitindo iluminação dinâmica e eficiente em cenas complexas. Os APVs podem otimizar tanto o desempenho quanto a qualidade visual, particularmente em dispositivos móveis e de baixo desempenho, enquanto oferecem capacidades avançadas para plataformas de alto desempenho.

Os APVs oferecem uma variedade de recursos para melhorar a iluminação global, particularmente em cenas dinâmicas e grandes. O URP agora suporta amostragem por vértice para melhorar o desempenho em dispositivos de baixo desempenho, enquanto partículas VFX se beneficiam da iluminação indireta embutida em volumes de probes.

Os dados do APV podem ser transmitidos do disco para a CPU e GPU, otimizando as informações de iluminação para grandes ambientes. Os desenvolvedores podem assar e misturar múltiplos cenários de iluminação, permitindo transições em tempo real como ciclos dia/noite. O sistema também suporta oclusão do céu, integra-se com a API Ray Intersector para cálculos de probes mais eficientes e oferece controle sobre a densidade de amostras de Light Probe para reduzir vazamentos de luz e acelerar iterações. A nova API de assar em C# também permite a assadura independente de APV de lightmaps ou probes de reflexão.

Para começar a usar APVs, confira a palestra Iluminação eficiente e impactante com Volumes de Probes Adaptativos da GDC 2023.

Ter múltiplos APVs é útil para ter mais controle sobre a densidade de probes no nível.
Ter múltiplos APVs é útil para ter mais controle sobre a densidade de probes no nível.

Desativar sombras

A projeção de sombras pode ser desativada por MeshRenderer e luz. Desative sombras sempre que possível para reduzir chamadas de desenho.

Você também pode criar sombras falsas usando uma textura borrada aplicada a uma malha simples ou quad abaixo de seus personagens. Caso contrário, você pode criar sombras de blob com shaders personalizados.

Em particular, evite habilitar sombras para luzes pontuais. Cada luz pontual com sombras requer seis passes de mapa de sombras por luz – compare isso com um único passe de mapa de sombras para uma luz de foco. Considere substituir luzes pontuais por luzes de foco onde sombras dinâmicas são absolutamente necessárias. Se você puder evitar sombras dinâmicas, use um cubemap como um Light.cookie com suas luzes pontuais em vez disso.

Desative a projeção de sombra para reduzir draw calls.
Desative a projeção de sombra para reduzir draw calls.

Substituir um efeito de shader

Em alguns casos, você pode aplicar truques simples em vez de adicionar várias luzes extras. Por exemplo, em vez de criar uma luz que brilha diretamente na câmera para dar um efeito de iluminação de contorno, use um Shader que simula a iluminação de contorno (veja Exemplos de Shader de Superfície para uma implementação disso em HLSL).

Usar Camadas de Luz

Para cenas complexas com muitas luzes, separe seus objetos usando camadas, depois restrinja a influência de cada luz a uma Máscara de Culling específica.

 As camadas podem limitar a influência da sua luz a uma Máscara de Culling específica.
As camadas podem limitar a influência da sua luz a uma Máscara de Culling específica.

Usar o Lightmapper da GPU

O GPU Lightmapper está pronto para produção no Unity 6. Ele acelera dramaticamente a geração de dados de iluminação aproveitando a GPU, oferecendo tempos de bake significativamente mais rápidos em comparação com o lightmapping tradicional da CPU. Ele introduz um novo backend de baking de luz que simplifica a base de código e fornece resultados mais previsíveis. Além disso, o requisito mínimo da GPU foi reduzido para 2GB, e também inclui uma nova API para mover posições de sondas de luz em tempo de execução, o que é particularmente útil para conteúdo gerado proceduralmente, juntamente com várias melhorias na qualidade de vida.

Selecionando o GPU Lightmapper
Selecionando o GPU Lightmapper
E-books do Unity
Mais dicas para o Unity 6

Você pode encontrar muitas mais melhores práticas e dicas para desenvolvedores e criadores avançados do Unity no hub de melhores práticas do Unity. Escolha entre mais de 30 guias, criados por especialistas da indústria, engenheiros e artistas técnicos do Unity, que ajudarão você a desenvolver de forma eficiente com as ferramentas e sistemas do Unity.

Mais melhores práticas