Exportar Sprite Sheet do Krita para a Engine
Krita sprite sheet na prática: exportar a sequência de PNG, montar a folha com plugin, Aseprite ou ImageMagick, definir grade e importar na Unity e na Godot.
Exportar Sprite Sheet do Krita para a Engine
Para tirar uma sprite sheet do Krita, você renderiza a animação como sequência de PNG em File > Render Animation e monta a folha fora dele, porque o Krita não tem exportação de sprite sheet nativa. A montagem pode ser feita por um plugin Python da comunidade, pelo Aseprite, por um packer ou por uma linha de comando do ImageMagick. O que garante que a folha entra na engine sem desalinhar é a grade: célula do tamanho do canvas, mesmo número de quadros por linha e padding decidido antes.
Este post é focado na saída: da sequência de PNG à folha importada e fatiada na Unity e na Godot. Se você ainda está animando, o post sobre animação no Krita cobre timeline e onion skin.
Krita sprite sheet: o que o Krita faz e o que não faz
Até a versão estável de outubro de 2026 (Krita 5.3.4.1), a lista oficial de plugins pré-instalados não tem exportador de sprite sheet. O que vem pronto:
- File > Render Animation: exporta cada quadro como um PNG numerado, com transparência.
- Export Layers (plugin pré-instalado): exporta cada camada como um arquivo, útil para rig, não para sprite sheet de animação quadro a quadro.
Ou seja, o Krita entrega os quadros. Quem junta os quadros numa imagem só é outra ferramenta. Isso não é um problema: separar as etapas deixa você trocar o montador sem mexer na arte.
Exportar frames como sequência de PNG
- Desligue camadas de esboço, guias e fundo opaco.
- Selecione na timeline o intervalo da animação que vai virar folha (por exemplo, só o ciclo da corrida).
- File > Render Animation.
- Marque Export as Image Sequence e desmarque Export as Video.
- Image Location: uma pasta só para essa animação, como
export/heroi_run/. - Base Name:
heroi_run_. - Decida Only Unique Frames:
- Ligado: só os desenhos novos, sem os holds. A folha fica menor, mas o tempo de cada quadro precisa ser definido na engine.
- Desligado: todos os quadros da timeline, inclusive os repetidos. A folha fica maior e toca no tempo certo com um fps fixo.
Para jogo, a regra prática: se todos os desenhos duram o mesmo tempo (animação em 2s uniforme), ligue Only Unique Frames e toque a 12 fps na engine. Se a animação tem holds irregulares (um quadro de impacto que segura mais), desligue, ou ligue e acerte a duração quadro a quadro na engine.
Confira a pasta: os arquivos devem ter o mesmo tamanho em pixels, iguais ao canvas.
Krita frames to spritesheet: opção por plugin
A comunidade mantém plugins Python que leem a timeline do Krita e geram a folha direto, como o Spritesheet Manager (projeto no GitHub, com fork que acrescenta saída em atlas JSON). Confira no repositório de cada plugin com qual versão do Krita ele foi testado.
Instalação de qualquer plugin Python no Krita:
- Baixe o
.zipdo plugin no repositório oficial dele. - Tools > Scripts > Import Python Plugin (a opção de importar de arquivo) e escolha o zip.
- Ative em Settings > Configure Krita > Python Plugin Manager.
- Reinicie o Krita.
- O comando aparece em Tools > Scripts.
O próprio manual do Krita avisa que plugins de usuários não têm garantia da equipe: confira se o repositório teve atualização recente e teste num arquivo de cópia. O ganho é não sair do Krita; o risco é o plugin parar de funcionar numa atualização.
Alternativas: Aseprite, TexturePacker e script
Aseprite. Abra o primeiro PNG da sequência (File > Open). Quando os arquivos são numerados, o Aseprite pergunta se você quer carregar todos como animação. Confirme, e cada PNG vira um frame. Depois use File > Export > Export Sprite Sheet, escolha o tipo de folha (By Rows com número fixo de colunas é o mais previsível) e marque o JSON se a engine for usá-lo. O Aseprite é pago, então só faz sentido se você já usa.
TexturePacker. Empacota pastas de imagens e gera folha mais arquivo de dados para dezenas de engines. Segundo a página de comparação de licenças da CodeAndWeb (outubro de 2026), o modo gratuito Essential é só para uso não comercial e não inclui o layout Grid/Strip nem o algoritmo MaxRects. Para jogo comercial, precisa de licença.
Free Texture Packer. Gratuito, de código aberto, com versão web em free-tex-packer.com. O autor avisa no repositório que não está mais evoluindo o app, só corrigindo bugs críticos, e a última versão publicada no GitHub é a 0.6.7. Funciona, mas não conte com recursos novos.
ImageMagick (script). Grátis, roda em Windows, macOS e Linux, e é o caminho mais previsível para folha em grade fixa. Dentro da pasta dos quadros:
magick montage heroi_run_*.png -tile 8x -geometry +0+0 -background none heroi_run_sheet.png
-tile 8x: 8 quadros por linha; as linhas são calculadas sozinhas.-geometry +0+0: sem espaço entre quadros. Para 2 pixels de padding, use+1+1(1 pixel de cada lado de cada célula, 2 entre vizinhos). Nesse caso a primeira célula começa 1 pixel para dentro da folha: na engine, além do padding/separação de 2, use offset de 1 pixel em X e Y.-background none: mantém a transparência.
Esse comando pode virar um .bat ou .sh na pasta de exportação: renderizou no Krita, rodou o script, a folha está pronta.
Definir tamanho de célula e padding
Três números precisam estar anotados antes de importar:
| Dado | De onde vem | Exemplo |
|---|---|---|
| Tamanho da célula | Tamanho do canvas no Krita | 128 x 128 |
| Quadros por linha | O -tile ou a configuração do montador | 8 |
| Padding | O espaço entre células | 0 ou 2 px |
Não corte as bordas transparentes dos quadros (trim) numa folha em grade. Se cada quadro tiver um tamanho, a engine não consegue fatiar por grade e o personagem "treme" porque o ponto de referência muda de quadro para quadro. Trim só com arquivo de dados que guarde a posição original, e só se a engine for ler esse arquivo.
Padding: em pixel art com filtro sem interpolação, 0 costuma funcionar. Em arte pintada com filtro bilinear ou mipmaps ligados, use 2 pixels, senão a borda de um quadro aparece como uma linha fina no vizinho.
Até aqui é técnica de exportação, e dá para aprender numa tarde. O que custa caro é manter isso em todas as animações de todos os personagens: mesmo canvas, mesmo pivô, mesmo padrão de nome, mesma configuração na engine. Quando cada animação sai de um jeito, o jogo vira uma coleção de ajustes manuais, e é nesse ponto que muita gente desiste de produzir a própria arte.
Ter um pipeline fixo do desenho à engine é o que permite produzir a vigésima animação com o mesmo esforço da segunda.
Importar na engine
Unity. Arraste a folha para a pasta Assets. No Inspector:
- Texture Type: Sprite (2D and UI).
- Sprite Mode: Multiple.
- Pixels Per Unit: o mesmo valor em todos os sprites do jogo.
- Filter Mode: Point (no filter) para pixel art; Bilinear para arte pintada.
- Compression: None para pixel art, para não manchar as cores.
- Clique em Apply e abra o Sprite Editor.
- Slice > Type: Grid By Cell Size. Em Pixel Size, a célula (128 x 128). Em Padding, o padding que você usou (e em Offset, a margem da borda da folha, se houver). Pivot: Bottom (centro embaixo) para personagem que pisa no chão.
- Slice e Apply.
Selecione os sprites fatiados no Project e arraste para a cena: a Unity cria o GameObject, o Animator e o clip com os quadros. Ajuste o Samples do clip para o fps que você decidiu (12, por exemplo).
Godot. Arraste a folha para o FileSystem. Para pixel art, deixe o filtro de textura padrão em Nearest nas configurações do projeto. Crie um AnimatedSprite2D, em Sprite Frames escolha New SpriteFrames e abra o painel SpriteFrames. Clique no botão de adicionar quadros a partir de uma sprite sheet, escolha a folha e informe o número de quadros na horizontal e na vertical, mais Separation (o padding) e Offset. Selecione os quadros na ordem e adicione. Ajuste o FPS da animação e, se exportou só quadros únicos, a duração de cada quadro que precisa segurar mais.
O post sobre sprite sheet mostra também o caminho do Sprite2D com hframes e vframes na Godot.
Erros comuns
Personagem tremendo. Quadros com tamanhos diferentes ou trim numa folha em grade. Exporte do Krita sem cortar e monte em grade fixa.
Linha fina na borda dos quadros. Falta de padding com filtro bilinear ou mipmaps. Padding de 2 pixels e mipmaps desligados em sprite 2D.
Padding na folha diferente do padding no fatiamento. A grade desliza um pouco a cada coluna. Use o mesmo número no montador e na engine.
Animação rápida demais. Exportou só quadros únicos e tocou no fps da timeline do Krita. Divida o fps pelo hold (24 fps em 2s vira 12).
Ordem errada dos quadros. Arquivos numerados sem zero à esquerda (run_1, run_10, run_2) entram fora de ordem em alguns montadores. Mantenha a numeração do Krita como está.
Folha gigante. Muitas animações grandes numa folha só passam do tamanho máximo de textura em celular. Uma folha por animação ou por personagem.
Próximo passo
Monte a folha de uma animação curta com o comando do ImageMagick, importe na engine que você usa e anote os três números (célula, colunas, padding) num arquivo de texto dentro da pasta do projeto. Use os mesmos números em todas as próximas animações. Para revisar o lado do Krita, volte ao guia de Krita para jogos.
Perguntas frequentes
O Krita exporta sprite sheet direto?
Não de forma nativa. O Krita renderiza a animação como sequência de PNG em File > Render Animation, e a folha é montada fora dele: por um plugin Python da comunidade, pelo Aseprite, por um packer como o TexturePacker ou por um comando do ImageMagick.
Qual tamanho de célula usar na sprite sheet?
O tamanho do canvas do Krita, se você não cortar as bordas dos quadros. Assim todos os quadros têm o mesmo tamanho e o personagem não pula entre eles. Corte só se for usar um arquivo de dados (JSON) que guarde a posição de cada quadro.
Preciso de padding entre os quadros?
Em pixel art com filtro Point ou Nearest e câmera em posição inteira, nem sempre. Em arte pintada com filtro bilinear ou mipmaps, sim: 2 pixels entre quadros evitam que a borda de um vaze no outro.
TexturePacker grátis serve para jogo comercial?
Não. Segundo a CodeAndWeb (outubro de 2026), o modo Essential gratuito é só para uso não comercial e não inclui o layout em grade. Para um projeto comercial, use o export do Aseprite, um plugin do Krita ou o ImageMagick.

