Ajouter une image

Déposez une sprite sheet PNG ou WebP (max 25 Mo)

Convertisseur sprite sheet en GIF

Convertissez une sprite sheet en GIF dans votre navigateur, gratuitement et sans compte. Déposez un PNG ou un WebP, la grille est détectée pour vous, réglez les FPS et téléchargez. Rien n'est envoyé à un serveur, et les deux animations de cette page sortent de l'outil ci-dessus.

Comment ça fonctionne

La grille est lue pour vous. C'est la partie que la plupart des convertisseurs vous font faire à la main.

  1. Déposez une sprite sheet PNG ou WebP
  2. Le convertisseur trouve les colonnes et les lignes en cherchant les gouttières transparentes entre les frames, et affiche le nombre de frames trouvé
  3. Corrigez la grille avec les curseurs si la sheet n'a pas de gouttières, ou réglez un espacement jusqu'à 16 px
  4. Réglez les FPS et regardez l'aperçu jouer
  5. Téléchargez le GIF animé

Les colonnes et les lignes vont jusqu'à 32 chacune, donc une sheet de 1 024 frames est dans la plage.

De la sheet au GIF

Pour transformer une sprite sheet en GIF, le convertisseur doit savoir où une frame finit et où la suivante commence, et c'est tout ce qu'il demande au fichier. Voici un cycle de marche de douze frames sur une seule rangée, lu en 12 par 1 sans qu'on le lui dise.

Une sprite sheet de 768 par 64 pixels qui contient douze frames d'un cycle de marche de fille au katana sur une rangée
Une sprite sheet de 768 par 64 pixels qui contient douze frames d'un cycle de marche de fille au katana sur une rangée
Le même cycle de marche en GIF animé à 12 FPS, exactement comme le convertisseur l'exporte
Le même cycle de marche en GIF animé à 12 FPS, exactement comme le convertisseur l'exporte

Les sheets se lisent de gauche à droite, de haut en bas, l'ordre dans lequel tous les moteurs les écrivent.

Sheets avec une dernière rangée incomplète

Une grille se divise rarement également. Une sheet 3x3 qui contient 8 frames laisse une cellule vide dans le coin, et un convertisseur qui compte les cellules au lieu des frames en fait un flash blanc à la fin de chaque boucle.

Une sprite sheet de 192 par 192 pixels, une grille 3 par 3 qui contient 8 frames de chevalier avec la cellule en bas à droite vide
Une sprite sheet de 192 par 192 pixels, une grille 3 par 3 qui contient 8 frames de chevalier avec la cellule en bas à droite vide
Les mêmes 8 frames en GIF qui boucle proprement, sans frame vide à la fin
Les mêmes 8 frames en GIF qui boucle proprement, sans frame vide à la fin

Cette sheet s'exporte en 8 frames, pas 9. Les cellules vides à la fin sont retirées. Les cellules vides au milieu sont gardées, parce qu'une frame vide dans une animation est souvent un clignement ou un flash voulu, et la retirer changerait le rythme.

Les arrière-plans transparents restent transparents

Les pixels transparents de la sheet restent transparents dans le GIF, mais le format impose une limite dure à comprendre avant d'exporter.

Le GIF gère un alpha 1 bit. Un pixel est soit visible, soit invisible, rien entre les deux. Le pixel art s'en tire bien parce que ses bords sont déjà durs. Ce qui souffre, c'est tout ce qui est doux. Une lueur diffuse, une ombre semi-transparente ou un contour anti-aliasé durcit en bord dentelé au lieu de s'estomper.

Deux choses aident. Aplatissez les ombres douces sur la couleur d'arrière-plan avant d'exporter si le GIF ira sur un fond connu. Ou gardez les bords du sprite crénelés dès le départ, ce que fait le convertisseur en pixel art quand il quantifie une image.

Sheets qui ne sont pas une grille régulière

Ce convertisseur a besoin d'une grille régulière, chaque frame de la même taille dans des cellules également espacées. Ça couvre presque toutes les sheets qu'un moteur de jeu ou un outil d'animation exporte.

Les atlas compactés sont l'exception. Un atlas TexturePacker ou Starling stocke des frames de tailles différentes dans la disposition qui rentre, avec les rectangles listés dans un fichier .json ou .xml à part. Ces données ne sont pas lues ici. Si vos frames varient en taille, le créateur de sprite sheets lit les atlas JSON et peut réassembler les frames en grille régulière, que cet outil convertit ensuite.

C'est l'accroc habituel avec une sheet de personnage Friday Night Funkin'. Les assets FNF arrivent en atlas Sparrow XML, donc les frames sont compactées à des tailles variées et le XML contient les coordonnées. Réassemblez en grille d'abord, puis convertissez.

Les sprites de Scratch fonctionnent pareil. Un fichier .sprite3 est un conteneur, pas une image. Exportez d'abord les costumes en PNG, disposez-les en grille et convertissez ça.

Choisir des FPS

AnimationFPSPourquoi
Attente, respiration, boucles d'ambiance6 à 8Assez lent pour se lire comme une pause plutôt qu'un mouvement
Cycles de marche et de course8 à 12La plage standard pour la locomotion en pixel art
Attaques, dash, impacts16 à 24Les actions rapides ont besoin que les frames tombent vite
Réexporter un GIF découpé plus tôt10 à 12Une valeur sûre quand le rythme d'origine est inconnu

L'aperçu joue à la vitesse du curseur, donc le plus rapide est de le glisser jusqu'à ce que le mouvement ait l'air bon, plutôt que de le calculer d'avance.

Dans l'autre sens

Cet outil convertit seulement des sheets en GIF. Pour l'inverse, découper un GIF animé en sprite sheet PNG, utilisez le convertisseur GIF en sprite sheet.

S'il vous faut les frames individuelles plutôt qu'une animation, la découpe de sprite sheet coupe une sheet en fichiers PNG séparés. Passer de sprites en vrac à un GIF, c'est le même travail à l'envers. Assemblez-les en sheet avec le créateur de sprite sheets et ramenez ça ici.

Convertir un seul sprite en GIF est le seul cas où cet outil ne peut pas aider, parce qu'une frame n'est pas une animation. L'Animateur IA de Sprite AI (sprite-ai.art) génère un cycle de marche, d'attente ou d'attaque à partir d'un sprite fixe, et la sheet qu'il rend se convertit ici.

FAQ

Déposez la sheet et le convertisseur lit la grille pour vous. Vérifiez le nombre de frames, réglez les FPS et téléchargez le GIF animé. Tout tourne dans votre navigateur, donc rien n'est envoyé et aucun compte n'est requis.

Oui. L'orthographe varie, pas le fichier. Sprite sheet, spritesheet et sheet désignent tous une image qui contient chaque frame d'une animation disposée en grille, et ce convertisseur les lit toutes pareil.

Non. La grille est détectée à l'importation en trouvant les gouttières transparentes entre les frames. Les curseurs corrigent une sheet sans gouttières ou à l'espacement inhabituel. Ce n'est pas la première étape.

Oui. Les pixels transparents de la sheet restent transparents dans le GIF. Le GIF ne gère qu'un alpha 1 bit, donc un pixel est soit visible, soit invisible. Les bords doux et les ombres semi-transparentes durcissent au lieu de s'estomper.

Elle est retirée automatiquement. Une grille 3x3 qui contient 8 frames laisse une cellule vide, qui s'exporterait sinon comme un flash blanc à la fin de la boucle. Les cellules vides au milieu sont gardées, parce qu'une frame vide en pleine animation est souvent un clignement.

Oui, jusqu'à 16 px. Les exports de TexturePacker, Unity, Godot et Aseprite ont souvent 1 à 4 px d'espacement. Réglez le curseur Espacement et l'aperçu se met à jour en direct.

8 à 12 FPS conviennent à la plupart des cycles d'attente et de marche en pixel art. Les actions rapides comme les attaques passent mieux à 16 ou 24. Le curseur va de 1 à 60 et l'aperçu joue pendant que vous le glissez.

Oui. Gratuit, sans compte et sans filigrane. Chaque frame est traitée dans votre navigateur.

Nous utilisons des témoins (cookies) pour améliorer votre expérience. Les essentiels sont requis pour que le site fonctionne. Acceptez-les tous ou seulement les essentiels.

En savoir plus