O que você está procurando?
Hero background image
Reflexos e efeitos em tempo real para jogos de PC e console

Este é o quarto de uma série de artigos que explica como os desenvolvedores e artistas técnicos podem configurar e usar o Pipeline de Renderização de Alta Definição (HDRP) no Unity para obter realismo gráfico de alta qualidade. O HDRP representa um salto tecnológico na renderização em tempo real do Unity para que você possa trabalhar com a luz exatamente como ela se comporta no mundo real.

Não deixe de ler os outros artigos de nossa série de instruções sobre iluminação de alta qualidade:

Demonstração de sondas de reflexão
Reflexões

Os reflexos ajudam a integrar os GameObjects com o ambiente ao redor. Embora normalmente associemos os reflexos a superfícies lisas e brilhantes, até mesmo materiais ásperos exigem reflexos corretos em um fluxo de trabalho de renderização baseada em física (PBR). O HDRP oferece várias técnicas para gerar reflexos:

  • Reflexões sobre o espaço da tela
  • Reflection Probes
  • Reflexões do céu

Cada tipo de reflexão pode consumir muitos recursos, portanto, selecione cuidadosamente o método que funciona melhor, dependendo do seu caso de uso. Se mais de uma técnica de reflexão se aplicar a um pixel, o HDRP mescla a contribuição de cada tipo de reflexão. As superfícies delimitadoras chamadas de volumes de influência dividem o espaço 3D para determinar quais objetos recebem as reflexões.

Interface de substituição de reflexão do espaço da tela
Reflexões sobre o espaço da tela

O Screen Space Reflections (SSR) usa o buffer de profundidade e cor para calcular os reflexos. Dessa forma, eles só podem refletir objetos atualmente na visualização da câmera e podem não ser renderizados corretamente em determinadas posições na tela. Pisos brilhantes e superfícies planas molhadas são bons candidatos para receber Screen Space Reflections, mas observe que os SSRs ignoram todos os objetos fora do quadro, o que pode limitar o efeito.

Para ativar o Screen Space Reflections, vá para Frame Settings(Configurações padrão do HDRP ou Configurações de quadro personalizadas da câmera) em Lighting (Iluminação). Em seguida, adicione o Screen Space Reflection Override ao seu objeto de volume.

As superfícies do material devem exceder o valor de Suavidade mínima para mostrar os Reflexos do espaço da tela. Diminua esse valor se quiser que materiais mais ásperos mostrem o SSR, mas esteja ciente de que um limite de suavidade mínima menor pode aumentar o custo de computação. Se o Screen Space Reflection não conseguir afetar um pixel, o HDRP voltará a usar as sondas de reflexão.

Use o menu suspenso Quality (Qualidade ) para selecionar um número predefinido de Max Ray Steps (Etapas máximas de raio). Os passos máximos de raio mais altos aumentam a qualidade, mas também têm um custo. Como em todos os efeitos, procure equilibrar o desempenho com a qualidade visual.

Nas versões 12 e posteriores do HDRP, você pode escolher entre um algoritmo baseado em física usando Acumulação (novo) ou Aproximação, um algoritmo aproximado menos preciso (padrão).

Componente da sonda de reflexão
Reflection Probes

As sondas de reflexão geram reflexos usando uma técnica baseada em imagem. Uma sonda captura a visão esférica de seus arredores em todas as direções e armazena o resultado em uma textura de mapa cúbico. Os shaders usam esse cubemap para aproximar um reflexo.

Cada cena pode ter várias sondas e misturar os resultados. As reflexões localizadas podem mudar à medida que a câmera se move pelo ambiente.

Defina o tipo de cada sonda de reflexão como Baked ou Real-time:

  • As Baked Probes processam a textura do cubemap apenas uma vez para um ambiente estático.
  • As sondas em tempo real criam o mapa cúbico em tempo de execução no Player, e não no Editor. Isso significa que as reflexões não estão limitadas a objetos estáticos, embora as atualizações em tempo real possam exigir muitos recursos.

O Volume de influência determina os limites 3D onde os GameObjects receberão o reflexo, enquanto as Configurações de captura permitem que você personalize como a Sonda de reflexo tira um instantâneo do mapa do cubo.

Para otimizar as sondas de reflexão em tempo real, desative qualquer recurso de renderização que não esteja afetando significativamente a qualidade visual das reflexões, substituindo as configurações gerais ou por câmera de sonda de reflexão. Você também pode criar um script para dividir o tempo da atualização.

Diagrama de sonda de reflexão plana
Sonda de reflexão planar

Uma sonda de reflexão planar permite recriar uma superfície plana e reflexiva, levando em conta a suavidade da superfície. É ideal para espelhos e pisos brilhantes.

Embora as Sondas de Reflexão Planar tenham muito em comum com as Sondas de Reflexão padrão, esses componentes funcionam de forma ligeiramente diferente. Em vez de capturar o ambiente como um mapa cúbico, uma sonda de reflexão planar recria a visualização da câmera refletida por meio de seu plano de espelho. Em seguida, a sonda armazena a imagem espelhada resultante em um RenderTexture 2D. Desenhado nos limites da sonda retangular, isso cria uma reflexão plana.

Se um objeto não for afetado por uma sonda de reflexão próxima, ele voltará para a Reflexão do céu.

Demonstração de vazamento de luz
Hierarquia de reflexão

Para produzir reflexões de alta qualidade, o HDRP usa a técnica que fornece a maior precisão para cada pixel e a combina com outras técnicas baseadas nos três métodos de reflexão (SSR, Reflection Probes, Sky) usando uma prioridade ponderada. Essa sequência específica para avaliar as reflexões é chamada de Hierarquia de reflexão.

Quando uma técnica não determina totalmente o reflexo de um pixel, o HDRP volta para a próxima técnica. Em outras palavras, o Screen Space Reflection retorna para as Reflection Probes, que, por sua vez, retornam para o Sky Reflections.

É importante configurar corretamente os volumes de influência para suas sondas de reflexão. Caso contrário, poderá haver vazamento de luz do Sky Reflections indesejado. Isso fica evidente na sala 3 da cena de amostra. A desativação de uma das sondas de reflexão ou a mudança de seus volumes de influência força a reflexão a voltar para o céu. Isso faz com que o céu HDRI brilhante domine a cena com seus reflexos intensos.

Para obter mais detalhes sobre a Hierarquia de Reflexão, consulte a seção Reflexão da documentação do HDRP.

Volume do proxy de reflexão
Volumes de proxy de reflexão

Como o ponto de captura de uma sonda de reflexão é fixo e raramente coincide com a posição da câmera nas proximidades, pode haver uma mudança de perspectiva perceptível na reflexão resultante. Dessa forma, o reflexo pode não parecer conectado ao ambiente.

Um volume de proxy de reflexão ajuda a corrigir parcialmente esse problema. Ele reprojeta os reflexos com mais precisão dentro do volume proxy, com base na posição da câmera.

Interface de substituição de oclusão de ambiente
Efeitos de iluminação em tempo real

O HDRP também apresenta alguns efeitos de iluminação em tempo real disponíveis por meio do sistema Volume. Selecione um volume local ou global e, em seguida, adicione o efeito apropriado em Add Override > Lighting (Adicionar substituição > Iluminação).

Oclusão de ambiente no espaço da tela (SSAO)

A oclusão de ambiente simula o escurecimento que ocorre em dobras, buracos e superfícies próximas umas das outras. As áreas que bloqueiam a luz ambiente tendem a parecer oclusas.

Embora você possa preparar a oclusão de ambiente para geometria estática por meio do Lightmapper do Unity, o HDRP acrescenta uma oclusão de ambiente de espaço de tela adicional, que funciona em tempo real. Esse é um efeito de espaço de tela, o que significa que somente as informações de dentro do quadro podem contribuir para o efeito produzido. O SSAO ignora todos os objetos fora do campo de visão da câmera.

Ative o Screen Space Ambient Occlusion (Oclusão de ambiente no espaço da tela ) nas configurações de quadro em Lighting (Iluminação). Em seguida, adicione Override em um volume local ou global e selecione Lighting > Ambient Occlusion (Iluminação > Oclusão de ambiente).

Demonstração da iluminação global do espaço da tela na folhagem
Iluminação global do espaço da tela

O Screen Space Global Illumination (SSGI) usa o buffer de profundidade e cor da tela para calcular a luz difusa e refletida. Da mesma forma que o mapeamento de luz pode incorporar a iluminação indireta às superfícies da geometria do nível estático, o SSGI simula com mais precisão como os fótons podem atingir as superfícies e transferir cor e sombreamento à medida que ricocheteiam.

Como outros efeitos que dependem do buffer de quadros, as bordas da tela tornam-se problemáticas, pois os objetos fora do campo de visão da câmera não podem contribuir para a iluminação global. Isso pode ser parcialmente aprimorado com o uso de sondas de reflexão para fornecer um fallback quando os raios marcharem para fora do buffer do Frame.

Ative o SSGI nas configurações de quadro em Iluminação. Ele também deve ser ativado na seção Lighting (Iluminação ) do Pipeline Asset.

Observação: Recomendamos o uso do Unity 2021.2 ou superior com o Screen Space Global Illumination. O HDRP 12 inclui melhorias significativas na qualidade do SSGI.

Interface de refração
Refração do espaço da tela

A substituição derefração do espaço da tela ajuda a simular como a luz se comporta ao passar por meios mais densos que o ar. O Screen Space Refraction do HDRP usa o buffer de profundidade e cor para calcular a refração através de um material transparente como o vidro.

Para ativar esse efeito por meio do HDRP Lit Shader, certifique-se de que seu material tenha um tipo de superfície transparente.

Em seguida, escolha um modelo de refração e um índice de refração em Transparency Inputs (Entradas de transparência). Use o Sphere Refraction Model para objetos sólidos e escolha Thin (como uma bolha) ou Box (com uma pequena espessura) para objetos ocos.

Este conteúdo foi útil?