Cursos / Jogos Digitais / Modelagem 2D / Aula

arrow_back Aula 09 - Modelagem 3D – Parte 2

2 - Modelagem 3D – Real Time Render

Renderização em tempo real é o mesmo processo de render usado nos games. Nele os modelos são otimizados para haver interação direta de diversas formas. Um personagem 3D de um game é projetado para receber diversas luzes em tempo real, respeitar os relevos do mapa ao se mover, reagir com a interação da física... resumindo, um personagem de game deve responder de forma imediata a qualquer tipo de evento que seja submetido dentro das regras que seu ambiente fornece.

Já se perguntou por que em alguns games durante uma Cutscene os gráficos são semelhantes aos filmes de animação que vemos no cinema e, quando o jogo inicia, os gráficos têm uma certa “queda” de qualidade? Esse efeito conhecido como Downgrade ocorre quando as cutscenes de muitos games não são renderizadas em tempo real, diferente dos jogos no momento de Gameplay.

Este é um Orc do Jogo World of Warcraft, na versão da cutscene.
Este é um Orc do Jogo World of Warcraft, na versão do Gameplay

Dada essa característica, existem algumas preocupações quando se geram os modelos do jogo e, por isso, normalmente existem várias versões do mesmo modelo, com uma quantidade de polígonos diferenciada. Por exemplo, um dos aspectos que se trabalha bastante nos jogos é o nível de detalhe - Level of Detail (LOD). O que é isso?

Exemplo de modelo 3D com diferentes níveis de detalhe

O nível de detalhe é uma técnica para agilizar o desempenho de renderização do jogo. Objetos próximos da câmera e da visão do personagem (e jogador) são renderizados com modelos mais detalhados, contendo mais polígonos (logo, mais custosos). A medida que um objeto fica mais distante da câmera, substitui-se o modelo por uma versão com menos polígonos, com o objetivo de economizar processamento. Afinal, estando longe, o jogador não vai ver direito mesmo! Essa técnica deve ser bem utilizada, para evitar aquele velho problema de os objetos aparecerem do nada dentro da visão do jogador. Quem nunca bateu em uma árvore ninja, que aparece instantaneamente na sua frente, não é mesmo?

A partir do Directx11 foi possível fazer alguns desses recursos de forma dinâmica. Imagina que, dependendo de como você for tratar o LOD, você tenha de criar uns 4 modelos do mesmo objeto, apenas com uma quantidade de polígonos diferentes. O DirectX11 permite que você faça isso dinamicamente a partir de um único modelo, graças a técnica de Tesselação.

A tesselação nada mais é do que a divisão de uma forma geométrica mais complexa em agrupamentos de formas geométricas mais simples. Por exemplo, eu posso ter um quadrado que é formado por um quadrado ou por dois triângulos. Dessa forma, podemos construir um modelo com um número menor de polígonos e, por meio da tesselação, gerar de forma automática uma malha mais detalhada e suave. Isso economiza em muito o trabalho do pessoal da modelagem!

Exemplo de quadrado formado com várias formas menores

Com a tesselação conseguimos um novo nível de flexibilidade no trabalho de modelos 3D em jogos, e esse é talvez o grande diferencial dos gráficos dessa nova geração!

Exemplo de tesselação em modelo 3D

Versão 5.3 - Todos os Direitos reservados