Os reflexos são um aspecto importante para dar vida aos ambientes, permitindo que a luz dê relevo aos objetos na cena. Em 3D em tempo real, os reflexos começam com a maneira com que a configuração dos [Materiais] (designing-visuals-rendering-and-graphics/materials) é feita. Os materiais com baixos valores de rugosidade tornam as superfícies mais ou menos reflexivas. Essa pode ser a diferença entre criar uma superfície espelhada ou um metal escovado.
O Unreal Engine fornece vários sistemas de reflexo dedicados para serem usados em seus projetos. Alguns deles podem ser usados em conjunto ou sozinhos, desconsiderando quaisquer outros métodos de reflexo. A escolha dos tipos de reflexos que você habilita para o seu projeto se resume principalmente à qualidade que você deseja alcançar e às plataformas nas quais pretende lançar. Alguns sistemas de reflexo podem ser muito caros para o desempenho, compatíveis apenas com determinadas plataformas ou podem ter restrições de hardware.
Tipos de Reflexos
Ao desenvolver seu projeto, você deve considerar se seu projeto precisa de reflexos dinâmicos, o nível de qualidade que deve atingir e se a plataforma de destino na qual deseja lançá-los é compatível com eles ou não.
Por exemplo, usar uma combinação de capturas de reflexos estáticas com um efeito de pós-processamento dinâmico de reflexos de espaço de tela funciona bem para a maioria das plataformas e é rápido de renderizar, mas tem artefatos de renderização devido à sua natureza. No entanto, usar Reflexos e Iluminação Global do Lumen e Reflexos de Traçado de Raios emula luz e reflexos com mais precisão para objetos de chão na cena, mas tem um custo de renderização mais alto e não é compatível com todas as plataformas.
Os sistemas de reflexo disponíveis são compatíveis com os seguintes tipos de reflexos e plataformas:
| Sistema de Reflexo | Tipo de Reflexos | Plataformas Compatíveis |
|---|---|---|
| Reflexos do Lumen | Dinâmico | PCs desktop de topo de linha e consoles de última geração |
| Reflexos de Traçado de Raios | Dinâmico | Sistemas de PC desktop com Windows 10, DirectX 12 e uma GPU NVIDIA compatível |
| Reflexos do espaço de tela | Dinâmico | Desktop e consoles |
| Capturas de reflexos | Estático | Todas as plataformas |
| Reflexos planares | Dinâmico | Todas as plataformas |
Reflexos do Lumen
Os Reflexos do Lumen fazem parte do sistema de Reflexo e Iluminação Global do Lumen, que usa Traçado de Raios baseado em software ou hardware para gerar reflexos para a cena. O Lumen usa uma combinação de métodos para representar com precisão a cena por meio de rastreamentos de tela ao usar o modo Traçado de Raios de software. Quando o modo Traçado de Raios de hardware estiver habilitado, ele aproveitará a arquitetura de traçado de raios existente para reflexos, mas requer uma GPU NVIDIA compatível para operar.


Para obter mais informações, consulte Reflexos e Iluminação Global do Lumen.
Reflexos de Traçado de Raios
Essa funcionalidade de traçado de raios está obsoleta e pode ser removida em uma versão futura.
Os Reflexos de Traçado de Raios por hardware usam técnicas de traçado de raios para emular a maneira como a luz funciona para uma representação precisa do ambiente e oferece suporte a vários saltos de reflexo. O Traçado de Raios no Unreal Engine requer uma GPU NVIDIA compatível e um sistema operacional Windows compatível com DirectX 12.


Para obter mais informações, consulte [Traçado de Raios por Hardware] (building-virtual-worlds/lighting-and-shadows/ray-tracing-and-path-tracing/hardware-ray-tracing).
Reflexos do espaço de tela
Os Reflexos do Espaço de Tela (SSR) são um efeito de pós-processamento dinâmico que se limita a refletir apenas o que é visível na tela. Objetos fora da tela ou ocluídos por objetos na tela não podem ser representados nos reflexos do espaço de tela, o que pode causar artefatos de renderização nas reflexos.
Para obter mais informações, consulte Reflexos do espaço de tela.
Atores de captura de reflexo
Os atores de Captura de reflexo são uma captura estática de baixo custo da área em que a sonda de reflexo é colocada. Muitos deles podem ser colocados em torno do nível sem impacto no desempenho, pois são calculados antes do tempo de execução.
Há dois tipos de Captura de Reflexo para escolher: uma forma de Caixa e uma de Esfera. Eles trabalham capturando uma imagem do ambiente circundante a partir do centro e, em seguida, mapeando-a para a forma de captura de reflexo. As capturas de reflexo podem se sobrepor e se misturar umas com as outras e geralmente são colocadas com uma grande para abranger uma área e outras menores para reflexos estáticos mais definidos em superfícies.
Para obter mais informações, consulte Atores de captura de reflexo.
Reflexos Planares
Reflexos Planares é um ator que pode ser colocado ao longo de superfícies para criar reflexos precisos e dinâmicos da cena, renderizando o nível novamente a partir da direção do reflexo. Esse método de reflexo pode ser caro, mas fornece reflexos precisas e é compatível com todas as plataformas.


Para obter mais informações, consulte Reflexo planar.
Reflexos de alta qualidade
As configurações de qualidade de reflexo padrão atingem um bom equilíbrio entre desempenho e qualidade visual. No entanto, para projetos que estão menos preocupados com o desempenho e desejam aumentar ainda mais a qualidade dos reflexos, você pode usar o GBuffer de Normais de alta precisão para fazer isso.
Um fator importante na obtenção de reflexos de alta qualidade é a precisão com que o vértice normal e a tangente podem ser representados. Malhas de alta densidade podem levar a quantização de vértices adjacentes para os mesmos valores de normais e tangentes de vértice, o que leva a saltos em ladrilhos na orientação normal. Codificar as normais e tangentes como 16 bits por canal permite que os desenvolvedores façam a troca entre maior qualidade e quanta memória adicional é usada para codificar buffers de vértice.


As seguintes configurações são necessárias para habilitar as normais de alta precisão para reflexos:
-
Em Configurações de Projeto em Engine > Renderização > Otimizações altere o Formato de GBuffer para Normals de Alta Precisão.
-
Abra qualquer recurso de malha estática e, usando o painel Detalhes no Editor de Malha Estática, em LOD 0 > Configurações de Compilação, habilite Usar base tangente de alta precisão.