Risk of Rain 2 não é apenas um sucesso de design jogável, mas um estudo de caso na otimização de assets para Unity. Sua estética 3D estilizada, baseada em silhuetas nítidas e paletas de cores neon, não surgiu por acaso. Por trás de cada inimigo massivo e cada explosão de partículas, há um pipeline cuidadosamente orquestrado que combina modelagem no Maya, texturização no Substance Painter e uma gestão de escala brutal no motor gráfico.
Do Maya ao Unity: modelagem, silhuetas e o truque do cel-shading 🎨
O processo começa no Maya, onde os sobreviventes e alienígenas são modelados com uma topologia limpa e baixa em polígonos. A chave não está nos detalhes microscópicos, mas na silhueta: cada personagem deve ser legível mesmo quando centenas de inimigos ocupam a tela. Uma vez exportado o modelo base, o trabalho segue para o Substance Painter. Aqui, em vez de texturas realistas, aplica-se um estilo de cel-shading por meio de geradores de sombras planas e bordas de tinta. O truque técnico reside nos mapas de ID de cor e nos canais de emissão: os tons neon são atribuídos a materiais que, no Unity, brilharão sem a necessidade de luzes complexas, economizando recursos de renderização. O resultado é um asset que conserva o volume sem perder a estética de desenho animado.
Escala massiva e partículas: o desafio da otimização indie ⚙️
O maior desafio técnico de Risk of Rain 2 é a escala. Com dezenas de inimigos e efeitos de partículas simultâneos, um mau gerenciamento do LOD (Level of Detail) destrói o desempenho. A solução foi criar sistemas de partículas modulares no Unity que reutilizam texturas de baixa resolução, combinadas com o sistema de GPU Instancing para duplicar inimigos sem duplicar a memória. Para replicar essa estética em projetos indie, o conselho é claro: priorize as silhuetas sobre os detalhes, use o Substance Painter para gerar texturas planas com bordas de luz, e nunca subestime o poder de uma boa paleta de cores neon para ocultar a baixa densidade poligonal.
Como a equipe de Risk of Rain 2 conseguiu equilibrar o alto desempenho necessário para seu caótico multijogador com o uso de texturas processuais no Substance e um sombreamento cel-shading no Unity sem sacrificar a identidade visual neon do jogo?
(PS: 90% do tempo de desenvolvimento é polir, os outros 90% é corrigir bugs)