Termo glossário

Nível de Detalhe (LOD)

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.

O que é nível de detalhe (LOD)?

Nível de detalhe (LOD) é uma técnica de renderização 3D que troca versões mais simples de um modelo à medida que ele ocupa menos da tela, reduzindo a complexidade geométrica e, dependendo de como os ativos são criados, materiais ou chamadas de desenho, mantendo a diferença visual difícil de notar.

Jogos, experiências VR e outras aplicações 3D em tempo real usam LOD para manter uma taxa de quadros estável em cenas com milhares de objetos.

Como funciona o nível de detalhe?

O nível de detalhe funciona preparando várias versões do mesmo objeto, cada uma com menos detalhes que a anterior, e selecionando a versão apropriada com base no quão grande o objeto aparece na tela. Unity e a maioria dos outros motores numeram essas versões como LOD0, LOD1, LOD2, e assim por diante, sendo LOD0 o mais detalhado.

A contagem de triângulos geralmente diminui a cada nível de LOD.

Nível LOD
LOD0100
Triângulos (partes do LOD0)
%
Geralmente mostrado quando
O objeto está perto e ocupa grande parte da tela
LOD1
Triângulos (partes do LOD0)
Cerca de 50%
Geralmente mostrado quando
O objeto está a uma distância média
LOD2
Triângulos (partes do LOD0)
Cerca de 25%
Geralmente mostrado quando
O objeto está longe
LOD3
Triângulos (partes do LOD0)
Cerca de 10%
Geralmente mostrado quando
O objeto é apenas uma pequena parte da tela
Poda0
Triângulos (partes do LOD0)
%
Geralmente mostrado quando
O objeto é muito pequeno para importar, então não é desenhado

Mudar entre níveis pode causar um pop visível. O cross-fading mistura os níveis de saída e de entrada por um curto período para que a mudança seja mais difícil de ver.

Quais são os tipos de nível de detalhe?

O nível de detalhe vem em várias formas, e muitos projetos combinam essas técnicas:

  • LOD Discreto: O motor alterna entre um conjunto fixo de malhas pré-construídas com diferentes níveis de detalhe. Esta é uma abordagem comum em jogos.
  • LOD Contínuo: A malha é simplificada ou refinada gradualmente à medida que seu tamanho no espaço da tela muda, em vez de mudar em níveis LOD fixos.
  • LOD Hierárquico (HLOD): Grupos de objetos distantes são combinados em uma representação simplificada, reduzindo chamadas de desenho e complexidade geométrica.
  • Textura LOD (mipmapping): A GPU amostra versões progressivamente menores e pré-filtradas de uma textura à medida que as superfícies aparecem mais distantes ou ocupam menos espaço na tela.
  • Outdoors e impostores: Um modelo 3D distante é substituído por uma representação simplificada, muitas vezes uma imagem plana que enfrenta a câmera.

Nível de detalhe e Unity

A Unity fornece várias maneiras de implementar nível de detalhe, incluindo Mesh LOD e o componente LOD Group. O LOD de malha pode gerar LODs durante a importação de ativos e é projetado para reduzir a geometria e o processamento de vértices da GPU com memória adicional mínima. O Grupo LOD permite que você configure níveis LOD separados e alterne entre eles com base no tamanho da tela.

Qual é a diferença entre LOD e culling?

Nível de detalhe e *culling* ambos reduzem o trabalho de renderização, mas agem sobre os objetos de maneiras diferentes:

Técnica
Nível de detalhe (LOD)
O que faz
Desenha uma versão mais simples de um objeto visível
Quando ajuda
Objetos que estão distantes ou pequenos na tela
O que faz
Pula objetos fora da visão da câmera
Quando ajuda
Objetos atrás ou ao lado da câmera
Culling de oclusão
O que faz
Pula objetos escondidos atrás de outros objetos
Quando ajuda
Objetos bloqueados por paredes, edifícios ou terreno

A maioria dos projetos em tempo real pode usar os três juntos. Culling remove objetos que não precisam ser renderizados, enquanto LOD simplifica os objetos que permanecem visíveis.

Quais são os benefícios de usar nível de detalhe?

  • Taxas de quadros mais altas: Renderizar menos triângulos para objetos distantes reduz a carga da GPU, o que pode ajudar um projeto a manter sua taxa de quadros alvo.
  • Cenas maiores e mais densas: Mundos abertos, florestas e cenas de cidade podem mostrar muito mais objetos de uma só vez.
  • Desempenho escalável: LOD pode ajudar o mesmo conteúdo a escalar em diferentes plataformas com diferentes capacidades de desempenho, incluindo dispositivos móveis e headsets VR autônomos.

Quais são os desafios de usar nível de detalhe?

  • Estouro visível: Uma mudança repentina entre níveis pode ser perceptível, a menos que as transições sejam cruzadas ou os limiares sejam ajustados.
  • Memória e armazenamento extras: Cada malha LOD adicional pode adicionar dados de malha, aumentando o uso de memória e potencialmente o tamanho da compilação.
  • Tempo de autoria: Níveis feitos à mão levam tempo de artista, e níveis gerados automaticamente ainda precisam ser verificados em busca de artefatos visuais.

Perguntas frequentes (FAQ)

Quantos níveis de LOD um modelo deve ter?

Não há um número fixo de níveis LOD para cada modelo. O número correto depende do tamanho da tela do objeto, distância de visualização, complexidade visual, plataforma e alvo de desempenho. Níveis adicionais podem fornecer mudanças mais graduais nos detalhes, mas também exigem autoria ou processamento adicional. As dicas de otimização de arte móvel da Unity sugerem reduzir as contagens de triângulos em cerca de metade entre os níveis LOD.

O nível de detalhe se aplica a texturas assim como a malhas?

Sim. Mipmapping é uma técnica de nível de detalhe de textura na qual a GPU amostra cópias menores e pré-filtradas de uma textura à medida que as superfícies parecem mais distantes ou ocupam menos espaço na tela. Isso pode reduzir a largura de banda da memória de textura e artefatos visuais como cintilação. O LOD da malha também pode usar materiais ou shaders diferentes em níveis mais baixos, dependendo de como os LODs são criados.

Termos relacionados

Modelagem 3D

A modelagem 3D é o processo de criação de objetos digitais tridimensionais para jogos e mídias interativas.

Renderização 3D

A Renderização 3D é o processo de gerar imagens 2D a partir de dados de cena 3D usando algoritmos de iluminação, mapeamento de texturas e propriedades de materiais, equilibrando a fidelidade visual com os requisitos de desempenho para aplicações em tempo real.

FPS

Quadros-por-segundo (FPS) indica quantas imagens são exibidas a cada segundo, com taxas mais altas (idealmente 60-120 para aplicações de VR) proporcionando um movimento mais suave e reduzindo o risco de mal-estar simulado em experiências imersivas.