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.
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:
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.