Neste tutorial, você criará uma cena noturna usando os materiais e ativos do tutorial anterior e uma seleção de efeitos de pós-processamento, incluindo exposição, bloom, reflexo de lente e gradação de cores. Você também aprenderá a melhorar a qualidade da iluminação e dos reflexos em sua cena usando volumes de pós-processamento e iluminação global e reflexos no Lumen.
Os efeitos de pós-processamento alteram de forma não destrutiva o visual e a sensação de um nível. Você pode imaginar esses efeitos como a aplicação de um filtro a uma câmera ou a aplicação de um gel de cor na frente da lente.
Os efeitos de pós-processamento podem ser aplicados em tempo real, sem alterar os ativos dentro de um nível. Como esses efeitos não são destrutivos, eles são úteis para fazer alterações visuais sem interromper materiais ou configurações complexas de iluminação.
A única diferença entre os níveis nas imagens a seguir é a gradação de cores, uma categoria de pós-processamento.
Os desenvolvedores de jogos usam diferentes tipos de efeitos de pós-processamento para direcionar a atenção do jogador, comunicar informações de jogabilidade e aprimorar a narrativa visual. Por exemplo:
A gradação de cores pode simular diferentes horas do dia, mudar o clima de uma cena ou comunicar visualmente dispositivos narrativos, como flashbacks.
Os Reflexos podem adicionar realismo e aprofundar a imersão durante a jogabilidade.
O Bloom pode ser usado em combinação com a exposição e os reflexos de lente para enfatizar o brilho, a refletividade ou chamar a atenção para um ativo.
Vários efeitos de pós-processamento podem ser combinados para estabelecer um estilo visual consistente para um jogo ou serem usados em situações específicas de jogabilidade. Na demonstração a seguir, usamos vários efeitos para comunicar visualmente quando um jogador está submerso.
Os efeitos de pós-processamento também são usados para controlar a otimização das funcionalidades de iluminação. Se você já jogou um jogo AAA, deve ter notado opções para ajustar efeitos pesados, como a qualidade dos reflexos. Mais adiante neste tutorial, você usará volumes de pós-processamento para equilibrar a fidelidade e o desempenho na qualidade dos reflexos na Unreal Engine.
A seguir, veremos como os efeitos de pós-processamento são aplicados nos níveis do jogo.
A anatomia dos volumes de pós-processamento
É possível aplicar efeitos de pós-processamento a um nível usando volumes de pós-processamento posicionáveis. Os volumes definem a área à qual um efeito se aplica. Esses volumes são invisíveis para os jogadores durante o tempo de execução e podem ser limitados ou não limitados.
Vejamos um exemplo que mostra a diferença entre volumes vinculados e não vinculados. Na imagem a seguir, criamos três volumes de pós-processamento que afetam a saturação.
Observe duas coisas no vídeo acima. Conforme o jogador caminha pelo corredor:
A saturação do volume não limitado permanece inalterada mesmo quando o jogador não está dentro do volume. Isso ocorre porque os volumes não limitados aplicam efeitos globalmente; para todo o nível. A escala e a posição do volume não importam.
A saturação do volume limitado só é visível quando o jogador está dentro do volume. Isso ocorre porque os volumes limitados aplicam efeitos localmente; dentro do perímetro.
Depois, você aprenderá a mesclar volumes para iniciar efeitos conforme os jogadores se aproximam do perímetro.
Os volumes podem ter camadas hierárquicas, como as camadas em um software de design gráfico. Volumes não limitados, ou volumes globais, se sobrepõem a volumes menores e limitados dentro de um nível. Da mesma forma, você pode definir uma prioridade em camadas para volumes limitados que se sobrepõem.
Os volumes globais ajudam a manter um estilo visual consistente em todo o jogo, atuam como base para camadas adicionais e mantêm o fluxo de trabalho organizado.
Por exemplo, criar efeitos visuais camada por camada pode evitar resultados inesperados que são difíceis de localizar e depurar. Para equipes que trabalham com centenas de efeitos em vários níveis, manter-se organizado pode economizar tempo valioso de desenvolvimento e depuração.
Em seguida, você configurará três volumes de pós-processamento no seu nível e definirá suas prioridades.
Configure volumes globais e locais
Vamos revisitar o volume de pós-processamento que você criou em Como iluminar uma cena e verificar se ele está aplicando efeitos globalmente:
No Organizador, pesquise por PostProcessVolume e selecione-o.
Renomeie o volume como
PPV_Global.No painel Detalhes, expanda as Configurações do volume de pós-processamento.
Verifique se Extensão infinita (não limitado) está marcado e Prioridade está definida como
0.
Em seguida, você criará dois volumes: um ao redor da Sala 3 e outro ao redor do ponto de transição de nível dentro da Sala 3.
Você ajustará a Prioridade de cada volume vinculado para que tenha precedência sobre o volume global quando o jogador entrar nele. Ao definir a prioridade, valores maiores têm precedência sobre valores menores.
Para criar novos volumes, siga estas etapas:
Na barra de ferramentas principal do Editor, clique em Criar > Efeitos visuais > Volume de pós-processamento. Se preferir, você pode usar a barra de pesquisa. Adicione dois volumes.
Nomeie o primeiro volume como
PPV_Room3e o segundo comoPPV_LevelTransition.No Organizador, selecione
PPV_Room3e defina Escala para8,5, 10, 5.Defina a Localização como
1600, -1050, 370. Isso deve cercar aproximadamente a Sala 3.Em Configurações do volume de pós-processamento, defina Prioridade como
100.Escolha valores com um amplo intervalo entre eles. Isso permite inserir e remover volumes sem precisar atualizar a prioridade do volume existente. Por exemplo, itere por 10 ou 100 entre cada valor.
Defina o Raio de mesclagem como
0e verifique se Extensão infinita está desmarcado.Selecione
PPV_LevelTransitione defina Escala como1,5, 1,5, 2,5.Defina sua Posição como
2170, -1450, 600. Isso deve envolver aproximadamente o ponto de transição de nível.Defina Prioridade como
200e verifique se Extensão infinita está desmarcado.
Os volumes para este tutorial já estão configurados.
Teste as predefinições de pós-processamento
Nesta seção, você testará efeitos das seguintes categorias de pós-processamento:
Lente
Exposição
Bloom
Reflexo de lente
Gradação de cores
Deslocamento
Contraste
Iluminação global e reflexos
Qualidade de iluminação da cena do Lumen
Detalhamento da cena do Lumen
Qualidade do reflexo
Traçados de tela
Rugosidade máxima para traçar
Exposição
A exposição controla os limites superior e inferior de brilho em um nível. Lembre-se: os volumes de pós-processamento não alteram as propriedades de outros atores no nível. Na demonstração a seguir, o brilho da fonte de luz não muda. Em vez disso, o que está mudando é a quantidade máxima de luz visível permitida na lente da câmera.
No mundo real, esse efeito é semelhante à forma como a abertura de uma câmera controla a quantidade de luz que ela captura. Ou como suas pupilas se dilatam e se contraem para se ajustar a diferentes condições de iluminação. É por isso que a exposição na Unreal Engine também é chamada de adaptação ocular.
Com a exposição, você pode simular efeitos óticos do mundo real e adicionar realismo a um jogo. Por exemplo, quando um jogador se move de uma área escura para uma área clara, estender o tempo necessário para que a exposição global se ajuste pode simular o tempo que o olho humano leva para se adaptar à luz mais intensa.
Nesta seção, você ajustará a exposição de PPV_Global e PPV_Room3 para criar uma transição para o período noturno quando um jogador entrar no Room 3.
Para configurar a exposição, siga estas etapas:
No Organizador, selecione
PPV_Global.No painel Detalhes, em Exposição, marque MIN EV100 e defina como
-10.Marque MAX EV100 e ajuste para
20.No Organizador, selecione
PPV_Room3.No painel Detalhes, em Exposição, marque MIN EV100 e defina como
-1,0.
Teste seu nível clicando com o botão direito na janela de visualização e selecionando Reproduzir daqui. Conforme você se aproxima da Sala 3, a exposição deve mudar, mas a mudança é abrupta demais.
Para estender a duração da mudança, mescle o volume global com o volume limitado usando o Raio de mesclagem:
No Organizador, selecione
PPV_Room3.Nas Configurações do volume de pós-processamento, ajuste o Raio de mesclagem para
1500.
Teste seu nível. Agora, à medida que você avança para a Sala 3, a exposição deve mudar gradualmente.
Seu nível pode ter um visual diferente do nosso, mesmo com os mesmos valores de exposição. No tutorial anterior, alteramos as configurações da luz direcional para que se parecesse mais com o crepúsculo.
Em seguida, você ajustará o brilho dos letreiros de néon com o efeito bloom.
Bloom
Bloom é uma imperfeição de iluminação em que a luz parece vazar para além dos limites de uma fonte de luz ou reflexo.
No cinema, essa imperfeição vem da forma como os sensores e as lentes das câmeras capturam a luz, mas o efeito pode ser reproduzido em jogos para fins artísticos. Por exemplo, bloom e exposição podem ser usados para comunicar visualmente que um jogador entrou em uma sequência onírica, flashback ou está atordoado após uma explosão.
Na Unreal Engine, você já viu o bloom em ação no tutorial anterior quando aumentou o parâmetro Brilho do material emissivo para um valor acima de 1.
Em vez de ajustar as propriedades de cada ativo individual para obter resultados generalizados, usaremos o volume de pós-processamento para controlar o bloom geral na Sala 3:
No Organizador, selecione
PPV_Room3.No painel Detalhes, expanda a categoria Lente.
Expanda a categoria Bloom e marque Intensidade. Ajuste para
0,8ou use valores próprios.Marque Limiar e defina-o como
1ou use seus próprios valores.
Limiar define o valor mínimo no qual o bloom começa a ter um efeito no nível. Pense nisso como um limitador, conforme vimos no tutorial anterior. A Intensidade controla o quão forte o bloom será, uma vez que entre em vigor.
Um limiar de -1 permite que todas as cores em um nível afetem o bloom.
Em seguida, adicione um reflexo de lente aos letreiros de néon.
Reflexo de lente
Um reflexo de lente é um artefato de iluminação que ocorre quando a luz brilhante reflete em imperfeições em uma lente ou em elementos internos de uma câmera.
O efeito pode ser imitado em jogos para fins artísticos. Por exemplo, os reflexos de lente podem direcionar a atenção para um objeto reflexivo, promover o fotorrealismo ou enfatizar a força do sol quando o jogador olha diretamente para ele.
Para criar reflexos de lente no seu nível, siga estes passos:
No Organizador, selecione
PPV_Room3.No painel Detalhes, expanda Lente > Reflexo de lente.
Marque Intensidade e defina como
0,5.Marque BokehSize e defina como
5.Valores mais baixos produzem bokehs mais nítidos com menos dispersão, enquanto valores mais altos produzem mais dispersão.
Marque BokehShape e procure por
DefaultBokeh.No cinema, a forma geométrica das partículas bokeh vem do formato da abertura da câmera. Devido à sua popularidade em filmes, esse efeito é reproduzido em jogos, onde não há aberturas físicas.
Teste seu trabalho movendo-se para frente e para trás na frente de uma fonte de luz ou material emissivo no seu nível.
Em seguida, você usará a gradação de cores para comunicar as mecânicas de jogo aos jogadores.
Gradação de cores
De forma semelhante aos software de edição de imagens, você pode usar a gradação de cores para afetar a saturação, o contraste, o gama, o ganho, o deslocamento, a tonalidade, entre outros em um nível.
Com essas ferramentas, você pode alterar a hora do dia percebida, a sensação evocada ou as convenções de gênero do nível. Por exemplo, o tom sépia é um estilo de gradação de cores que sugere antiguidade.
Para o seu nível, você usará a gradação de cores para comunicar ao jogador quando ele entrar em um ponto de transição de nível. O ponto de transição de nível é uma mecânica de jogo criada em Como projetar uma aventura de quebra-cabeça que leva os jogadores a um novo nível.
Atualmente, quando você está no ponto de transição de nível, a luz retangular abaixo de você não é potente o suficiente para competir com a luz direcional e as luzes pontuais ao redor da sala. Do ponto de vista do jogador, a mudança da fase de jogabilidade para a transição de nível poderia ser comunicada de forma mais clara.
Se apresentado de forma clara e consistente, os jogadores aprendem a reconhecer e esperar indicações visuais que sinalizam a mecânica do jogo em seu nível.
Para resolver esse problema com o pós-processamento, siga estas etapas:
No Organizador, selecione
PPV_LevelTransition.No painel Detalhes, expanda Gradação de cores > Global e selecione Deslocamento.
O deslocamento afeta as áreas mais escuras de um nível, sendo ideal para ajustar a tonalidade geral dessa sala escura.
Escolha seus próprios valores ou defina R =
-1,0, G =-0,02, B =0,15, e Y =0,07.A sala agora deve parecer azulada:
Para corrigir o ponto brilhante criado pela luz pontual, expanda Gradação de cores > Destaques e marque Contraste.
O contraste ajusta a diferença entre as áreas mais escuras e mais claras de um nível. Aqui, reduzir o contraste diminui os níveis de branco para que fiquem dentro do limite da correção de deslocamento.
Defina os valores como R =
0,5, G =0,8, B =0,7e Y =1.O ponto brilhante deve ser menos perceptível:
Para testar o que fez até aqui, clique com o botão direito na janela de visualização e selecione Reproduzir daqui. Quando você corre para o JumpPad e pousa no ponto de transição de nível, a tela deve ficar azulada.
Em seguida, você usará volumes de pós-processamento para controlar a otimização da qualidade dos reflexos.
Iluminação global e reflexos
Os volumes de pós-processamento podem controlar a qualidade e o escopo dos efeitos visuais. Isso pode ajudar a equilibrar fidelidade e desempenho ao trabalhar com recursos de renderização pesados, como iluminação dinâmica.
Lembre-se de que a alocação de recursos geralmente afeta as decisões tomadas no desenvolvimento. Em níveis externos vastos, você pode usar volumes de pós-processamento para preservar a qualidade em áreas distantes do jogador, locais onde ele não perceberá. Isso economiza recursos em áreas onde a qualidade é importante, como ao redor do jogador durante a jogabilidade ou ao redor de uma câmera durante uma cena cinematográfica.
As configurações de iluminação global e reflexos de um volume contêm diferentes métodos de cálculo de iluminação adequados para diferentes necessidades de desenvolvimento:
| Método | Descrição |
|---|---|
Nenhum | Desativa quaisquer cálculos de iluminação global ou reflexos. As fontes de luz não criarão luz refletida ou reflexos, e as sombras parecerão completamente pretas. |
Lumen | Iluminação global (GI) do Lumen é o sistema de iluminação global totalmente dinâmico da Unreal Engine que funciona com todos os tipos de iluminação. |
ScreenSpace | Iluminação global do espaço de tela (SSGI) é um sistema de iluminação rápido e dinâmico que calcula apenas a iluminação para o que aparece na visualização da tela. |
Quando o método Lumen é selecionado na demonstração abaixo, observe que o brilho laranja das setas de néon contribui dinamicamente para a cena. Isso ocorre porque os materiais emissivos (que não são uma fonte de luz) são calculados ao usar o Lumen, mas não ao usar os outros métodos.
Além de controlar a qualidade, os volumes de pós-processamento controlam até que ponto a luz e os reflexos podem contribuir na cena. Lvl_Adventure é relativamente pequeno, e a distância de renderização não é um problema. No entanto, para áreas maiores (como jogos de mundo aberto, onde grandes distâncias podem consumir recursos significativos), configurações como Distância de visualização da cena do Lumen e Distância de renderização do traçado máxima são úteis para equilibrar escopo e desempenho.
Ajuste a qualidade do reflexo usando a GI do Lumen.
Nesta seção, você ajustará as configurações de iluminação global e reflexos do nível, resolvendo problemas em uma série de exercícios. Enquanto trabalha, você aprenderá sobre cada configuração e melhorará a aparência dos reflexos no chão molhado criado no tutorial anterior.
Entre as configurações que você ajustará estão:
| Configuração | Descrição |
|---|---|
| Iluminação global | |
Qualidade de iluminação da cena do Lumen | Calcula a fidelidade da iluminação da cena. Valores mais altos significam maior fidelidade, com um custo de desempenho. |
Detalhamento da cena do Lumen | Controla o tamanho das instâncias que podem ser representadas em uma cena. Valores maiores garantem que pequenos objetos sejam representados, a um custo de desempenho. |
| Reflexos | |
Qualidade | Aumenta a fidelidade dos reflexos do Lumen em superfícies. Valores mais altos resultam em maior fidelidade e podem reduzir artefatos, com um impacto no desempenho. |
Traçados de tela | Alterna os traçados de espaço de tela para a iluminação global do Lumen. Ativar traçados de tela melhora a fidelidade dos reflexos, mas afeta apenas o que está visível na tela. |
Rugosidade máxima para traçar | Define o valor máximo de rugosidade para o qual o Lumen ainda traça reflexos. |
Para acompanhar o exercício, aplique estes valores a PPV_Room3:
Iluminação global
Método: Nenhum
Qualidade de iluminação da cena do Lumen:
0,25Detalhamento da cena do Lumen:
0,25
Reflexos
Método: Nenhum
Qualidade:
0,25Traçados de tela: Desmarcado
Rugosidade máxima para traçar:
0,0
Para começar os exercícios, siga estas etapas:
Na janela de visualização ou no Organizador, encontre um dos ativos emissivos que você criou no tutorial anterior. Disponha-o no chão como quiser.
No Organizador, selecione
PPV_Room3.Acesse o painel Detalhes. Para usar a GI do Lumen, expanda Iluminação global, marque Método, e selecione Lumen.
Sua cena agora deve ficar assim:
Para usar os reflexos do Lumen, expanda Reflexos, marque Métodoe selecione Lumen.
Sua cena agora deve ficar assim:
Os reflexos são mais perceptíveis em materiais com baixa rugosidade. Como a rugosidade de
BP_Floorquando molhado é 0 (sem rugosidade), defina a Rugosidade máxima para rastrear como1,0.Sua cena agora deve ficar assim:
Parte da potência emissiva é perdida no piso molhado. Para resolver isso, marque Traçados de tela.
Sua cena agora deve ficar assim:
Embora a quantidade de luz refletida tenha sido melhorada, o reflexo em si não é nítido. Para melhorar a clareza dos reflexos, aumente Qualidade para
1,0.Sua cena agora deve ficar assim:
A claridade dos reflexos melhorou, mas há um artefato visível (sutil) por trás da seta.
Para resolver o problema de artefatos, aumente o número de amostras produzidas pelo Lumen GI. Em Iluminação global do Lumen, selecione Qualidade de iluminação da cena do Lumen e defina o valor como
1,0.Marque Detalhamento da cena do Lumen e defina o valor como
1,0.Sua cena final agora deve ficar assim:
Com essas configurações, você usou a iluminação global e os reflexos do Lumen para controlar a fidelidade visual e o desempenho de Lvl_Adventure. Explore essas configurações no seu próprio nível e considere situações em que pode alocar recursos para melhorar a qualidade ou conservar recursos para melhorar o desempenho.
A seguir
No próximo tutorial, você aprenderá a criar materiais de pós-processamento e aplicar um efeito na tela para indicar dano.