Layout de níveis e fluxos de trabalho de terreno em Survival Kids

DANIEL REIDLER AND STEVEN CANNAVAN / UNITY TECHNOLOGIESSurvival Kids team
Sep 3, 2025|4 Min
Jogabilidade em Survival Kids
Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.

Survival Kids é o primeiro projeto de desenvolvimento de ponta a ponta da Unity, criado em colaboração com a KONAMI. A pequena equipe que o construiu aproveitou décadas de experiência em desenvolvimento de jogos, e esta série de blogs mergulha em como eles abordaram este projeto ambicioso. A primeira edição explorou o trabalho de quadro e renderização da equipe, enquanto esta edição analisa design de níveis e ambientes.

Embora tenhamos falado principalmente sobre como alcançamos a aparência que você vê na tela, queríamos nos aprofundar no que fizemos para melhorar nossos fluxos de trabalho, tornando-os mais rápidos para que pudéssemos entregar o projeto a tempo.

Devido ao tamanho da equipe e ao escopo do projeto, consideramos muito o layout dos níveis e os fluxos de trabalho do terreno. Precisávamos de algo que fosse fácil para um designer de níveis iterar ideias, mas nossa abordagem também precisava exigir o mínimo ou nenhum retrabalho uma vez que os níveis fossem entregues à equipe de arte. Optamos por uma abordagem que tem um fluxo de trabalho muito semelhante a uma caixa branca para os designers de níveis enquanto já estávamos trabalhando com os ativos finais do jogo.

Survival Kids usa um conjunto de blocos de construção reutilizáveis para criar o layout principal dos níveis. É um conjunto de prefabs com lados de rocha de penhasco e um patch de terreno de malha em cima, configurados em diferentes tamanhos e formas.

Blocos de construção de terreno usados para a criação de níveis em Survival Kids
Blocos de construção de terreno para a criação de níveis em Survival Kids

Os lados do penhasco são oito malhas separadas, lados e cantos, cada uma com um colisor de malha simplificado. Todos compartilham o mesmo material, o que acelera sua renderização.

Um gráfico expõe as malhas de um penhasco para mostrar como esses elementos ambientais são criados
As malhas expostas de um penhasco

Esta configuração permite que o designer de níveis use esses blocos de construção para criar a maioria dos níveis usando os ativos finais do jogo, mas com um fluxo de trabalho rápido que é muito próximo da caixa branca, para permitir iterações rápidas sobre ideias.

Essa abordagem de "bloco de construção" do módulo de terreno resultou em muitos módulos sobrepostos devido às formas orgânicas dos níveis. Isso também levou à maioria dos lados do penhasco estarem dentro ou atrás de outros módulos e nunca vistos pela câmera do jogo. Para resolver isso, criamos uma ferramenta de Editor que passou por cada módulo um por um, verificando se alguma parte deles poderia ser vista do ângulo da câmera do jogo e removendo todos os não vistos.


Duas imagens mostram o antes e depois dos artistas de nível terem removido malhas não vistas no terreno do jogo.
Removendo malhas invisíveis sob terrenos

Usamos uma ferramenta do Houdini Engine para criar malhas de terreno contínuas com base nas diferentes seções dos módulos de terreno.

Duas imagens lado a lado mostram como os artistas constroem malhas de terreno contínuas a partir de cinco patches separados
Criando malhas de terreno contínuas a partir de cinco patches separados

Uma versão modificada do pacote Polybrush da Unity foi usada para pintar os diferentes materiais nas malhas de terreno. A modificação foi que o Polybrush pintaria uma textura de controle, semelhante a como o sistema de terreno da Unity faz, em vez de pintar valores nos vértices da malha.

Um artista usa o Polybrush para pintar materiais nas malhas de terreno no ambiente do jogo
Usando o Polybrush para pintar materiais nas malhas de terreno

A Oclusão Ambiental é então incorporada na cor do vértice das malhas de terreno para melhor ancorar visualmente os objetos colocados sobre ele.

Duas imagens lado a lado mostram o efeito de incorporar a Oclusão Ambiental em um terreno de jogo
Incorporando a Oclusão Ambiental

Uma ferramenta personalizada foi então usada para distribuir pequenos objetos como grama, flores e pequenas pedras nas malhas de terreno. A distribuição dos objetos é controlada individualmente usando parâmetros como densidade, material subjacente, curvatura do terreno ou proximidade a objetos maiores. Ao longo do projeto, mantivemos uma densidade muito baixa para minimizar o impacto no desempenho da pequena vegetação.

Uma captura no Editor mostra como uma Ferramenta de Dispersão de Malhas é usada para distribuir vegetação pequena de baixa densidade em um ambiente de jogo
Distribuindo vegetação pequena de baixa densidade no ambiente usando a Ferramenta de Dispersão de Malhas

Em seguida, usamos outra ferramenta personalizada para dividir os colliders de malha dos diferentes terrenos. Fizemos isso de duas maneiras:

- Como uma grade, para reduzir a contagem de triângulos e o volume de cada collider de malha e melhorar o desempenho físico do jogo

- Por material, para que o jogo possa gerar diferentes sons e VFX de passos com base no material em que os personagens estão andando (grama, areia, neve, gelo, etc.)

Uma captura no Editor mostra como um artista usa uma ferramenta do Unity chamada Terrain Mesh Splitter para distribuir colididores de malha para diferentes terrenos no jogo
Usando o Terrain Mesh Splitter para distribuir os colididores de malha de diferentes terrenos

Este post oferece apenas uma visão de como configuramos gráficos e renderização estilizados e eficientes para atingir nossa taxa alvo para Survival Kids. Confira o primeiro post da série, "Dicas de gráficos e renderização de Survival Kids," e fique atento ao blog do Unity para mais posts sobre os bastidores do jogo, incluindo uma análise em duas partes sobre redes multiplayer. Você também pode encontrar mais histórias técnicas de desenvolvedores em nossa Página de Recursos.