O que é um Level (Nível) e por que ele importa para gameplay
No Unreal Engine, um Level (nível) é o “palco” onde a gameplay acontece: ele contém a disposição de atores na cena (geometria, luzes, volumes, spawns, triggers, etc.) e define como o jogador vai interagir com aquele espaço. Pense no Level como um arquivo de mapa jogável que reúne: layout, regras locais (por exemplo, GameMode do nível), e elementos que controlam fluxo (gatilhos, áreas de morte, bloqueios).
Diferença entre Level (mapa) e conteúdo (assets)
É comum confundir “mapa” com “conteúdo”. No Unreal:
- Level (Map): é um arquivo
.umapque armazena a cena e as referências aos atores posicionados. Ele não “carrega” as malhas e materiais dentro dele; ele referencia assets. - Conteúdo (Assets): são os arquivos do projeto (malhas, materiais, texturas, Blueprints, sons). Eles ficam no Content Browser e podem ser reutilizados em vários Levels.
Na prática: você pode ter vários Levels diferentes usando os mesmos assets (mesmas paredes, mesmo personagem, mesmos Blueprints), mudando apenas a composição e regras do cenário.
Criando e duplicando Levels (passo a passo)
Criar um novo Level
- No Content Browser, escolha uma pasta para organizar seus mapas (ex.:
Content/Maps). - Crie um novo Level: File > New Level.
- Escolha um template (por exemplo, Empty Level para começar limpo, ou um template com iluminação básica).
- Salve imediatamente em
Content/Mapscom um nome claro, por exemplo:L_PrototipoPercurso.
Boas práticas de nome: use prefixo L_ para Levels, e evite espaços. Isso facilita buscas e automações.
Duplicar um Level existente
- No Content Browser, localize o arquivo
.umapdo Level. - Use Duplicate (clique direito > Duplicate).
- Renomeie o duplicado (ex.:
L_PrototipoPercurso_V2). - Abra o novo Level e valide se referências e atores estão como esperado.
Duplicar é útil para iterar gameplay sem “quebrar” a versão anterior.
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
GameMode por Level: regras diferentes para mapas diferentes
O GameMode define regras de gameplay: Pawn padrão, PlayerController, HUD, regras de spawn, etc. Você pode configurar um GameMode global (para o projeto) e sobrescrever por Level quando precisar de comportamentos diferentes em mapas específicos.
Configurar GameMode padrão do projeto (visão geral)
O padrão geralmente é definido nas configurações do projeto (Maps & Modes). Isso vale para todos os Levels, a menos que um Level sobrescreva.
Sobrescrever GameMode em um Level (passo a passo)
- Abra o Level desejado.
- Vá em World Settings (Configurações do Mundo).
- Em GameMode Override, selecione o GameMode específico para esse Level.
- Confirme também os defaults (Default Pawn Class, Player Controller Class) se o seu GameMode permitir ajustes.
Dica de uso: um Level de menu pode ter um GameMode sem Pawn jogável; já um Level de gameplay usa um GameMode com personagem e regras de vitória/derrota.
Composição de cena pensando em gameplay (Outliner limpo)
Uma cena bem organizada acelera ajustes de gameplay. A ideia é agrupar atores por função e manter nomes consistentes.
Estratégia de organização no Outliner
- Pastas no Outliner por categoria:
Gameplay,Geometry,Lighting,Volumes,VFX. - Nomes descritivos:
SM_Wall_01,BP_TriggerCheckpoint_01,V_KillZ_Pit_01. - Atores “de sistema” (luzes, capturas, volumes) separados dos atores “de layout” (chão, plataformas).
- Evite dezenas de atores soltos sem pasta; isso torna difícil encontrar o que controla a gameplay.
Landscape (opcional): terreno rápido para protótipos
Landscape é o sistema de terreno do Unreal. Para um percurso simples, ele pode substituir um chão plano e permitir rampas e desníveis rapidamente.
Criar um Landscape básico (passo a passo)
- Entre no modo Landscape.
- Escolha dimensões simples (não exagere na resolução para protótipo).
- Clique em Create.
- Use a ferramenta de escultura (Sculpt) para criar pequenas elevações e valas.
Quando usar: se o percurso precisa de relevo. Se for um “parkour” de blocos e plataformas, Static Meshes podem ser mais diretos.
Volumes essenciais para gameplay
Volumes são áreas invisíveis que alteram comportamento quando algo entra/colide. Eles são fundamentais para criar regras espaciais sem precisar de geometria complexa.
Trigger Volume (gatilho)
Um Trigger detecta sobreposição (overlap) e dispara eventos. Ele é ideal para checkpoints, mensagens, iniciar armadilhas, abrir portas, etc.
Uso típico:
- Quando o jogador entra na área, registrar checkpoint.
- Quando o jogador entra, ativar um obstáculo (por exemplo, mover uma plataforma).
Passo a passo (conceito prático):
- Adicione um Trigger (Box Trigger é o mais comum).
- Ajuste o tamanho para cobrir a área desejada.
- Garanta que o Pawn do jogador gere overlap com o Trigger (configuração de colisão).
- No Blueprint do Trigger (ou Level Blueprint), use eventos do tipo
OnActorBeginOverlap/OnComponentBeginOverlappara reagir.
// Pseudológica (Blueprint): OnActorBeginOverlap (OtherActor == Player) -> Set Checkpoint = ThisLocationBlocking Volume (bloqueio)
Blocking Volume é uma colisão invisível usada para impedir passagem ou “corrigir” colisões de malhas que não estão bem ajustadas. É muito útil para protótipos e para evitar que o jogador atravesse frestas.
Boas práticas:
- Use para “selar” bordas do percurso e impedir quedas indesejadas (quando isso não faz parte do desafio).
- Use para simplificar colisão de objetos complexos (colisão simples e barata).
KillZ / Physics Volume de morte
KillZ é um conceito de “altura de morte”: se o jogador cair abaixo de um certo valor, ele morre/respawna. Além disso, você pode usar volumes específicos para matar ao entrar (por exemplo, um poço).
Opções comuns:
- World Settings > Kill Z: define um limite global para o Level.
- Kill Volume (ou volume com lógica de dano/morte): mata ao entrar em uma área específica.
Passo a passo (KillZ global):
- Abra World Settings.
- Encontre Kill Z e defina um valor abaixo do seu percurso (ex.: se o chão está em Z=0, use algo como -2000 dependendo da escala).
- Teste caindo do mapa para verificar se o respawn/morte ocorre como esperado.
Iluminação essencial para um Level jogável
Para protótipos de gameplay, o objetivo é ter iluminação legível (o jogador enxerga obstáculos e caminhos) com configuração simples e consistente.
Directional Light (luz direcional)
Simula o sol. É a principal fonte de luz em cenas externas.
- Ajuste a rotação para definir a direção das sombras.
- Use intensidade moderada para não “estourar” materiais claros.
Sky Light (luz ambiente do céu)
Preenche sombras e dá iluminação ambiente. Sem Sky Light, sombras podem ficar pretas demais e prejudicar leitura do percurso.
- Use Sky Light para equilibrar contraste.
- Se estiver usando um Sky Atmosphere/skybox, o Sky Light pode capturar essa informação para iluminar melhor.
Reflection Capture (captura de reflexão)
Ajuda materiais com reflexo (metais, superfícies brilhantes) a refletirem o ambiente de forma coerente. Mesmo em protótipo, melhora a percepção de profundidade e materialidade.
Passo a passo:
- Adicione um Sphere Reflection Capture para áreas pequenas/médias, ou Box Reflection Capture para ambientes retangulares.
- Posicione cobrindo a área do percurso.
- Se necessário, adicione mais de um capture para zonas diferentes (evite exagero).
Atividade prática: montar um pequeno percurso jogável com gatilhos e obstáculos
Objetivo: criar um Level simples com começo, meio e fim, incluindo: áreas de gatilho (triggers), obstáculos (bloqueios), e uma área de morte (KillZ ou Kill Volume). Priorize organização no Outliner.
Requisitos do percurso
- Um ponto de início (spawn) e um ponto de chegada (área final).
- Pelo menos 2 Trigger Volumes: um checkpoint e um gatilho de evento (ex.: abrir passagem).
- Pelo menos 2 obstáculos usando Blocking Volumes (ex.: barreiras invisíveis para guiar o caminho ou impedir atalhos).
- Uma área de queda com KillZ configurado (ou um volume de morte).
- Iluminação mínima: Directional Light + Sky Light + Reflection Capture.
- Outliner organizado em pastas.
Passo a passo sugerido
- Crie/abra o Level
L_PrototipoPercurso. - Estruture pastas no Outliner: crie
Geometry,Gameplay,Volumes,Lighting. - Monte o caminho com plataformas simples (meshes básicos): uma área inicial, 3 a 5 plataformas, uma rampa ou desnível (Landscape opcional), e uma área final.
- Adicione iluminação: Directional Light (em
Lighting), Sky Light, e um Sphere Reflection Capture cobrindo o percurso. - Configure KillZ no World Settings para punir quedas fora do percurso.
- Checkpoint com Trigger: coloque um Box Trigger no meio do percurso (pasta
VolumesouGameplay). No Blueprint/Level Blueprint, ao entrar, salve a posição do checkpoint (variável) para respawn. - Gatilho de evento: adicione outro Trigger perto do final para disparar algo simples (ex.: habilitar uma plataforma, abrir uma barreira, acender uma luz). Mantenha o evento claro e testável.
- Obstáculos com Blocking Volumes: coloque volumes invisíveis para impedir que o jogador corte caminho (por exemplo, bloquear uma borda lateral) e para evitar atravessar uma área “proibida”.
- Validação: jogue o Level e verifique: leitura visual do caminho, triggers funcionando, KillZ acionando, e Outliner sem atores soltos fora das pastas.
Checklist de limpeza (Outliner)
| Categoria | O que deve conter | Exemplos de nomes |
|---|---|---|
| Geometry | Chão, plataformas, paredes | SM_Platform_01, SM_Ramp_01 |
| Gameplay | Spawns, atores de lógica | BP_Checkpoint_01, BP_Gate_01 |
| Volumes | Triggers, blocking, áreas de morte | V_Trigger_Checkpoint, V_Block_Side |
| Lighting | Luzes e capturas | DL_Sun, SL_Sky, RC_Sphere_01 |
Extensão opcional: crie uma segunda versão do Level duplicando o mapa e alterando apenas a composição (mais obstáculos, outro caminho), mantendo o mesmo GameMode. Isso reforça a diferença entre “mapa” (Level) e “conteúdo” (assets reutilizados).