Aproveite os recursos de Ray Tracing do HDRP do Unity com a NVIDIA

Registre-se no site da NVIDIA para participar do webinar ao vivo. Ele começará às 10:00 AM, horário do Pacífico, na quarta-feira, 27 de janeiro de 2021, e durará cerca de uma hora. Se não puder comparecer, você poderá assistir à sessão sob demanda posteriormente.
Todos os participantes do webinar ao vivo participarão de um sorteio para ter a chance de ganhar uma (1) NVIDIA® Quadro RTX™ 5000! No entanto, você deve se registrar e participar de todo o webinar ao vivo para se qualificar.
Para cenários de iluminação, o Ray Tracing consiste em disparar raios das câmeras ou superfícies em direção a outras superfícies e estruturas de luz, principalmente fora da visão da câmera, para gerar a iluminação. A produção de filmes e a visualização de alta qualidade usam muito o Ray Tracing. No entanto, até recentemente, a quantidade de potência de computação necessária para renderizar essas imagens em uma taxa de quadros razoável tornava essa técnica inutilizável para aplicativos em tempo real. Como consequência, um método alternativo tem sido usado em jogos há décadas: a rasterização. Simplificando, ele consiste em sombrear os pixels na tela descobrindo quais luzes os afetam e, na verdade, não envolve o conceito de Ray Tracing e tem várias limitações devido à sua natureza de espaço na tela.
Felizmente, com a democratização do Ray Tracing acelerado por hardware encontrado nas principais GPUs mais recentes, o Ray Tracing poderá em breve se tornar a nova norma para gerar iluminação, especialmente em plataformas de ponta. O Pipeline de Renderização de Alta Definição (HDRP) oferece um pipeline de Ray Tracing híbrido, misturando técnicas tradicionais de rasterização e Ray Tracing. Ele oferece versões Ray Tracing de efeitos de iluminação comuns, como oclusão de ambiente (AO), reflexos, iluminação global (GI), dispersão de subsuperfície e sombras.
Por exemplo, dê uma olhada neste impressionante mostruário do BMW Série 8 Coupe 2019, fruto da colaboração entre a Unity, a NVIDIA e a BMW. Ele demonstra como o Ray Tracing em tempo real pode fornecer resultados fotorrealistas, em uma fração do tempo e do custo das soluções de renderização off-line.
O Ray tracing no HDRP está atualmente em Preview, o que significa que não está necessariamente pronto para produção. No entanto, você é mais do que bem-vindo para experimentá-lo e nos dar um feedback nos fóruns.
O webinar aproveitará o novo modelo de HDRP disponível no Unity 2020.2.
Portanto, você poderá seguir as instruções fornecidas no webinar, depois de fazer o download do Unity 2020.2. Começar seu projeto é muito simples: crie um novo projeto no Unity Hub, selecione o modelo High Definition Render Pipeline e pressione o botão Create.

Em sua versão atual, o modelo HDRP usa apenas técnicas rasterizadas para renderizar a iluminação, por meio de mapas de luz cozidos, grupos de sondas de luz, sondas de reflexão, mapas de sombra etc. Portanto, a primeira etapa do webinar consistirá em converter rapidamente o modelo para aproveitar o Ray Tracing.
Posteriormente, apresentarei com mais detalhes quatro dos principais efeitos de Ray Tracing disponíveis no HDRP, que são Ray Traced Ambient Occlusion, Reflections, Global Illumination e Shadows. Por fim, encerrarei a sessão com o Path Tracing do HDRP, uma abordagem de força bruta ao Ray Tracing, que proporciona ainda mais fidelidade visual ao custo de um tempo de renderização muito maior.
A oclusão de ambiente no espaço da tela (SSAO) tem sido um elemento básico da renderização em tempo real para jogos há mais de uma década. Ele é usado para simular a oclusão difusa do ambiente, a fim de melhorar o contato visual entre os objetos no mundo e escurecer a iluminação em áreas côncavas. No entanto, esse efeito, quando exagerado, pode produzir halos ao redor das geometrias e até mesmo uma aparência de desenho animado. Além disso, uma das principais desvantagens dessa técnica de espaço de tela é sua incapacidade de gerar oclusão a partir de objetos que residem fora do quadro, pois ela se baseia apenas nas informações de profundidade disponíveis no buffer z. Como ponto positivo, esse efeito ainda é excelente para lidar com a micro oclusão de pequenas áreas na perspectiva da câmera, por um custo de desempenho relativamente baixo.

Felizmente, graças ao Ray Tracing, os raios podem ser disparados em superfícies além da frustração da câmera e, portanto, podem alcançar objetos localizados fora do quadro. Dessa forma, é possível obter uma excelente macro oclusão de objetos grandes localizados ao redor da câmera. Embora tecnicamente a AO seja apenas uma aproximação aproximada da iluminação do ambiente, ela pode complementar outras técnicas de iluminação, como mapas de luz ou sondas de luz, cuja resolução ou densidade é limitada e, portanto, incapaz de capturar a micro oclusão.
De forma semelhante à SSAO, as reflexões no espaço da tela (SSR) só podem refletir objetos localizados no quadro: novamente, as superfícies que não são imediatamente visíveis para a câmera não podem ser refletidas. Por exemplo, olhar para o chão fará com que a técnica SSR não consiga fornecer nenhuma informação útil. Portanto, a SSR é muito aproximada, e essa técnica tende a ter muitos detratores, inclusive o meu, já que um bom posicionamento de sondas de reflexão estáticas pode fornecer resultados mais atraentes e menos perturbadores para a maioria dos cenários estáticos. No entanto, uma área em que a SSR se destaca literalmente é quando se lida com reflexões planas para superfícies paralelas à direção da visualização, como pisos, paredes e tetos. Um caso de uso ideal para SSR seria uma câmera cuja inclinação é bloqueada, como em um jogo de corrida.

Com o Ray Tracing, no entanto, conseguimos acessar informações que residem fora da tela e, como consequência, podemos oferecer um reflexo mais exato do mundo, pelo menos dentro de um determinado raio ao redor da câmera, definido pelo Light Cluster e pelo comprimento dos raios.
Um dos recursos mais impressionantes do Ray Tracing é a capacidade de gerar iluminação global em tempo real, ou seja, a simulação de iluminação indireta, ou simplesmente a iluminação que se projeta no ambiente.
Em geral, nos mecanismos de jogos, a iluminação indireta é tratada com técnicas pré-computadas ou de preparação, como sondas de luz ou mapas de luz, e elas podem retardar muito o tempo de iteração dos artistas e designers que lidam com a iluminação.

Felizmente, o HDRP oferece duas técnicas para RTGI: uma de desempenho e outra de qualidade. O primeiro é voltado para cenários de alta taxa de quadros em luz direta, enquanto o segundo pode fornecer resultados muito precisos em interiores mais complexos, graças a vários saltos e amostras, mas com um custo computacional muito alto.
Quando pronto para uso, ao usar a qualidade de filtragem de sombra alta (PCSS), o HDRP fornece mapas de sombra de excelente aparência que simulam a suavidade natural das sombras, garantindo que elas permaneçam nítidas perto dos lançadores de sombra, como na vida real. No entanto, quando se usa a qualidade de filtragem Média , mais barata, os resultados podem não ser satisfatórios, pois todo o mapa de sombras é filtrado uniformemente, independentemente das distâncias entre os lançadores e os receptores.

Os resultados podem ser muito melhorados com sombras Ray Traced, disparando raios das superfícies em direção às luzes para descobrir a quantidade de oclusão entre elas. Portanto, isso pode proporcionar uma aproximação extremamente realista do sombreamento, com um custo de desempenho moderado. Além disso, o HDRP suporta sombras transparentes!
Por fim, o rastreamento de caminhos permite que os artistas gerem imagens de excelente qualidade com uma rapidez significativamente maior do que os renderizadores off-line tradicionais. Os raios são disparados da câmera e, sempre que atingem uma superfície, disparamos outros raios em direção a outras superfícies e luzes (ou seja, a estrutura do cluster de luz ). O percurso dos raios entre a câmera e as luzes é chamado de caminho, daí o nome Path tracing.

A vantagem do path tracing em relação aos outros métodos de Ray Tracing mencionados acima é que ele fornece um processo unificado para gerar toda a iluminação, como sombras, reflexos, refração e iluminação global. As principais desvantagens dessa técnica são o tempo de renderização e o ruído. No entanto, para o último, podemos acumular amostras durante vários segundos para obter resultados menos ruidosos.
Esperamos que, depois de assistir a esse webinar, você tenha uma compreensão muito melhor dos principais recursos de Ray Tracing disponíveis no Unity e possa aumentar muito a qualidade visual das suas visualizações e até mesmo dos jogos em tempo real.
Esperamos que você participe do webinar e que possamos responder às suas perguntas ao vivo! E não se esqueça de que você também pode fazer perguntas e nos deixar comentários no fórum de Ray tracing do Unity.

Pierre Yves Donzallaz (gerente técnico de arte, P&D, gráficos) é um artista de iluminação experiente com mais de uma década de experiência em AAA no campo da renderização em tempo real. Ele tem uma sólida formação técnica e artística e é especializado em iluminação, embelezamento de níveis, experiência do usuário, design de ferramentas e melhorias no fluxo de trabalho.
Ele trabalhou em jogos premiados e grandes produções AAA, incluindo a série Crysis, Ryse: Son of Rome, Grand Theft Auto V e Red Dead Redemption 2.
Atualmente, ele é membro da equipe de P&D de gráficos da Unity, onde lidera colegas artistas técnicos cuja missão é melhorar a eficiência dos artistas, educar os usuários globalmente e desenvolver novas ferramentas, fluxos de trabalho e recursos gráficos junto com engenheiros e designers.

Anis Benyoub (Programador gráfico sênior, P&D, Gráficos) está trabalhando atualmente na ampliação de pipelines de renderização para jogos e aplicativos em tempo real para oferecer suporte ao Ray Tracing em tempo real. Anis é apaixonado por integração Monte Carlo, renderização baseada em física e desempenho em tempo real (e adora compartilhar seu conhecimento com a comunidade).
Antes da Unity, ele trabalhou na Pretty Simple Games como engenheiro gráfico, na Autodesk como engenheiro de P&D 3D no 3DS Max e, em seguida, como engenheiro de software principal na engine de jogos Stingray. Ele tem mestrado em ciência da computação pela Ecole Polytechnique de Montréal, com foco em computação gráfica, e mestrado em engenharia da computação pelo INSA Lyon.
