Camadas de sujeira em tempo real: o sistema técnico de PowerWash Simulator

26 de May de 2026 Publicado | Traducido del español

PowerWash Simulator, desenvolvido em Unity, apresenta um desafio técnico único: simular a limpeza de superfícies de forma convincente. Longe de uma simples mudança de cor, o jogo emprega um sistema de camadas de sujeira dinâmicas que são eliminadas progressivamente por meio de máscaras de textura em tempo real, apoiando-se em um fluxo de trabalho PBR (Physically Based Rendering) para manter o realismo visual.

PowerWash Simulator limpeza de sujeira dinâmica em tempo real com Unity e Substance Painter

Fluxo de assets: do Maya ao Unity com Substance Painter 🎨

O processo começa no Autodesk Maya, onde veículos e edifícios são modelados com uma geometria limpa e otimizada para tempo real. Cada asset é exportado para o Substance Painter, onde as texturas base PBR (albedo, normal, roughness, metálica) são criadas. A chave técnica reside na geração de canais adicionais de máscara. No Substance Painter, camadas de sujeira e ferrugem são pintadas como texturas independentes ou em canais alfa de mapas existentes. Ao serem integradas no Unity, o shader personalizado lê essas máscaras e, por meio de um algoritmo de erosão controlado pela interação do jogador (o jato de água), vai desvanecendo a opacidade da sujeira. Isso revela progressivamente a textura PBR limpa subjacente, criando a ilusão de uma limpeza física sem a necessidade de modificar a geometria.

A ilusão da limpeza como motor do jogo 🧼

Essa abordagem demonstra como uma solução inteligente de texturização pode definir uma mecânica de jogo completa. Em vez de simulações complexas de partículas, PowerWash Simulator utiliza o poder dos shaders do Unity e a texturização multicamada do Substance Painter para oferecer uma experiência satisfatória e visualmente coerente. É um exemplo brilhante de como entender as capacidades do pipeline PBR permite que os desenvolvedores criem interações inovadoras sem sacrificar o desempenho.

Como desenvolvedor em Unity, qual sistema de camadas e shaders você usou para gerenciar o acúmulo e a remoção procedural de sujeira em tempo real sem comprometer o desempenho?

(PS: os shaders são como a maionese: se talharem, começa tudo de novo)