Blog de tecnologia

3 de setembro de 2026

Conferindo um jogo retrô inspirado em anime: uma olhada na renderização de Orbitals

Olá! Eu sou Johannes Varmedal, Diretor de Arte Associado na Shapefarm, trabalhando em nosso escritório em Tóquio como Artista Líder de Ambiente e Tecnologia em Orbitals.

Orbitals é um jogo de aventura espacial cooperativo para dois jogadores com lançamento previsto para 3 de setembro de 2026 para Nintendo Switch 2. Apresenta uma estética de anime retrô na qual investimos profundamente na criação nos últimos três anos na Unreal Engine 5.

O mundo único de Orbitals foi idealizado por Marcos Ramos (Diretor Criativo) e criado por nosso incrivelmente talentoso líder da equipe de arte, Casper Wermuth (Diretor de Arte). Feito como uma carta de amor aos animes dos anos 80 e 90, a direção de arte de Orbitals tem como objetivo capturar a atmosfera da era do anime que nos influenciou como artistas—e, até certo ponto, que nos uniu originalmente como um estúdio.  
O acesso ao código-fonte e a flexibilidade da Unreal Engine nos permitiram personalizar o pipeline de renderização padrão e alcançar nossa direção de arte de anime retrô; um dos maiores desafios técnicos do projeto. Na pré-produção, Thomas Söderlund (Arte Técnica) e Tony Holmsten (Arte Conceitual) fizeram a pesquisa e o desenvolvimento fundamentais sobre como conseguir isso. 
 
As principais observações em nossa pesquisa sobre os animes da época diziam respeito às limitações e artefatos de seu pipeline analógico. 
  • Os planos de fundo na época eram tipicamente pintados com tinta guache em papel branco por cena, com o movimento principalmente limitado à panorâmica da perspectiva fixa da pintura.  
  • Os componentes móveis por quadro (personagens/objetos interativos/efeitos visuais) eram comumente animados em duplas a 24 quadros por segundo, pintados à mão em folhas de celuloide (ou seja, cels) tipicamente atrás do trabalho de linha pré-desenhado, resultando em imprecisões oscilantes no sombreamento ao longo dos quadros.
  • Na composição, os cels eram iluminados pela frente em camadas na frente do plano de fundo, resultando em efeitos sutis de separação ou sombreamento entre os painéis de vidro na pilha de composição.  
  • Os efeitos de luz emissiva eram frequentemente alcançados por buracos iluminados por trás perfurados no plano de fundo/cels para a luz brilhar, excedendo o brilho do papel não pintado.
  • Cada quadro era, em última análise, uma foto em filme com os artefatos naturais do meio; granulação, halo, aberração cromática, bokeh, bloom etc.  
 O desafio que nos propusemos foi aplicar essas observações da forma mais fiel possível no contexto da renderização em tempo real na Unreal Engine, priorizando a jogabilidade e a imersão.  

No desenvolvimento, isso envolveu a criação de modelos de sombreamento personalizados, a adição de nossos próprios buffers de renderização, a alteração dos existentes e uma forte dependência do pós-processamento para alcançar o visual alvo.

Nosso cel shader 

 
Os modelos de sombreamento que criamos foram divididos de uma forma que segue as limitações listadas acima. A camada "frontal" na composição de anime tradicional tornou-se nosso modelo de cel shading–uma técnica frequentemente usada em jogos–, que transforma o sombreamento em uma quantidade limitada de valores, mais comumente três. No nosso caso, as três etapas foram definidas de acordo com as cores definidas pelo ativo, utilizando nossos buffers de renderização adicionais para nos dar controle artístico total sobre nosso sombreamento.  
  
Taliesan Arnold (Animador Principal) dedicou muito tempo e esforço para refinar a aparência e a sensação do movimento de personagem de quadro escalonado. Os efeitos visuais e todos os componentes de cel em movimento que não eram malhas esqueléticas animadas foram escalonados de forma semelhante em nossos shaders, limitando o movimento a 12 fps (ocasionalmente chegando até 6 fps, dependendo do efeito), enquanto a renderização da câmera do jogo permaneceu em um mínimo de 30 fps.
Nossa renderização de linha interna foi definida com campos de índice de superfície e lida em um de nossos buffers personalizados, então amostrada junto com o buffer de profundidade em uma configuração de convolução de deslocamento UV de criação de linha comum para obter as linhas internas e externas como máscaras. O resultado da máscara de linha foi ainda mais borrado para permitir diferenças de erosão alfa na espessura da linha e quebras de linha com subtração de ruído.  
 
Para emular a imprecisão na curvatura do sombreamento e a precisão nas linhas sobre os quadros quando os artistas de anime pintavam suas folhas de cel, distorcemos com ruído nossos resultados de sombreamento de cel e linha.
No jogo, a oscilação e as quebras de linha são atualizadas apenas quando o ator cel ou a câmera estão em movimento; pensamos nisso como um "redesenho" do cel na criação de quadros de anime tradicionais.

Focados na natureza analógica desenhada à mão de nossas referências, apesar de sutis, consideramos esses tipos de imperfeições importantes para a aparência do nosso jogo. 
   
Também adicionamos um destaque à nossa etapa de cel shading para adicionar uma técnica de pintura comum presente nos cels da época.
O toque final na nossa renderização de cel foi adicionar um artefato de sombra sutil, normalmente encontrado na composição tradicional de camadas de cel iluminadas pela frente.
Atores com cel shading jamais projetam sombras calculadas no ambiente, pois isso seria contraditório à diferença de ambiente "cel frontal" e "cel traseiro" na renderização.  
 
Para controlar isso, usamos um canal de iluminação exclusivo de cel ao iluminar atores com cel shading, iluminados por atores de luz exclusivos de cel que utilizam mapas de luz volumétricos pré-calculados.  
 
Para fundamentar nossos personagens e as malhas de cel adjacentes ao chão, simplesmente usamos um decalque de sombra com cel shading em uma forma abstrata.

Nosso shader de ambiente 

 
Para a "camada de fundo" (a pintura de perspectiva fixa, no caso de anime), definimos isso como nosso "shader de pintura". Dada a nossa câmera controlada pelo jogador, uma limitação de perspectiva fixa seria impossível de alcançar; o que fizemos foi definir a regra de que os componentes sombreados com tinta e sua iluminação nunca se movem. A ilusão que imaginamos que o jogador aceitaria aqui era semelhante ao nosso movimento escalonado para objetos cel: que o jogador efetivamente entrou na pintura de cor do pôster, explorando o interior do quadro do anime através da câmera do jogo. 
 
Mencionados anteriormente para a iluminação de objetos com cel shading, optamos por incorporar todas as luzes, sem qualquer necessidade de projeção de sombra em movimento, pois o custo das soluções de iluminação em tempo real teria sido injustificado em nosso projeto. 
 
Configuramos nosso shader de pintura para ter controle total de como as superfícies são iluminadas, sendo o maior modificador contribuinte a capacidade de modular a dispersão da luz utilizando texturas de pinceladas.
Definimos destaques de arestas e cantos usando cores de vértice em nossa ferramenta de configuração de ativos de origem DCC. No editor, controlamos essa parte usando localizadores de fonte de luz especular falsos que poderiam ser controlados para cada ator em nossa ferramenta de edição. 

Esses elementos, entre outros modificadores, entraram no conjunto de ferramentas do pipeline que nossa equipe de arte usou ao criar ativos para obter uma sensação de "2D" pintada à mão em nossos ambientes 3D. Nosso lema era lutar contra a "perfeição digital": colocar deliberadamente as coisas fora de centro; espaçar os detalhes aleatoriamente para evitar repetição e simetrias; e distorcer silhuetas perfeitamente retas ou redondas.

Nossos efeitos de filme


A flexibilidade da Unreal Engine para personalização significou que poderíamos usar nossos próprios filtros de pós-processamento para permitir controle total sobre a divisão de renderização de cel e ambiente em nosso pipeline. 

Seguimos uma abordagem semelhante no uso do bloom, que mascaramos para que a superfície emissora permanecesse sombreada por cel ou tinta, enquanto o bloom a cercaria.
A camada final na nossa renderização envolveu nossos filtros de pós-processamento de filme. Estes incluíram granulação de filme, halo, aberração cromática e desfoque para simular a sensação de que nosso quadro de jogo está sendo gravado em filme.
Nosso pipeline se baseia nos pontos fortes da Unreal Engine, particularmente em sua flexibilidade para personalização. Além das alterações no nosso modelo de sombreamento e buffer de renderização, contamos com o Editor de Material para desenvolver e iterar a maioria dos nossos shaders diretamente no editor, mantendo um vínculo bem próximo entre a intenção artística e o resultado final. 

O pipeline foi definido para permitir que a equipe de arte fosse o mais expressiva possível dentro das restrições do nosso estilo. Como uma equipe já muito familiarizada com a Unreal Engine em projetos anteriores, isso nos permitiu permanecer dentro dos fluxos de trabalho estabelecidos, estendendo-os onde necessário para apoiar a direção visual de Orbitals.

Para saber mais sobre Orbitals, acesse o site oficial do jogo.