Versão: 5.0
O Lumen é o sistema de iluminação global e reflexões totalmente dinâmico do Unreal Engine 5, projetado para consoles de próxima geração, e é o sistema padrão de iluminação global e reflexões. Ele renderiza interreflexão difusa com ricochetes infinitos e reflexos especulares indiretos em ambientes grandes e detalhados em escalas que variam de milímetros a quilômetros.
Introdução ao Lumen
Projetos recém-criados têm Iluminação global e reflexões do Lumen habilitadas por padrão, bem como suas dependências, como Gerar Campos de Distância de Malha.
Os projetos existentes convertidos do Unreal Engine 4 no Unreal Engine 5 não habilitarão automaticamente as funcionalidades do Lumen. Isso evita quebrar ou alterar qualquer trajeto de iluminação dentro desses projetos.
O Lumen é habilitado nas Configurações do projeto, nas categorias Renderização > Iluminação Global Dinâmica e Reflexões.
A iluminação global e as reflexões podem ser definidas independentemente. Em cada categoria, defina o seguinte para habilitar o Lumen:
- Iluminação Global Dinâmica: Lumen
-
Método de Reflexão: Lumen
Quando habilitada, a propriedade Gerar Campos de Distância de Malha será habilitada, caso ainda não esteja. Ela é necessária para o modo Ray Tracing de Software do Lumen. Isso requer que o engine seja reiniciado.
A Iluminação global no Lumen substitui a Iluminação global no espaço da tela (SSGI) e a Oclusão de ambiente do campo de distância (DFAO). As Reflexões no Lumen substituem as Reflexões no espaço da tela.
Quando o Lumen está ativado para um projeto, as contribuições de iluminação estática pré-computadas são desabilitadas e todos os mapas de luz são ocultados.
Recursos de iluminação de lumen
O Lumen traz iluminação global dinâmica robusta para o Unreal Engine e se integra bem com outros sistemas de suporte no Unreal Engine 5, como o Nanite, o World Partition e o Virtual Shadow Maps.
Recursos do Unreal Engine 4, como Iluminação global no espaço da tela e Iluminação global de Ray Tracing (RTGI) não eram confiáveis ou de grande desempenho para projetos que dependiam de tempo real com qualidade alta o suficiente. Além disso, esses recursos não se integravam totalmente a outros sistemas importantes para oferecer suporte amplamente a maioria das funcionalidades do engine.
Iluminação global do Lumen
A Iluminação global do Lumen resolve a iluminação indireta difusa. Por exemplo, a luz refletida difusamente em uma superfície captura a cor dessa superfície e reflete a luz colorida em outras superfícies próximas, criando um efeito chamado de sangramento de cor. As malhas na cena também bloqueiam a iluminação indireta, que também produz sombreamento indireto.
O Lumen fornece rebatimentos difusos infinitos, que são importantes em cenas com materiais difusos brilhantes, como a tinta branca no apartamento abaixo.
A Geometria virtualizada do Nanite do Unreal Engine 5 permite que a geometria seja muito mais detalhada do que nunca. O Lumen atinge sombreamento de resolução total, ao mesmo tempo em que calcula a iluminação indireta em uma resolução muito menor para desempenho em tempo real.
Lumen com iluminação celeste
A iluminação celeste é resolvida como parte do processo de Reunião final do Lumen. Ela inclui sombreamento do céu, permitindo que o espaço interno seja muito mais escuro do que a iluminação externa, proporcionando um efeito muito mais natural.
O Lumen também fornece iluminação global de qualidade inferior para Translucidez iluminada e Neblina volumétrica.
Lumen e materiais emissivos
Materiais emissivos propagam a luz através da Reunião final do Lumen sem nenhum custo adicional de desempenho. No entanto, há um limite de quão pequenas e brilhantes as áreas emissivas podem ser antes de começarem a causar o aparecimento de artefatos de ruído. É inerentemente muito mais difícil de resolver do que fontes de luz manualmente colocadas.
Reflexos do Lumen
O Lumen resolve especular indireto, ou reflexões, para toda a gama de valores de rugosidade de material.
Iluminação global difusa e claraboia sombreada podem ser vistas em todas as reflexões. Reflexões do Lumen também oferecem suporte para materiais de revestimento transparente, como o exemplo do carro abaixo.
O Lumen fornece reflexões brilhantes na translucidez, como as janelas do carro no exemplo abaixo.
No momento, não há suporte para reflexões espelhadas.
Tipos de luz com suporte e outras funcionalidades
Em umalto nível, o Lumen oferece suporte para o seguinte:
- Todos os Tipos de luz são aceitos, incluindo luzes direcionais, celestes, pontuais, holofotes e retangulares.
- Funções de Luz são aceitas apenas na luz direcional.
- Luzes com a Mobilidade definida como Estática não são acietas, pois luzes estáticas são armazenadas completamente em mapas de iluminação, e sua contribuição é desabilitada quando o Lumen está habilitado.
Configurações do Lumen
As configurações do Lumen estão em dois locais: Configurações do projeto e Volume de pós-processamento.
Configurações de projeto do Lumen
Todas as configurações do projeto que são para o Lumen ou que o afetam estão na seção Engine > Renderização. A seção Configurações do projeto contém todas as configurações padrão do Lumen para o projeto.
Abaixo está uma lista de todas as configurações necessárias pelo Lumen ou que o afetam:
| Nome da propriedade | Descrição |
|---|---|
| Iluminação global | |
| Método de Iluminação Global Dinâmica | Escolha o tipo de iluminação global dinâmica que você deseja usar no seu projeto. |
| Reflexões | |
| Método de Reflexão | Escolha o tipo de reflexões dinâmicas que você deseja usar no seu projeto. |
| Lumen | |
| Usar Hardware Ray Tracing quando disponível | Usa as funcionalidades do Hardware Ray Tracing para Lumen quando compatível na placa de vídeo, RHI e sistema operacional. Caso contrário, o Lumen recorrerá ao Software Ray Tracing. O Hardware Ray Tracing tem custos significativos de atualização de cenas para cenas com mais de 100.000 instâncias. Consulte o Guia de desempenho de Ray Tracing para obter informações. |
| Modo de Iluminação de Raios | Controla como os raios de Reflexão do Lumen são iluminados quando o Lumen está usando o Hardware Ray Tracing. Por padrão, o Lumen usa Cache de Superfície para melhor desempenho, mas pode ser definido como Iluminação incidente para reflexos para maior qualidade. |
| Modo de Software Ray Tracing | Controla qual método de traçado o Lumen usa ao traçar os raios da cena. Tracing Detalhado rastreia com base em campos de distância da malha individual para gerar a mais alta qualidade. Tracing Global rastreia com base o campo de distância global de detalhes inferiores para gerar rastreamentos mais rápidos. |
| Hardware Ray Tracing | |
| Suporte para Hardware Ray Tracing | Habilita o Ray Tracing de sistemas operacionais, RHI e placas de vídeo compatíveis para resultados de maior qualidade. |
| Software Ray Tracing | |
| Gerar Campos de Distância de Malha | Escolha entre criar ou não campos de distância de malhas estáticas. Isso é necessário para Software Ray Tracing com Lumen e Oclusão de ambiente do campo de distância, uma funcionalidade usada para implementar sombras de luz celeste móvel e sombras de campo de distância com Ray Tracing em luzes direcionais. Habilitar isso aumenta os tempos de compilação, o uso de memória e o tamanho do disco de malhas estáticas. |
| Densidade de Voxel de Campo de Distância | Determina como a escala padrão de uma malha é convertida em dimensões de voxel de campo de distância. Alterar isso faz com que todos os campos de distância sejam reconstruídos. Valores grandes consomem memória muito rapidamente. |
Configurações de pós-processamento
Volumes de pós-processamento contêm substituições e propriedades controladas pelo artista para o Lumen. As configurações estão nas categorias Iluminação Global e Reflexões.
Abaixo está uma lista de todas as configurações para o Lumen encontradas no Volume de Pós-processamento:
| Nome da propriedade | Descrição |
|---|---|
| Iluminação global | |
| Qualidade de Iluminação de Cena do Lumen | Escalas maiores fazem com que a Cena do Lumen seja calculada com maior fidelidade, o que pode ser visível em reflexões, mas com um custo de GPU maior. |
| Detalhe da Cena do Lumen | Controla o tamanho das instâncias que podem ser representadas na Cena do Lumen. Valores maiores garantem que pequenos objetos sejam representados, mas aumentam o custo da GPU. |
| Distância de Visualização da Cena do lúmen | Define a distância máxima de visualização da cena que o Lumen mantém para basear o Ray Tracing. Valores maiores aumentam a faixa efetiva de sombreamento celeste e iluminação global, mas aumentam o custo da GPU. |
| Qualidade da Coleta Final | Aumenta a qualidade da Iluminação global no Lumen e reduz o ruído que está sendo renderizado, mas aumenta o custo da GPU para renderização. |
| Distância Máxima de Rastreamento | Controla a distância máxima que o Lumen deve traçar ao resolver a iluminação. Valores muito pequenos fazem com que a iluminação vaze para áreas grandes, como cavernas. Valores grandes aumentam o custo da GPU para renderizar a cena. |
| Velocidade de Atualização da Iluminação de Cena do Lumen | Controla o quanto da Cena do Lumen pode armazenar em cache os resultados de iluminação para melhorar o desempenho. Escalas maiores fazem com que as alterações de iluminação se propaguem mais rapidamente, mas aumentam o custo da GPU. |
| Velocidade de Atualização da Iluminação de Reunião Final | Controla o quanto da Reunião final do Lumen pode armazenar em cache os resultados de iluminação para melhorar o desempenho. Escalas maiores fazem com que as alterações de iluminação se propaguem mais rapidamente, mas aumentam o custo da GPU. |
| Qualidade | Aumenta a qualidade das reflexões do Lumem nas superfícies e reduz o ruído renderizado, mas aumenta o custo da GPU para renderização. |
| Modo de Iluminação de Raios | Ao usar Hardware Ray Tracing com Lumen, essa configuração controla se os reflexos reutilizarão o cache de superfície para iluminação barata ou se calcularão a iluminação no ponto de incidência para maior qualidade. |
Notas adicionais
A seguir estão algumas considerações adicionais a serem lembradas ao trabalhar com as funcionalidades do Lumen nos seus projetos.
Velocidade de Atualização da Iluminação do Lumen
O Lumen usa vários caches para obter desempenho em tempo real. Embora as alterações de iluminação local se propagam rapidamente, as alterações de iluminação global, como desabilitar o Sol, podem levar vários segundos para se propagar. Os projetos podem usar os controles no Volume de pós-processamento Velocidade de Atualização da Iluminação de Cena do Lumen e Velocidade de Atualização da Iluminação de Reunião Final para contornar esse atraso às custas do aumento do custo de GPU.
Desativando a iluminação estática do projeto
A iluminação pré-calculada da iluminação estática é removida quando o Lumen é habilitado. Você pode desabilitar totalmente a iluminação pré-calculada para o seu projeto em Configurações do projeto, na seção Engine > Renderização, desabilitando Permitir Iluminação Estática.
Desabilitar a iluminação estática também economiza sobrecarga de iluminação estática com permutações de shaders. Também permite que a Oclusão de Ambiente de Material funcione com a Iluminação global do Lumen.
Projetos que já usam iluminação estática terão seus mapas de iluminação carregados na memória e no disco até que a opção Forçar Iluminação Não Pré-calculada seja habilitada nas Configurações do Mundo de um nível já carregado. Em seguida, você precisará reconstruir a iluminação e salvar o nível para remover os dados do mapa de iluminação.
Oclusão de Ambiente de Material
A Iluminação global no Lumen oferece suporte para Oclusão de Ambiente de Material, que fornece auto-oclusão confiável em malhas esqueléticas.
Para usar a Oclusão de Ambiente de Material com o Lumen:
- Desabilite Permitir Iluminação Estática na configuração do projeto para criar espaço no GBuffer.
- Defina o Material para saída como Oclusão de Ambiente.
Esquerda, Lumen GI em uma malha esquelética com apenas rastreamentos de tela (Software Ray Tracing); Direita, Oclusão de Ambiente de Material.
A Iluminação global do Lumen oferece suporte a Mapas de Normais Dobradas de material. No entanto, estes são significativamente mais caros do que a Oclusão de Ambiente de Material, com pouca melhoria visual.
Para usar Mapas de Normais Dobradas com o Lumen:
- Defina
r.GBufferDiffuseSampleOcclusion=1na seção[SystemSettings]do arquivo de configuração DefaultEngine.ini do seu projeto e reinicie o editor. - Configure o material a ser enviado ao nó de saída personalizado Normal Dobrada.