URP – Iluminação básica (Unity 2022)

Esse tutorial é para Unity 2022.3, algumas configurações podem divergir de outras versões.

Para iniciar esse tutorial, usarei um jogo base, cenário e Player com configurações básicas.

Usarei como base um jogo simples de plataforma, mas também pode ser reproduzido para jogos Topdown e outros de acordo com sua mecânica.

Tela de computador

O conteúdo gerado por IA pode estar incorreto.

O que é a URP?

URP = Universal Render Pipeline

É uma solução de renderização criada pela Unity para substituir o Built-in Pipeline.
A URP foi feita pra rodar bem em várias plataformas (PC, mobile, WebGL, consoles) e te dá recursos gráficos modernos (iluminação 2D, pós-processamento, shaders otimizados etc.) sem o peso do HDRP (que é focado em gráficos AAA).

Resumindo:

  • Built-in = motor antigo.
  • URP = motor atualizado, leve, personalizável e multiplataforma.
  • HDRP = motor parrudo pra gráficos realistas (AAA, PC/console high-end).

Principais Componentes da URP 2D

Feito para jogos plataforma/top-down.
Principais componentes:

  • 2D Renderer → Coração da iluminação 2D, sombras e efeitos.
  • 2D Lights → Global, Point, Spot (Parametric), Freeform, Sprite Light.
  • 2D Shadows → Shadow Caster 2D (faz sprites projetarem sombra).
  • Sprite-Lit Shader → Permite que sprites recebam luz.
  • Pixel Perfect Camera → Deixa a arte pixelada certinha (sem distorção).
  • Light Blend Styles → Define como as luzes se misturam entre si (aditivo, multiplicativo etc.).
  • Normals + Secondary Textures → Permite mapas normais em sprites para relevo.

Adicionando URP a um projeto Built-in

  1. Clique no Menu Window 🡪 Package Manager.

Interface gráfica do usuário

O conteúdo gerado por IA pode estar incorreto.

  1. Na janela do Package Manager Adicione o Universal RP.
    1. Em Packages, selecione a opção Unity Registry.
    2. Procure pelo Universal RP
    3. Clique em Install.
    4. Depois de instalado, pode fechar a janela do Package.

Interface gráfica do usuário, Texto

O conteúdo gerado por IA pode estar incorreto.

  1. Adicionando em seu projeto.
    1. Em Project, na pasta Assets (ou pode criar uma para URP).
    2. Clique com o botão direito Create 🡪 Rendering 🡪 URP Assets (with 2D Rendering)
    3. Dê um nome nos assets (no exemplo, coloquei, Meu URP).
    4. Ele vai criar dois arquivos, Meu URP e Meu URP_REnderer. Ícone

O conteúdo gerado por IA pode estar incorreto.

Interface gráfica do usuário

O conteúdo gerado por IA pode estar incorreto.

    1. Acesse o Menu Edit 🡪 Project Settings

Interface gráfica do usuário, Texto, Aplicativo, Email

O conteúdo gerado por IA pode estar incorreto.

    1. Na janela Project Settings, procure pelo item Graphics 🡪 Em Scriptable Render Pipeline Settings, arraste o seu UniversalRenderPipelineAsset. (ou clique no ícone e procure pelo seu asset).

Interface gráfica do usuário, Aplicativo, Teams

O conteúdo gerado por IA pode estar incorreto.

    1. Na janela de escolha, clique em continuar.

Interface gráfica do usuário, Texto, Aplicativo

O conteúdo gerado por IA pode estar incorreto.

    1. Depois de adicionar os componentes necessários, feche a janela de projeto Settings.

Como Nosso projeto foi criado usando o modelo Built-in, não contamos com o shader, Sprite-Lit-Default que faz com que os sprites respondam a iluminação, para continuar, vamos criar um Material para funcionar como o Sprite-Lit-Default.

Na janela Project, selecione a pasta Assets ou outra pasta que você esteja armazenando seus Assets relacionados a iluminação.

    1. Clique com o botão direito em pasta, selecione Create 🡪 Material.
    2. Coloque um nome do material (eu usei Sprite Luz).

Tela de computador com jogo

O conteúdo gerado por IA pode estar incorreto.

Tela de computador com jogo

O conteúdo gerado por IA pode estar incorreto.

    1. Aplique esse material em todos os SpriteRenderer ou TilemapRenderer que você quiser que respondam à iluminação.

Interface gráfica do usuário, Aplicativo

O conteúdo gerado por IA pode estar incorreto.

Interface gráfica do usuário, Gráfico

O conteúdo gerado por IA pode estar incorreto.

Interface gráfica do usuário, Gráfico

O conteúdo gerado por IA pode estar incorreto.

Seus Sprites já estão prontos para responderem aos componentes de iluminação.

Adicione um Global Light 2D, ele fará a iluminação “principal” da nossa cena.

Botão direito em Hierarchy 🡪Light 🡪 Global Light 2D

Interface gráfica do usuário

O conteúdo gerado por IA pode estar incorreto.

Uma imagem contendo Interface gráfica do usuário

O conteúdo gerado por IA pode estar incorreto.

Altere o item, Intensity para ajustar a iluminação de seu Ambiente, você também pode mudar a cor, para criar um ambiente na tonalidade de seu jogo.

Interface gráfica do usuário

O conteúdo gerado por IA pode estar incorreto.

Para esse exemplo vou adicionar um ponto de luz no meu player (iluminar o caminho) e um outro ponto em um gameobject simulando uma tocha ou lâmpada.

Futuramente você pode adicionar recursos de sombras no sprite, mas vai ficar para outro tutorial.

  1. Crie um gameObject(Create Empty na Hierarchy) vazio dentro do player, nomeie esse objeto (coloquei Luz).

Interface gráfica do usuário, Texto, Aplicativo

O conteúdo gerado por IA pode estar incorreto.

  1. Clique com o botão direito objeto que você criou, vá em Light 🡪 Spot Light 2D.

Interface gráfica do usuário, Gráfico

O conteúdo gerado por IA pode estar incorreto.

  1. Agora você pode configurar seu objeto de Luz no Inspector, parar criar seu efeito desejado, na imagem abaixo ilustrei como pode ficar.

Tela de computador

O conteúdo gerado por IA pode estar incorreto.

Segue os itens básicos que você pode ajustar.

Itens do Inspector

1. General

  • Light Type: já definido como Spot (não pode ser alterado).
  • Color: define a cor da luz (ex.: branco para lanterna, amarelo para tocha, azul para efeito mágico).
  • Intensity: força da luz. Valores comuns ficam entre 0.5 – 2.0.
  • Volume Opacity 🌫️: controla a opacidade da área volumétrica (se usar efeitos 2D Renderer com volumes).

2. Transformação do Feixe

  • Inner Angle: ângulo interno do cone (onde a luz é mais forte).
  • Outer Angle: ângulo externo do cone (até onde a luz se espalha).

Exemplo: Inner 20° / Outer 40° → centro do feixe forte, bordas suaves.

  • Inner Radius: distância do núcleo da luz (forte).
  • Outer Radius: distância máxima do alcance da luz (vai diminuindo até sumir).