Reflection probes

Introdução

Conforme declarado no Material Spatial, os objetos podem mostrar luz refletida ou difusa. Reflection probes são usadas como fonte de luz refletida e ambiente para objetos dentro de sua área de influência.

Uma sonda desse tipo captura os arredores (como uma espécie de imagem de 360 graus) e armazena versões deles com níveis crescentes de desfoque. Isso é usado para simular rugosidade em materiais, bem como iluminação ambiente.

Embora essas sondas sejam uma maneira eficiente de armazenar reflexões, elas têm algumas deficiências:

  • Eles são eficientes para renderizar, mas caros para computar. Isso leva a um comportamento padrão em que eles capturam apenas no carregamento da cena.

  • Eles funcionam melhor para salas ou lugares de forma retangular, caso contrário, os reflexos mostrados não são tão fiéis (especialmente quando a rugosidade é 0).

Configurando

Crie um nó ReflectionProbe e envolva-o em torno da área onde você deseja ter reflexos:

../../_images/refprobe_setup.png

Isso deve resultar em reflexos locais imediatos. Se você estiver usando uma textura no céu, os reflexos serão mesclados com ela por padrão.

Por padrão, em interiores, os reflexos podem parecer não ter muita consistência. Neste cenário, certifique-se de marcar a propriedade "Box Correct".

../../_images/refprobe_box_property.png

Essa configuração altera a reflexão de uma skybox infinita para refletir uma caixa do tamanho da sonda:

../../_images/refprobe_boxcorrect.png

Ajustar as paredes da caixa pode ajudar a melhorar um pouco o reflexo, mas sempre ficará melhor em salas em forma de caixa.

A sonda captura a área em volta do centro do gizmo. Se, por algum motivo, a forma ou o conteúdo da sala ocluir o centro, ele pode ser deslocado para um local vazio movendo os manipuladores no centro:

../../_images/refprobe_center_gizmo.png

Por padrão, o mapeamento de sombra é desativado ao renderizar sondas (somente na imagem renderizada dentro da sonda, não na cena real). Esta é uma maneira simples de economizar em desempenho e memória. Se você quiser sombras na sonda, elas podem ser ativadas/desativadas com a configuração Ativar sombra:

../../_images/refprobe_shadows.png

Finalmente, tenha em mente que você pode não querer que o Reflection Probe renderize alguns objetos. Um cenário típico é um inimigo dentro da sala que se moverá. Para evitar que os objetos sejam renderizados nos reflexos, use a configuração Cull Mask:

../../_images/refprobe_cullmask.png

Interior vs exterior

Se você estiver usando sondas de reflexão em uma configuração interna, é recomendável que a propriedade Interior seja habilitada. Isso impede que a sonda renderize o céu e também permite configurações de iluminação ambiente personalizadas.

../../_images/refprobe_ambient.png

Quando as sondas são definidas como Interior, a iluminação ambiente constante personalizada pode ser especificada por cada sonda. Basta escolher uma cor e uma energia.

Opcionalmente, você pode mesclar essa luz ambiente com a captura difusa da sonda ajustando a propriedade Ambient Contribution (0,0 significa cor ambiente pura, enquanto 1,0 significa captura difusa pura).

Misturando

Múltiplas sondas de reflexão podem ser usadas, e Godot irá mesclá-las onde elas se sobrepõem usando um algoritmo inteligente:

../../_images/refprobe_blending.png

Como você pode ver, essa mistura nunca é perfeita (afinal, esses são reflexos de caixa, não reflexos reais), mas esses artefatos só são visíveis ao usar reflexos perfeitamente espelhados. Normalmente, as cenas têm mapeamento normal e níveis variados de rugosidade, o que pode ocultar isso.

Como alternativa, os Reflection Probes funcionam bem combinados com os Screen Space Reflections para resolver esses problemas. Combiná-los faz com que as reflexões locais pareçam mais fiéis, enquanto as sondas são usadas apenas como uma solução alternativa quando nenhuma informação do espaço da tela é encontrada:

../../_images/refprobe_ssr.png

Por fim, mesclar sondagens internas e externas é a abordagem recomendada ao criar níveis que combinem interiores e exteriores. Perto da porta, uma sonda pode ser marcada como exterior (para obter reflexos do céu), enquanto no interior, pode ser interior.

Reflection atlas

Na implementação do renderizador atual, todas as sondas têm o mesmo tamanho e se encaixam em um Atlas de reflexão. O tamanho e a quantidade de sondas podem ser personalizados em Configurações do projeto -> Qualidade -> Reflexos

A configuração padrão do Atlas Subdiv: 8 permitirá até 16 sondas de reflexão em uma cena. Este valor precisa ser aumentado se você precisar de mais sondas de reflexão.

../../_images/refprobe_atlas.png