LOD: Level of Detail para jogos e animações

Economizar recursos do computador sempre é um desafio para qualquer equipe, que esteja desenvolvendo uma animação ou quem sabem até um jogo. Uma técnica muito utilizada, no desenvolvimento de jogos e que pode tranquilamente ser aproveitada, na criação de animações é o Level of Detail. Nunca escutou esse termo? O level of detail funciona assim; posicionamos objetos com nível de complexidade diferente na cena, dependendo da distância em que câmera está visualizando o objeto. Isso ajuda a diminuir a contagem de polígonos, fazendo qualquer renderização mais rápida.

LOD: Level of detail

Usar o level of detail, como opção para otimizar a sua modelagem, pode economizar muitas horas de trabalho também. Mas para isso, precisamos saber com antecedência o posicionamento das câmeras, na cena. Isso só é possível com planejamento prévio, com a criação de Storyboards e esboços da imagem final.

Ainda não entendeu? Imagine a seguinte situação, precisamos criar um modelo, para representar uma casa. Essa mesma casa apresenta janelas e outros elementos que podem ser detalhados, como janelas e portas. A pergunta é; o quanto devemos detalhar os objetos? Vale a pena modelar até os parafusos das janelas?

A reposta para essa pergunta é; depende da distância entre a câmera e o modelo! Isso é o Level of Detail. Pense bem, se a câmera está distante, por mais detalhado que seja o modelo, os objetos de menor tamanho não aparecem na imagem final. Mas se a câmera estiver perto, precisaremos criar esses detalhes, caso contrário, sentiremos falta deles na imagem.

Em algumas Engines de jogos, isso é feito de maneira automática. Podemos configurar um “sensor”, para identificar a distância entre um personagem e um objeto. Dependendo da distância, a própria engine troca o objeto por uma versão com mais ou menos polígonos. Tudo vai depender da distância, entre o personagem e o objeto. Quanto mais próximo, mais polígonos e quanto mais distante menos polígonos. Engenhoso não é?

Mas como fazer isso em animação? Bem, isso pode ser simulado com keyframes manuais ou então com a utilização de Scripts. Para usar esse recurso em [fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][BP:215]animação[/BP], precisamos tomar um cuidado especial. Use os recursos da sua ferramenta 3D, para ajustar a visibilidade de um objeto. Por exemplo, ao criar o modelo de um carro, crie para o mesmo modelo 3 versões diferentes, com níveis de suavização baixo, médio e alto. Controle a visibilidade de cada modelo, para que o modelo mais detalhado esteja visível quando a câmera estiver mais próxima, e o menos detalhado quando a câmera estiver distante.

Assim será possível otimizar o tempo de render! Só tome o seguinte cuidado, para animações. A troca entre os objetos deve ser o mais suave possível, senão as pessoas que assistirem a animação podem perceber a troca entre objetos com complexidade diferente.

Quer saber mais sobre o LOD? Visite esse artigo muito interessante sobre o level of detail, para um jogo de aviões.

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Publicado por

Allan Brito

Arquiteto que trocou as construções baseadas em tijolos pelas que utilizam pixels! Sim, os pixels também precisam ser devidamente construídos, e quem melhor do que um arquiteto para planejar construções?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *