Como usamos efeitos visuais para construir atmosfera em nosso CRPG, Glasshouse

ANDREA MARINELLI / FLAT28Lead Technical Artist
Sep 29, 2025|6:30 Min
Logotipo de Glasshouse por FLAT28, feito com Unity. Os rostos das pessoas são refletidos em um painel de vidro verde que se despedaça. No sentido horário, vemos uma figura mascarada com um chapéu de almirante, um homem barbudo, um homem barbudo com óculos escuros (cuja boca está sendo puxada pelo homem barbudo), uma mulher com um tapa-olho branco, outro homem barbudo e uma figura obscura que poderia ser uma freira. Todos parecem estar com raiva.
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.

O blog de hoje mergulha no mundo feudalpunk de Glasshouse, o próximo CRPG do coletivo de desenvolvimento de jogos FLAT28. Anunciado na gamescom, este título em desenvolvimento – escrito pelo premiado autor Giacomo Montagnoli – promete oferecer uma experiência rica em narrativa com gráficos de alta fidelidade. Junte-se ao artista técnico líder da FLAT28, Andrea Marinelli, para aprender como ele usa recursos como iluminação volumétrica, cookies de luz e simulação de tecido para construir os ambientes atmosféricos de Glasshouse.

Introdução: Estabelecendo metas de design

Sou Andrea Marinelli, artista técnico líder na FLAT28, com mais de 12 anos de experiência na indústria de videogames. Comecei minha carreira em 2013 trabalhando em projetos de VR; com o tempo, transitei para o desenvolvimento de PC e console, expandindo minha expertise em várias plataformas e tecnologias.

Desde que entrei na FLAT28 em 2022, faço parte da equipe que desenvolve Glasshouse. Este CRPG orientado por narrativa é inspirado em jogos como Disco Elysium e Pathologic 2. Nosso objetivo é construir sobre essas fundações enquanto trazemos nossa própria reviravolta única para o gênero.

Visualmente, queríamos estabelecer um estilo único que fosse imediatamente reconhecível. Desde o início, também visamos alta qualidade visual, razão pela qual escolhemos o Unity HDRP, permitindo-nos levar os visuais mais longe e alcançar uma aparência impressionante. Esse fluxo de trabalho foi um dos fatores-chave para alcançar esse objetivo.

E neste blog, exploraremos o que prestar atenção, quais ferramentas usar e como dar pistas narrativas ao jogador, não apenas através de luzes estáticas e dinâmicas, mas também aproveitando a simulação de tecido e além.

Identifique os elementos-chave da sua cena e faça-os brilhar

Sempre acreditei que a iluminação não é apenas algo que melhora os visuais de um jogo, mas também uma ferramenta chave de narrativa. A iluminação certa pode criar humor, atmosfera e até dar aos jogadores dicas sutis sobre o que está acontecendo em uma cena particular.

Algo tão simples quanto o brilho quente de uma lâmpada, um holofote balançando ou o piscar de uma TV pode comunicar muito ao jogador sobre a história de um ambiente.

No Glasshouse, é crucial que cada sala pareça coerente, mas também única. Cada uma deve contar sua própria história e revelar algo sobre o personagem que a habita.

Existem muitas maneiras diferentes de alcançar resultados semelhantes, algumas mais eficientes que outras. No nosso caso, usei uma combinação de luzes em tempo real, mistas e assadas para obter o visual que eu queria.

Captura de tela do jogo Glasshouse da FLAT28, feita com Unity. Vista isométrica de uma sala mal iluminada, com aparência vitoriana antiga. Raios de luz entram na cena pela esquerda através de uma janela fechada.
A luz principal atinge e destaca a mesa, e luzes adicionais guiam o olhar do espectador para a TV, a porta do banheiro e a cozinha.

Iluminação em tempo real

A cena acima mostra uma sala que claramente viu algum tipo de luta: papéis espalhados pelo chão, vidro quebrado, cadeiras viradas e mais.

A principal fonte de luz aqui é um Spot Light usado para simular o sol. Escolhi um Spot Light em vez de um Directional Light porque ele não afeta toda a cena, me dando muito mais controle sobre o que ilumina e tornando-o significativamente mais eficiente para esse tipo de caso de uso. Usei isso para criar um ponto de interesse instantâneo. O olhar do jogador é imediatamente atraído para a janela, onde eles notam que está barricada. Esta luz está configurada para tempo real porque eu queria que ela projetasse sombras dinâmicas do jogador enquanto ele se move pelo espaço. Ela também é emparelhada com volumétricas em tempo real para adicionar um forte efeito cinematográfico.

Para aprimorar o efeito, combinei sombras em tempo real com um cookie de luz. O cookie simula as tábuas na janela e me permite controlar a forma e a suavidade das sombras. Isso me deu a flexibilidade de sombras em tempo real enquanto ainda alcançava detalhes estáticos precisos, como o padrão das tábuas e evitando bordas de sombra irregulares. Aumentar a resolução da sombra da Luz Spot teria aumentado os custos de desempenho, pois se aplicaria a todas as sombras no quadro. Em vez disso, usando um cookie de luz, eu poderia obter a resolução que queria apenas para aquela sombra específica sem afetar todas as outras sombras na cena.

Como esta luz é em tempo real, os raios volumétricos também se atualizam dinamicamente. Isso significa que eu poderia adicionar toques extras como pássaros em sprite 2D ou nuvens se movendo do lado de fora e a luz volumétrica reage naturalmente, mantendo a imersão.

Captura de tela do jogo Glasshouse da FLAT28, feita com Unity. Visão de perto de um quarto à moda antiga, mal iluminado, com estilo vitoriano. Há livros espalhados por um tapete em um piso de madeira. Raios de luz entram na cena pela esquerda através de uma janela fechada.
Visão de perto da mesma cena de um ângulo diferente

Luzes mistas

As luzes mistas entraram em cena principalmente para preservar os destaques especulares. Nosso jogo tem muitas superfícies metálicas e reflexivas, e eu não queria perder essa profundidade e realismo.

No entanto, não podíamos nos dar ao luxo de muitas luzes em tempo real, então as luzes mistas foram um bom compromisso. Usamos elas com sombras em cache no Awake para reduzir os custos de desempenho enquanto mantínhamos os detalhes necessários da sombra. Para luzes de preenchimento, desativamos completamente as sombras para economizar desempenho enquanto ainda mantínhamos os destaques que precisávamos.

Você pode ver como habilitar a luz mista destaca os destaques especulares nos canos.

Luzes assadas

Embora as luzes em tempo real e mistas sejam poderosas, você não pode contar com elas em todos os lugares. Por razões de desempenho e às vezes para uma melhor qualidade geral, as luzes assadas foram essenciais.

Usei várias luzes de área e luzes pontuais para aumentar a iluminação refletida onde eu queria. Embora o GPU Lightmapper da Unity já calcule GI e reflexos de luz, adicionar algumas luzes assadas cuidadosamente posicionadas ajudou a garantir que a aparência correspondesse ao clima que eu queria.

Por exemplo, adicionei uma luz de contorno ao redor de uma mesa de madeira no chão. Ela fica quase diretamente sob a luz do sol, mas sem um aumento parecia plana e subexposta. A luz de contorno fez com que ela se destacasse o suficiente para chamar a atenção sem quebrar o clima.

No entanto, para evitar que a cena parecesse muito estática, adicionei uma luz pontual em tempo real para a TV e usei o sistema de Animação da Unity para criar um leve tremor. Esse pequeno detalhe imediatamente adiciona vida e sugere a história do ambiente: talvez alguém estivesse assistindo, talvez algo inquietante tenha acontecido.

Uma luz piscante sutil para adicionar alguns elementos dinâmicos

Probes de Reflexão

Os probes de reflexão são essenciais para visuais críveis. Geralmente começo com um probe no centro da sala, cobrindo todo o espaço, para que a maioria dos objetos receba algumas reflexões de cubemap. A partir daí, coloco probes adicionais perto de objetos reflexivos específicos. Quanto mais brilhante o material, mais ele se beneficia de um probe dedicado nas proximidades.

Mesmo com apenas um probe de reflexão habilitado, o amarelo do papel de parede se torna visível nas reflexões dos canos na parte superior da tela.

Volumes de Probes Adaptativos (APVs)

Não temos um ciclo real de dia e noite em Glasshouse, então os APVs não eram necessários para transições de hora do dia. Mas eles se mostraram inestimáveis em comparação com probes de luz tradicionais para personagens dinâmicos e NPCs.

Antes, os probes de luz davam resultados que eram bons o suficiente, mas não ótimos. Os APVs colocaram automaticamente probes com interpolação mais suave, o que melhorou muito a aparência dos personagens ao se moverem entre áreas claras e escuras. Isso foi especialmente importante em salas com fortes contrastes de luz.

Captura de tela do jogo Glasshouse, feito com Unity. Vista isométrica de uma sala mal iluminada com algumas fontes de luz principais. À esquerda, a luz entra através de um painel de vidro manchado de laranja. Duas pequenas lâmpadas roxas flanqueiam um cavalete em branco.
Exemplo de uma sala com fortes contrastes de luz

Simulação de tecido

Para adicionar mais dinamismo além de personagens, luzes animadas e VFX, confiamos na simulação de tecido embutida do Unity. Foi rápido de configurar e personalizar.

Usamos principalmente para cortinas e tendas. Por razões de desempenho, não aplicamos em todos os lugares, mas sempre que o jogador interage fisicamente com o tecido (como empurrar uma cortina), isso adiciona muito realismo.

Defini restrições para que as cortinas se comportassem naturalmente e adicionei o colisor do jogador ao componente de tecido para que reagisse adequadamente ao movimento.

Captura de tela no Editor do Glasshouse da FLAT28, feito com Unity. Colisores sendo adicionados a ativos de cortina colocados em uma sala com papel de parede vermelho ornamentado. A cena é mal iluminada por uma lâmpada roxa e uma janela ao fundo (vista através de uma cortina que cobre parcialmente a porta).
Defini restrições na parte superior e no lado direito da cortina para mantê-la presa à parede e evitar que caia.

Um truque que realmente gostei foi definir o material HDRP Lit da cortina como Dupla Face. Dessa forma, sombras e luz na frente do tecido também aparecem na parte de trás, simulando um tipo de efeito de dispersão subsuperficial. Isso faz com que a cortina pareça mais fina e realista, como se a luz estivesse passando pelo tecido.

Sombras e luz são renderizadas em ambos os lados da cortina, imitando um efeito de dispersão subsuperficial.

Considerações finais

Sombras dinâmicas, luzes animadas e simulação de tecido adicionam movimento e atmosfera a um ambiente de outra forma estático. Com o equilíbrio certo de iluminação em tempo real, mista e pré-renderizada, além do uso cuidadoso de cookies, você pode guiar a atenção do jogador, sugerir detalhes narrativos e moldar o tom emocional de um espaço. O resultado pode ser assustador, tenso ou calmo, dependendo das escolhas que você faz.

Lista de desejos Glasshouse e fique atualizado sobre o desenvolvimento do jogo no canal do YouTube da FLAT28. Explore mais jogos feitos com Unity em nossa página de Curador do Steam e leia insights de desenvolvedores de jogos em nossa página de Recursos.