GIMP: Fundo Transparente em Sprite e Remover Fundo
GIMP: como deixar fundo transparente em sprite no GIMP 3, com canal alfa, seleção por cor, Cor para Alfa, limpeza de halo e PNG que não fica com borda branca.
GIMP: Fundo Transparente em Sprite e Remover Fundo
Para deixar o fundo transparente no GIMP, você adiciona um canal alfa à camada (Camada > Transparência > Adicionar canal alfa), seleciona o fundo por cor e apaga, ou usa Cores > Cor para alfa quando a borda é suavizada. Depois exporta em PNG. Esse é o caminho de como deixar fundo transparente no GIMP em quatro passos, e funciona igual no GIMP 3.2, a versão estável atual.
O que os tutoriais rápidos não contam é a parte que aparece só na engine: a borda branca ou escura em volta do sprite, que no GIMP parecia limpo. Este post cobre o passo a passo completo e termina com esse problema resolvido, para sprite em pixel art e para arte em alta resolução.
Os nomes de menu aparecem em português (GIMP em PT-BR) com o nome em inglês entre parênteses quando ajuda a achar.
Por que o sprite precisa de fundo transparente
Na engine, o sprite é desenhado por cima do cenário. Se o PNG tem fundo branco, o personagem anda pelo jogo dentro de um retângulo branco. Transparência é o que permite o personagem ficar na frente da árvore, a moeda flutuar sobre o céu e o tiro passar por cima do inimigo.
Tecnicamente, cada pixel de um PNG com transparência tem quatro valores: vermelho, verde, azul e alfa. Alfa 0 é invisível, alfa 255 é opaco. Os valores no meio são semitransparentes, que é onde mora o anti-aliasing das bordas e também onde nascem os problemas.
GIMP como deixar fundo transparente: canal alfa
Abra a imagem. Olhe o painel de camadas: se o nome da camada aparece em negrito, ela não tem canal alfa. Uma imagem JPG, ou um PNG salvo sem transparência, abre assim.
Adicione o alfa:
- Selecione a camada no painel Camadas.
- Vá em Camada > Transparência > Adicionar canal alfa (Layer > Transparency > Add Alpha Channel). O mesmo comando aparece com o botão direito sobre a camada.
- O nome sai do negrito. Pronto, agora apagar gera transparência.
Teste: pegue a Borracha (Shift+E) e passe num canto do fundo. Se aparecer o xadrez cinza, deu certo. Desfaça com Ctrl+Z e siga para a remoção de verdade.
Selecionar por cor e apagar
Quando o fundo é de uma cor só (branco, magenta, verde chapado), a seleção por cor é o método mais limpo:
- Selecionar > Por cor (Select > By Color), atalho Shift+O.
- Nas opções da ferramenta, para pixel art: Suavização (Antialiasing) desmarcada, Bordas difusas (Feather edges) desmarcada e Limiar (Threshold) em 0. Assim só a cor exata é selecionada.
- Clique no fundo. Todos os pixels daquela cor, em qualquer lugar da imagem, ficam selecionados.
- Aperte Delete.
- Selecionar > Nada (Shift+Ctrl+A).
Cuidado com o "em qualquer lugar": se o olho do personagem é branco e o fundo é branco, o olho some junto. Nesse caso use a Seleção difusa (Fuzzy Select, atalho U), a varinha mágica, que seleciona só a área contígua ao clique. Ou, melhor ainda, desenhe sprites sobre um fundo de cor que não existe na paleta, como magenta puro (#FF00FF). É um costume antigo de quem produz sprite justamente por isso.
Para um sprite sheet com vários frames, a seleção por cor limpa todos de uma vez, o que economiza muito tempo. O post sobre sprite sheet explica como organizar esses frames antes.
Cor para Alfa
Arte desenhada com pincel suave, ilustração com anti-aliasing ou personagem renderizado tem uma borda com pixels que são metade personagem, metade fundo. Se você só apaga o fundo, essa borda fica com o tom do fundo misturado: uma auréola clara em volta do sprite.
Cores > Cor para alfa (Colors > Color to Alpha) resolve calculando, pixel a pixel, quanto da cor de fundo existe ali e retirando só essa parte:
- Garanta o canal alfa na camada.
- Cores > Cor para alfa.
- Em Cor, escolha a cor do fundo com o conta-gotas.
- Ajuste Limiar de transparência (Transparency threshold): cores próximas do fundo abaixo desse limite viram totalmente transparentes.
- Ajuste Limiar de opacidade (Opacity threshold): cores distantes do fundo acima desse limite ficam totalmente opacas.
- Use a pré-visualização dividida para comparar e confirme.
O efeito colateral: Cor para alfa age na imagem toda. Um personagem com camisa branca sobre fundo branco fica com a camisa translúcida. Faça uma seleção ao redor da área do fundo antes, ou aplique só no contorno, para proteger o interior.
Em pixel art de bordas duras, Cor para alfa costuma ser desnecessário, e pode até criar pixels semitransparentes onde você não queria. Ali, selecionar por cor e apagar é o certo.
Remover halo e borda branca
Mesmo com o fundo removido, sobram dois tipos de halo.
Halo visível no GIMP. Pixels de borda claros, sobra do fundo antigo. Para pixel art, use Camada > Transparência > Limiar do alfa (Threshold Alpha): todo pixel com alfa abaixo do valor vira transparente e o resto vira opaco. Com valor por volta de 127, a borda fica binária, sem meio-termo. Para arte suave, faça uma seleção do conteúdo (Camada > Transparência > Alfa para seleção, ou Layer > Transparency > Alpha to Selection), encolha 1 pixel em Selecionar > Encolher (Shrink), inverta com Ctrl+I e apague. Sai uma tira de 1 pixel da borda contaminada.
Halo que só aparece na engine. Esse é o mais traiçoeiro. Pixels totalmente transparentes continuam guardando uma cor RGB, invisível no GIMP. Quando a engine filtra a textura com interpolação bilinear, ela mistura a cor do pixel de borda com a cor "invisível" do vizinho transparente. Se essa cor escondida é branca, nasce uma linha clara em volta do sprite. A correção está na exportação, logo abaixo.
Fazer um sprite limpo é uma etapa. Fazer dezenas deles com bordas consistentes, na mesma paleta, prontos para animar e para entrar na engine sem retrabalho, é o que separa quem tem uma pasta de imagens de quem tem a arte de um jogo.
Um fluxo de produção bem montado (tamanho de tela, paleta, fundo de trabalho, exportação padrão) evita que você descubra esses problemas só quando o jogo já está montado.
Exportar PNG certo
Use Arquivo > Exportar como (File > Export As), atalho Shift+Ctrl+E. Salvar com Ctrl+S gera o .xcf, o formato de projeto do GIMP, que nenhuma engine lê.
- Dê o nome com
.pngno final, por exemploheroi_idle.png. - Clique em Exportar. Abre a janela de opções do PNG.
- Desmarque a opção de salvar os valores de cor dos pixels transparentes (Save color values from transparent pixels). Assim o GIMP não grava a cor escondida que gera o halo.
- Deixe o formato em RGBA de 8 bits. Não há motivo para 16 bits num sprite.
- Exporte.
Não aumente o sprite no GIMP antes de exportar. Exporte no tamanho nativo; quem amplia é a engine, com filtro sem interpolação. Se precisar de uma versão maior para divulgação, use Imagem > Redimensionar imagem (Image > Scale Image) com interpolação Nenhuma (None) e múltiplo inteiro (200%, 300%), num arquivo separado.
Testar na engine
Não confie só no xadrez do GIMP. Ponha o sprite num cenário escuro e num claro dentro da engine, em zoom alto.
Unity. Selecione o PNG no Project. Para pixel art: Filter Mode em Point (no filter) e Compression em None. Para arte suave com filtro Bilinear, mantenha Alpha Is Transparency marcado, que faz a Unity preencher a cor dos pixels transparentes com a cor dos vizinhos e evita o halo.
Godot. No dock Import, a opção Fix Alpha Border (ligada por padrão para texturas 2D) faz o mesmo papel de preencher a cor dos pixels transparentes. Para pixel art, deixe o filtro de textura padrão do projeto em Nearest, em Project Settings, na seção de texturas de canvas.
Se ainda aparecer borda, volte ao GIMP: o problema é pixel semitransparente com cor errada, e o Limiar do alfa resolve em pixel art.
Erros comuns
Camada sem alfa. Apagar pinta de branco. Adicionar canal alfa primeiro.
Seleção por cor com limiar alto em pixel art. Pega tons parecidos do personagem. Limiar 0 e sem suavização.
Fundo da mesma cor do personagem. Desenhe sobre magenta ou outra cor fora da paleta.
Exportar JPG. JPG não tem transparência e ainda borra a pixel art com compressão. Sempre PNG.
Salvar como .xcf e arrastar para a engine. A engine não lê. Exportar como PNG.
Escalar com interpolação. Borda borrada e meio transparente. Interpolação Nenhuma ou deixar a engine escalar.
Para configurar o GIMP inteiro para pixel art (grade, lápis de 1 pixel, paleta), veja o post de GIMP para pixel art de jogos. E para o processo de criar o sprite antes de chegar na remoção de fundo, o guia de como criar sprites para jogos é o próximo passo.
Perguntas frequentes
Por que o GIMP apaga em branco e não em transparente?
Porque a camada não tem canal alfa. Sem alfa, a borracha e o Delete pintam com a cor de fundo. Vá em Camada > Transparência > Adicionar canal alfa e apague de novo: aparece o xadrez cinza, que é o sinal de transparência.
Qual a diferença entre apagar a seleção e usar Cor para Alfa?
Apagar a seleção remove os pixels inteiros, o que é ideal para pixel art com bordas duras. Cor para Alfa tira a cor escolhida de cada pixel proporcionalmente, então a borda suavizada perde o tom de fundo em vez de ficar com uma auréola. Use o primeiro em pixel art e o segundo em arte com anti-aliasing.
Por que meu sprite tem borda branca na engine se no GIMP está limpo?
Os pixels transparentes guardam uma cor escondida, normalmente branca, e o filtro bilinear da engine mistura essa cor na borda. Desmarque a opção de salvar valores de cor de pixels transparentes na exportação do PNG e use filtro Point na Unity ou Nearest na Godot para pixel art.
Como remover fundo de imagem no GIMP rapidamente?
Se o fundo é de uma cor só, use Selecionar > Por cor, clique no fundo e aperte Delete com o canal alfa ativo. Se o fundo tem gradiente ou sombra, use a Seleção difusa com limiar maior ou Cor para Alfa e depois limpe o que sobrar com a borracha.


