Durante a GDC (Game Developers Conference) desse ano, a Epic Games apresentou melhorias gráficas incríveis para sua plataforma, a Unreal Games.
Além de mostrar motion capture com perfeição, o maior destaque foi para o recurso Ray Tracing em tempo real.
Mas pra você que nunca tinha ouvido falar disso, talvez tenha se perguntado: Tá bom, mas o que é Ray Tracing? O que é tempo real? Como isso vai afetar meu gameplay? O que isso tem a ver com a Nvidia?
O que é ray tracing?
O termo Ray tracing significa traçado de raios, esta é uma técnica, um recurso, uma ação programada para renderização 3D utilizando raios invisíveis no cenário.
Ela é bastante utilizada em animações, nesta vídeo aula da Pixar logo abaixo, a diretora responsável pela renderização de filmes no grande estúdio de animação, explica que o ray tracing é utilizado por eles para determinar a cor de cada pixel que aparece na tela.
Isso acontece com uma linha invisível que parte da câmera em direção aos objetos 3D, uma cor é determinada e salva naquele frame. É complexo, mas simples de entender.
Blz, Neri, mas eu ainda não consegui imaginar. Bom, é mesmo difícil de imaginar se você nunca teve contato com desenvolvimento de jogos, animações ou modelagem 3D.
Vou dar mais um exemplo. Dentro da Unreal Engine você pode criar esses raios partindo de um ponto específico, vou usar a câmera como no caso da Pixar.
Partindo da câmera, eu digo em que direção ele deve se estender no cenário e assim ele é criado.
Nesta imagem, a linha vermelha é traçada do centro da câmera para frente, ao infinito e além quando eu aciono o botão de tiro.
Na imagem da esquerda você pode reparar que ela foi criada exatamente no centro da tela, ou da câmera mais precisamente.
Na imagem da direita eu dou um passinho para o lado com o personagem para que você possa ver como ela fica no cenário. Estas imagens são de um jogo que estou fazendo.
O traçado de raios é um meio muito comum de criar sistemas de tiro e dano.
Eu programo a engine para calcular qual é a frente do meu personagem e garanto que a linha seja traçada nessa direção, quando ela colidir com algo eu tenho diversas opções do que fazer.
Veja como isso é programado na Unreal:
Bom, esta é uma explicação do que é um traçado de raio, o que foi demonstrado pela Epic Games na GDC foi isso multiplicado em muitas vezes.
Em vez de ter apenas um raio partindo de uma direção, o Ray tracing apresentado tem um número muito maior de raios sendo traçados do cenário para a câmera e entre os objetos.
É uma ferramenta muito útil de maneira geral, já que os programadores podem determinar o que quiserem – se a tecnologia estiver disponível – para cada raio traçado.
No exemplo abaixo (que foi o da GDC desse ano), foram utilizados traçados de raios para determinar reflexos – o principal a ser notado – oclusão de ambiente, profundidade de campo, sombras e luzes. Assista ao exemplo abaixo:
+
O que significa em tempo real?
Tempo real significa que o que você vê está sendo renderizado e apresentado na tela com um tempo de renderização tão baixo a ponto de não ser perceptível.
A cada frame novos traçados são desenhados e trazem novas informações sobre luzes, sombras, reflexos, ou o que for determinado.
No exemplo do meu jogo, a linha foi criada apenas uma vez quando puxei o gatilho, depois de colocada no cenário ela não permanece atualizando as colisões e interações com outros objetos.
Todo tiro dado cria um novo raio mas isso acontece apenas quando eu peço para que aconteça.
No caso do ray tracing em tempo real isso acontece a todo momento com elementos de renderização de cenário.
Mas por que muita gente está surpresa com isso ou acha tão épico?
Conseguir fazer isso é incrível porque animações complexas demoram dias para serem renderizadas com estes efeitos e agora estamos conseguindo reproduzir cenas com complexidade semelhante em tempo real, sem precisar gastar dias para conferir o resultado!
É claro que se cada um tivesse um pcgamer em casa para assistir animações não seria necessário demorar tanto tempo para renderizá-las.
Seria bem louco assistir animações executando um .exe no computador.
Mas de toda forma, esses avanços para o mundo dos jogos são extremamente significativos para a ambientação.
Como isso muda meu gameplay?
Se você acha que este recurso servirá apenas para jogos realistas, discordo.
Recursos como ray tracing, como venho falando, são utilizados em ampla escala para animações diversas no mundo do cinema e colaboram incrivelmente mesmo sem que você perceba.
Todos os jogos, com gráficos que imitam a vida real ou até mesmo mais caricatos serão beneficiados. Tente adivinhar de que tipo de filme vem esta imagem abaixo:
Se você respondeu Carros 3, provavelmente chutou é muito atencioso quando assiste filmes.
Todos os recursos que ajudam a criar um ambiente mais envolvente é bem vindo e será muito bem aproveitado pelos grandes estúdios.
Death Coming: o jogo que estava
grátis na Epic Games antes de GTA 5
Para resumir, o seu gameplay será mais imersivo, surpreendentemente mais imersivo.
Luzes, sombras, reflexos são os elementos principais para criar ambientes mais envolventes, mas também são os que mais custam caro para nossas máquinas.
Conseguir trabalhar em uma maneira de processar esses efeitos sem ter grandes quedas de frames foi um trabalho que durou cerca de dez anos de estudo, segundo a Nvidia.
O papel da Nvidia com o RTX (ray tracing)
A Nvidia é uma das principais responsáveis pelo RTX, ela está a frente da tecnologia para os computadores, sendo também a fornecedora para os estúdios de animação.
Agora ela está trabalhando com as empresas desenvolvedoras de jogos, como a Epic Games, 4A Games, Remedy Entertainment e Unit para implementar esse recurso nas engines.
Epic e Remedy foram as primeiras a demonstrar a utilização do RTX, a Epic com a Unreal como no vídeo do Star Wars acima e a Remedy com este logo abaixo.
Como o RTX foi pensado para as placas de microarquitetura Volta, próxima geração de placas de vídeo Nvidia, é provável que apenas no começo do ano que vem a gente comece a enxergar estas mudanças nos jogos.
O primeiro jogo a ser lançado em parceria com a Nvidia e o RTX é Metro Exodus da 4A Games.