Voltar para o Blog
Quest Log

Post-Processing na URP: Bloom, Vignette e Color Grading

Cena de jogo noturna com cristais brilhando em bloom suave, bordas escurecidas pela vinheta e cores quentes de color grading

Unity post processing no URP: Global Volume, o checkbox da câmera, Bloom sem estourar, Vignette, Color Adjustments, Tonemapping e Local Volume por área.

Ferramenta:Unity

Post-Processing na URP: Bloom, Vignette e Color Grading

Para fazer Unity post processing no URP você precisa de duas coisas: o checkbox Post Processing marcado na câmera e um Volume na cena com um Volume Profile cheio de efeitos. Esquecer o checkbox da câmera é o motivo número um de "coloquei o Bloom e nada aconteceu". Aqui você liga o post-processing do jeito certo, aplica Bloom, Vignette, Color Adjustments e Tonemapping com valores que melhoram a cena sem estourar, cria um Local Volume que muda o clima só numa área do mapa e decide o que desligar no mobile.

Tudo segue a documentação do URP no Unity 6.3 LTS, conferida em outubro de 2026.

Post-processing no URP: como funciona

Post-processing é o que acontece depois que a cena é desenhada: a imagem pronta passa por filtros que adicionam brilho, mudam as cores, escurecem as bordas. No URP isso é feito pelo sistema de Volumes:

  • Um Volume é um componente que diz "nesta área (ou na cena inteira), aplique estes efeitos".
  • O Volume Profile é o asset que guarda os efeitos e seus valores. Cada efeito é um Volume Override.
  • Um Volume pode ser Global (vale em qualquer lugar) ou Local (vale quando a câmera entra na área de um collider).
  • Vários volumes se misturam pela prioridade e pela distância.

Além dos volumes da cena, o projeto tem um perfil padrão, em Edit > Project Settings > Graphics > URP > Default Volume Profile, que a Unity aplica com a menor prioridade. Qualquer volume que você colocar na cena tem precedência sobre ele.

Uma nota para quem vem de tutorial antigo: o URP não é compatível com o pacote Post Processing Stack v2, aquele do componente Post-process Layer. Se o tutorial manda instalar esse pacote, ele é da Built-In.

Global Volume e Volume Profile

  1. GameObject > Volume > Global Volume. Um objeto Global Volume aparece na Hierarchy.
  2. Selecione o objeto. No componente Volume, ao lado de Profile, clique em New. A Unity cria um Volume Profile na pasta da cena.
  3. Clique em Add Override e escolha Post-processing > Bloom. Repita para Vignette, Color Adjustments e Tonemapping.

Cada override aparece com as propriedades desmarcadas. A caixinha à esquerda de cada propriedade é o override state: só as marcadas valem. Esquecer de marcar é o segundo motivo de "mudei o valor e nada aconteceu".

Ativando na câmera (o erro mais comum)

  1. Selecione a Main Camera.
  2. No componente Camera, abra a seção Rendering e marque Post Processing.

Cenas novas no URP não vêm com post-processing ligado na câmera: a documentação manda você adicionar em cada cena que criar. Se o jogo tem várias câmeras (uma de gameplay e outra de UI, por exemplo), marque só nas que devem receber efeito.

Se o Inspector do Volume mostra o aviso de que o post-processing está desligado no renderer (post processing is currently disabled on the current Universal Rendering Pipeline renderer), o problema é um nível acima. Encontre o URP Asset em uso (Edit > Project Settings > Graphics, campo Default Render Pipeline), selecione o Universal Renderer Data listado nele e ligue a opção de Post-processing. Confira também os níveis em Edit > Project Settings > Quality, porque cada um pode usar um URP Asset diferente com outro renderer.

Bloom sem estourar a tela

O Bloom faz as áreas mais claras vazarem luz em volta. Usado com medida, dá aquele brilho de cristal, lâmpada e magia. Exagerado, deixa a tela inteira leitosa.

As propriedades e os padrões do Unity 6.3:

  • Threshold (padrão 0.9): o brilho a partir do qual o pixel recebe bloom. Abaixo disso, nada.
  • Intensity (padrão 0): a força do efeito. Zero desliga o Bloom, por isso ele "não funciona" ao ser adicionado.
  • Scatter (padrão 0.7): o raio do espalhamento.
  • Tint: a cor do brilho.
  • High Quality Filtering: filtragem melhor, mais cara.

Um ponto de partida que não estoura:

  1. Marque Threshold e deixe em 1. Assim, só o que é mais claro que o branco normal brilha.
  2. Marque Intensity e comece em 0.5. Suba aos poucos até 1 ou 1.5.
  3. Scatter entre 0.6 e 0.75.

O segredo é controlar o que brilha, não a força do Bloom. Com Threshold em 1, o bloom pega só materiais com Emission em cor HDR (intensidade acima de 1) e luzes fortes. Um céu branco ou uma parede clara não brilham. Para criar um material emissivo, ligue Emission no material Lit do URP e escolha a cor com intensidade 2 ou 3 no seletor HDR. No Shader Graph, a propriedade de cor precisa estar em modo HDR; o guia de Shader Graph na Unity monta um brilho pulsante que usa exatamente isso.

Se a tela inteira está leitosa, o Threshold está baixo demais. Se nada brilha, nenhum material passa do Threshold.

Post-processing é a parte que faz o jogo "parecer pronto", e também a que mais esconde problema: um Bloom bonito por cima de uma cena mal iluminada só disfarça. No curso de Unity você monta luz, materiais e post-processing dentro de um jogo completo, na ordem certa, para o efeito somar em vez de remendar.

Curso de Unity
Quer fazer seu primeiro jogo na Unity?

No curso de Unity 6 da CursoGame.Dev você vai do zero ao primeiro jogo, com um desafio prático em cada level e suporte individual no WhatsApp quando travar.

Conhecer o curso de Unity
Suporte no WhatsAppAcesso vitalícioGarantia de 7 dias

Vignette, Color Adjustments e Tonemapping

Vignette escurece as bordas da tela e puxa o olho para o centro. Valores de partida: Intensity entre 0.2 e 0.35, Smoothness entre 0.3 e 0.5. Acima de 0.45 de intensidade começa a parecer túnel, o que é ótimo como efeito de dano e ruim como estado normal.

Tonemapping converte a imagem de HDR para a faixa da tela. Os modos do URP são None, Neutral e ACES. Neutral mantém as cores próximas do original e é a escolha segura para jogo estilizado. ACES dá contraste e saturação de cinema, mas muda matizes (vermelhos tendem ao laranja, por exemplo). Ligue o Tonemapping antes de ajustar as cores, porque ele muda tudo o que vem depois.

Color Adjustments é o ajuste geral de cor:

  • Post Exposure: brilho geral em stops. Ajustes pequenos, entre -0.5 e 0.5.
  • Contrast: entre 5 e 20 dá firmeza sem esmagar sombras.
  • Color Filter: tingimento. Um tom levemente quente ou frio define o clima da cena.
  • Hue Shift: gira todas as cores. Raramente útil fora de efeito especial.
  • Saturation: -100 deixa preto e branco. Entre -20 e 20 no uso normal.

Color grading funciona melhor quando reforça a paleta que a arte já tem, em vez de inventar outra por cima. O post sobre paleta de cores para jogos ajuda a definir essa base. Uma regra prática: ajuste o grading olhando a cena mais importante do jogo e confira nas outras. Grading feito em uma cena só costuma estragar as outras.

Local Volume: efeito só numa área

O Local Volume aplica efeitos quando a câmera entra numa área: caverna mais escura e fria, área envenenada esverdeada, sala do chefe com mais contraste.

  1. GameObject > Volume > Box Volume (ou crie um objeto vazio, adicione o componente Volume e mude Mode para Local).
  2. Ajuste o Box Collider para cobrir a área. A documentação lembra que volume local precisa de um collider: é ele que define os limites.
  3. Crie um Profile novo para esse volume (New) e adicione só o que muda na área, por exemplo Color Adjustments com Color Filter azulado e Post Exposure em -0.5.
  4. Ajuste Blend Distance, por exemplo 3. A transição acontece ao longo desses metros antes da borda, sem corte seco.
  5. Se dois volumes se sobrepõem, o de Priority maior vence.

O efeito é calculado pela posição da câmera, não do jogador. Num jogo em terceira pessoa com câmera afastada, a câmera pode entrar na caverna antes do personagem; ajuste o tamanho do collider com isso em mente.

Para efeitos de gameplay, como a vinheta vermelha ao levar dano, dá para mexer no volume por script.

Arquivo DamageVignette.cs:

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;

public class DamageVignette : MonoBehaviour
{
    [SerializeField] private Volume volume;
    [SerializeField] private float hitIntensity = 0.45f;
    [SerializeField] private float recoverPerSecond = 1.2f;

    private Vignette vignette;
    private float baseIntensity;

    private void Start()
    {
        if (volume.profile.TryGet(out vignette))
        {
            vignette.intensity.overrideState = true;
            baseIntensity = vignette.intensity.value;
        }
    }

    public void OnHit()
    {
        if (vignette != null)
        {
            vignette.intensity.value = hitIntensity;
        }
    }

    private void Update()
    {
        if (vignette == null)
        {
            return;
        }

        vignette.intensity.value = Mathf.MoveTowards(vignette.intensity.value, baseIntensity, recoverPerSecond * Time.deltaTime);
    }
}

O volume.profile devolve uma cópia do perfil só para esse volume, como o renderer.material faz com materiais, então o asset original não é alterado. Chame OnHit do script de vida do jogador. Esse é um dos truques de game feel e juice: feedback rápido que volta ao normal sozinho.

Performance no mobile: o que desligar

A documentação do URP lista como mais amigáveis ao mobile, por padrão: Bloom (com High Quality Filtering desligado), Chromatic Aberration, Color Grading, Lens Distortion e Vignette. Para profundidade de campo em aparelhos mais fracos, use o modo Gaussian em vez do Bokeh.

O que fazer no mobile:

  • High Quality Filtering do Bloom desligado. Nas propriedades avançadas, Downscale em Quarter e menos Max Iterations aliviam mais.
  • Motion Blur e Bokeh Depth of Field fora, ou só no perfil de qualidade alta.
  • Um URP Asset por nível de qualidade, com post-processing mais leve no nível baixo. Em Edit > Project Settings > Quality, cada nível aponta para o seu asset.
  • Teste no aparelho, não no editor. O custo de post-processing muda muito entre GPUs.

Próximo passo

Monte um Global Volume com Tonemapping Neutral, Bloom com Threshold 1, uma Vignette leve e um Color Adjustments discreto. Depois crie um Local Volume numa área do seu nível e veja a diferença de clima. Desligue e ligue o Volume inteiro para comparar: se a cena sem post-processing já fica boa, o post-processing está no papel certo, que é reforçar, não salvar.

Perguntas frequentes

Como ativar post-processing no URP da Unity?

Selecione a câmera e marque Post Processing no componente Camera. Depois crie um Volume (GameObject > Volume > Global Volume), clique em New para criar um Volume Profile e use Add Override para adicionar efeitos como Bloom e Vignette.

O que significa post processing is currently disabled na Unity?

É o aviso de que o post-processing está desligado no Universal Renderer que a câmera usa. Selecione o Universal Renderer Data do seu URP Asset e ligue a opção de post-processing. Sem isso, o Volume existe mas nenhum efeito aparece.

Por que o Bloom não aparece no URP?

O Bloom do URP começa com Intensity 0, que desliga o efeito, e só afeta pixels mais claros que o Threshold (0,9 por padrão). Aumente a Intensity e garanta que algo na cena seja realmente brilhante, como um material com Emission em HDR.

O Post Processing Stack v2 funciona no URP?

Não. A documentação da Unity diz que o URP não é compatível com o pacote Post Processing Stack v2. O URP tem post-processing próprio, baseado em Volumes, e o Render Pipeline Converter traduz perfis da Stack v2 ao migrar um projeto.