Sprites pré-renderizados

Um sprite pré-renderizado é uma imagem 2D feita renderizando um modelo 3D de antemão. O jogo desenha a imagem, não o modelo.

Uma aranha andando, renderizada pelo Pixor
Um baú se abrindo, renderizado pelo Pixor
Uma coroa girando, renderizada pelo Pixor

O que é

Um sprite é uma imagem 2D que o jogo desenha na tela. Normalmente, um artista a desenha. Um sprite pré-renderizado, por sua vez, é produzido renderizando um modelo 3D a partir de uma câmera fixa, um quadro por vez, antes mesmo de o jogo ser jogado. O jogo só leva as imagens.

Para um personagem, isso significa renderizar cada animação de cada direção de que o jogo precisa e empacotar os quadros numa folha de sprites.

Um pouco de história

Donkey Kong Country (1994) é o famoso exemplo pioneiro: a Rare renderizou seus modelos em estações de trabalho Silicon Graphics e os reduziu a sprites de Super Nintendo. No fim dos anos noventa, jogos de PC como Diablo, Fallout, StarCraft e Age of Empires usavam unidades e personagens pré-renderizados, o que tornou viáveis muitas direções. Dead Cells (2018) levou a ideia à pixel art, animando personagens em 3D e renderizando-os como pequenos quadros em pixel art.

Por que os jogos as usam

  • Direções. Um modelo pode ser girado para qualquer ângulo. Oito direções não custam mais desenho do que uma.
  • Consistência. Proporções e volumes continuam iguais ao longo de centenas de quadros.
  • Iteração. Mude uma cor ou um tamanho e renderize de novo, em vez de repintar.
  • Reaproveitamento de animação. Um ciclo de caminhada pode ser aplicado a muitos personagens com o mesmo rig.

Problemas comuns

Uma renderização simples não parece pixel art. Os problemas mais comuns são:

  • bordas suaves e borradas do anti-aliasing,
  • centenas de cores parecidas em vez de rampas claras,
  • degradês suaves em vez de faixas de luz chapadas,
  • pixels soltos isolados e detalhes ruidosos,
  • cintilação, quando pixels e traços mudam a cada quadro embora o modelo mal se mova,
  • um pivô que muda entre quadros, fazendo o sprite tremer no jogo,
  • sprites em escalas diferentes, de modo que os pixels não combinam (mixels).

Fazendo à mão

Com um pacote 3D genérico, os passos habituais são: montar uma câmera ortográfica por direção; renderizar pequeno sem anti-aliasing; reduzir a uma paleta; desenhar ou corrigir os contornos; remover pixels soltos quadro a quadro; e empacotar a folha. Os últimos passos são onde vai a maior parte do tempo, e onde a maior parte do visual é decidida.

Como o Pixor faz

O Pixor foi feito para esse trabalho. Ele lê glTF e GLB, FBX (incluindo Mixamo), OBJ e arquivos do MagicaVoxel. Cada lado é uma câmera, em anéis de 4, 8 ou 16 ou em qualquer ângulo. Ele renderiza um G-buffer de cor, normais, profundidade e id de parte, depois sombreia em faixas de luz mantidas firmes contra a tremulação, mapeia-as para rampas com deslocamento de matiz, desenha contornos seletivos de um pixel e limpa pixels soltos e traços de um quadro só. Uma só escala de pixels por metro e um pivô preso a um pixel mantêm todos os sprites consistentes. Ele exporta folhas, arquivos do Aseprite, SpriteFrames do Godot, GIF e APNG.

O resultado é uma base limpa e consistente. A maioria dos artistas ainda finaliza os quadros importantes à mão.

Perguntas

Quais jogos usaram sprites pré-renderizados?

Donkey Kong Country (1994), Diablo (1996), Fallout, StarCraft e Age of Empires são exemplos conhecidos. Dead Cells (2018) renderizou animação 3D como quadros de pixel art.

Sprites pré-renderizados são trapaça?

Não. É um método de produção, como desenhar sobre uma foto de referência. Muitos artistas renderizam uma base e finalizam os quadros-chave à mão.

Leia a seguir

Experimente no seu próprio modelo, grátis no navegador, ou adquira a versão completa.

Testar no navegador Obter o Pixor