O Lumen é o sistema de iluminação global e reflexos totalmente dinâmico do Unreal Engine, projetado para consoles de próxima geração, e é o sistema padrão de iluminação global e reflexos. 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 reflexos 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 de Projeto, nas categorias Renderização > Iluminação Global Dinâmica e Reflexos.
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 reflexo: Lumen
Quando habilitada, a propriedade Gerar Campos de Distância de Malha será habilitada, caso ainda não esteja. É necessário para o modo Traçado de raio por 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 da Profundidade de Campo (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.
Funcionalidades de iluminação do 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.
Funcionalidades do Unreal Engine 4, como Iluminação global no espaço da tela e Iluminação global de traçado de raio (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 no Lumen
A Iluminação Global no Lumen resolve a iluminação indireta difusa. Por exemplo, a luz refletida difusamente em uma superfície capta 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, o que também produz sombras indiretas.
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 do céu
A iluminação do céu é tratada como parte do processo 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 Luz sobre Transparência e Neblina volumétrica.
Lúmen e materiais emissivos
Materiais emissivos propagam luz através da Reunião final do Lumen sem 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.
Quando o projeto tem Reflexos translúcidos de alta qualidade habilitados, os Reflexos do Lumen fornecem reflexos de espelho na camada mais frontal de materiais de superfície translúcidos.
Os reflexos do Lumen são compatíveis com materiais de água monocamada, com reflexos forçados a espelhar.
Folhagem de Dois ados do Lumen
O modelo de sombreamento de Folhagem de Dois Lados é resolvido reunindo a iluminação da face posterior e espalhando-a pela folha, atenuada pela cor de subsuperfície do material.
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.
As funções de iluminação são aceitas em todos os tipos de luzes.
Luzes com Mobilidade definida como Estática não são aceitas porque luzes estáticas são armazenadas completamente em mapas de luz, e sua contribuição é desabilitada quando Lumen está habilitado.
Configurações do Lumen
As configurações do Lumen são encontradas em dois locais: Configurações de projeto e Volume de pós-processamento.
Configurações de Projeto do Lumen
Todas as configurações de projeto que são para, ou afetam, o Lumen são encontradas 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. |
| Reflexos | |
Método de reflexo | Escolha o tipo de reflexos dinâmicos que você deseja usar no seu projeto. |
| Lumen | |
Use o traçado de raio por hardware quando disponível | Usa o traçado de raio por hardware para funcionalidades do Lumen quando aceito pela placa de vídeo, a RHI e o sistema operacional. Do contrário, o Lumen volta para o traçado de raio por software. O traçado de raio por hardware tem custos signficativos na atualização de cenas com mais de 100.000 instâncias. Consulte o Guia de desempenho de traçado de raio para obter mais informações. |
Modo de iluminação de raio | Controla como os raios de reflexos do Lumen são iluminados quando o Lumen está usando traçado de raio por hardware. Por padrão, o Lumen usa Cache de Superfícies para melhor desempenho, mas pode ser definido como Iluminação incidente para reflexos para maior qualidade. |
Reflexos translúcidos de alta qualidade | Escolha entre usar reflexos de espelho de alta qualidade na camada frontal de superfícies translúcidas. Outras camadas usarão o método Cache de Radiância de qualidade inferior, que só pode produzir reflexos brilhantes. Isso aumenta o custo da GPU quando ativado nas configurações de volume de pós-processamento. |
Modo de traçado de raio por software | Controla qual método de traçado o Lumen usa ao traçar raios na cena. O traçado de detalhes rastreia os campos de distância de malhas individuais para a mais alta qualidade. O traçado global faz traçado apenas em relação ao campo de distância global de cada raio para obter traços mais velozes. |
| Traçado de raio por hardware | |
Suporte a traçado de raio por hardware | Habilita o traçado de raios de sistemas operacionais aceitos, RHI e placas de vídeo para resultados de maior qualidade. |
| Traçado de raio por software | |
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 | Define como a escala padrão de uma malha é convertida em dimensões de voxel do 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 são encontradas nas categorias Iluminação global e Reflexos.
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: iluminação global no Lumen | |
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 reflexos, mas com um custo de GPU maior. |
Detalhamento 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 Lumen | Define a distância máxima de visualização da cena que o Lumen mantém para basear o traçado de raio. Valores maiores aumentam a faixa efetiva de sombreamento do céu e iluminação global, mas aumentam o custo da GPU. |
Qualidade final da coleta | 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. |
Traçados de tela | Determina se os traços de espaço de tela devem ser usados para iluminação global do Lumen. Os traços de espaço da tela ignoram a cena do Lumen e, em vez disso, amostram a profundidade e a cor da cena. Eles melhoram a qualidade, mas ao mesmo tempo evitam que a cena do Lumen apenas seja alterada, como a adição de objetos emissivos, que são visíveis apenas na Iluminação Global. |
Distância máxima do traço | 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. |
Resolução de cache de captura de cena | O fator de escala para a resolução de cache de superfícies do Lumen. Os valores menores economizam memória da GPU, com um custo de qualidade. O padrão é 0,5 se não for substituído. Isso deve ser definido no componente Captura de Cena em suas Configurações de Pós-Processamento. |
| Iluminação global: iluminação global no Lumen: propriedades avançadas | |
Velocidade de atualização da iluminação da 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 da 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. |
Reforço de cor difusa | Permite clarear a iluminação indireta calculando a cor difusa do material como pow(DiffuseColor, 1/DiffuseColorBoost). Valores acima de 1 (cor difusa original) não são fisicamente corretos, mas podem ser úteis como um botão de direção de arte para aumentar a quantidade de luz refletida na cena. É melhor manter o valor abaixo de 2, pois também faz com que os reflexos sejam mais brilhantes do que a cena. |
Vazamento da luz do céu | Controla qual fração da intensidade da Luz Celeste deve vazar. Isso é útil como um botão de direção de arte (sem base física) para evitar que as áreas internas fiquem totalmente pretas. |
Distância total de vazamento da luz do céu | Controla a distância de uma superfície receptora em que o vazamento da claraboia atinge sua intensidade total. Valores menores tornam o vazamento da claraboia mais plano, enquanto valores maiores criam um efeito de oclusão de ambiente. |
| Reflexos: reflexos do Lumen | |
Qualidade | Aumenta a qualidade dos reflexos do Lumen nas superfícies e reduz o ruído renderizado, mas aumenta o custo da GPU para renderização. |
Modo de iluminação de raio | Ao usar o traçado de raio por hardware com o Lumen, esta configuração controla se os reflexos reutilizarão o cache de superfícies para iluminação barata ou calcularão a iluminação no ponto de impacto para maior qualidade. |
Traçados de tela | Determina se os traços de espaço de tela devem ser usados para iluminação global do Lumen. Os traços de espaço da tela ignoram a cena do Lumen e, em vez disso, amostram a profundidade e a cor da cena. Eles melhoram a qualidade, mas ao mesmo tempo evitam que a cena do Lumen apenas seja alterada, como a adição de objetos emissivos, que são visíveis apenas na Iluminação Global. |
Reflexos translúcidos de alta qualidade | Escolha entre usar reflexos de espelho de alta qualidade na camada frontal de superfícies translúcidas. Outras camadas usarão o método Cache de Radiância de qualidade inferior, que só pode produzir reflexos brilhantes. Aumenta o uso da GPU quando habilitado. Requer que a configuração do projeto Reflexos translúcidos de alta qualidade seja habilitada primeiro. |
Rugosidade máxima para rastrear | Define o valor máximo de rugosidade para o qual o Lumen ainda traça raios de reflexo dedicados. Os valores mais altos melhoram a qualidade dos reflexos, mas aumentam consideravelmente o uso da GPU. |
Saltos de reflexo máximo | Define o número máximo de saltos de reflexos recursivos. O padrão é 1, o que significa um único raio de reflexo sem reflexos secundários em superfícies semelhantes a espelhos. Dois ou mais reflexos podem evitar áreas pretas em reflexos quando há orçamento de desempenho suficiente para permitir isso. Esta configuração de pós-processamento pode ter até 8 rejeições. Você pode usar |
Rejeições máximas de refração | A contagem máxima de eventos de refração a serem rastreados. Quando a iluminação incidente é usada, malhas translúcidas são traçadas quando o valor de saltos de refração máxima do Lumen é maior que 0, tornando o traçado de reflexos mais dispendioso. |
Observações 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.
Desabilitando 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 de 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 de 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.
Usando reflexos do Lumen com iluminação estática incorporada
Os reflexos do Lumen podem ser usados sem a iluminação global no Lumen. Isso é mais benéfico para jogos e projetos que usam iluminação estática, mas desejam aumentar a qualidade do reflexo além das capacidades de capturas de reflexo posicionadas. Reflexos de Lumen autônomos exigem que o modo Traçado de raio por hardware do Lumen esteja habilitado, o que habilita a iluminação de impacto para reflexos automaticamente.
Materiais de revestimento transparente
O Lumen aceita materiais de revestimento transparente (com normais duplos), mas com algumas limitações. Estes são:
Somente a camada superior pode ter valores baixos de rugosidade. A camada inferior é considerada como tendo um valor bruto, levando a resultados brilhantes. Essas limitações vêm do fato de que um único raio de reflexo é lançado por pixel, impedindo que as camadas superior e inferior lancem reflexos nítidos.
Quando a quantidade de verniz atinge 0, a limitação acima ainda se aplica. Isso significa que, apesar de ter uma única camada (inferior), o reflexo continua a parecer brilhante/áspero mesmo com valores baixos de rugosidade.
Oclusão de ambiente de material
A iluminação global no Lumen oferece suporte para Oclusão de Ambiente de Material, que fornece autooclusã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.
A oclusão de ambiente do material não fica visível ao usar o modo de visualização de oclusão de ambiente do Buffer Visualization.
A iluminação global do Lumen oferece suporte a Mapas de curva normal 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.