Importer une planche dans Unity
Déposer un PNG dans un projet Unity prend une seconde. Obtenir des sprites nets, correctement dimensionnés et correctement découpés demande environ six réglages, dont la plupart ne conviennent pas par défaut à la 2D. Voici le rôle de chacun, comment découper la planche dans le Sprite Editor et dans quels cas il est plus rapide de découper la planche avant de l’importer dans Unity.
Commencez par Texture Type
Sélectionnez le PNG importé dans la fenêtre Project et regardez l’Inspector. Le premier menu est Texture Type, avec pour valeur par défaut Default — ce qui correspond au traitement des textures 3D. Remplacez-le par Sprite (2D and UI).
Ce n’est pas cosmétique. Cela change la chaîne d’import, affiche les options de sprite et demande à Unity de générer un Sprite ressource plutôt qu’un simple Texture2D. Sans cela, SpriteRenderer n’a rien à accepter et le bouton Sprite Editor reste grisé. Si votre projet vient du modèle 2D, les nouvelles textures sont déjà définies comme Sprite par défaut : vérifiez avant de chercher le réglage.
N’oubliez pas d’appuyer sur Appliquer en bas de l’Inspector. Unity ne valide pas les réglages d’importation de texture avant cette action, et les changements sont annulés silencieusement si vous sélectionnez d’abord une autre ressource. Presque tout le monde se fait piéger au moins une fois.
Sprite Mode : Single ou Multiple
Sprite Mode détermine si le fichier représente un seul sprite ou plusieurs.
- Single — l’image entière est un sprite. Utilisez cette option pour les images déjà découpées en fichiers séparés, les fonds et les images d’interface.
- Multiple — l’image contient plusieurs sprites dont vous définirez les rectangles dans Sprite Editor. Utilisez cette option pour une véritable planche à conserver dans un fichier unique.
- Polygone — génère un maillage personnalisé plutôt qu’un quadrilatère. Rarement souhaitable pour une planche de sprites ; cela sert surtout à réduire le surdessin des grands sprites majoritairement transparents.
Multiple est le mode choisi par réflexe, mais il mérite réflexion. Conserver une seule planche signifie une texture, un lot d’appels de dessin et une ressource à gérer. Séparer en PNG individuels simplifie la configuration d’animation, facilite les modifications par image et évite de dépendre de la détection des cases par Unity. Les deux approches sont valables ; le critère décisif est généralement la régularité de la grille.
Découpage dans Sprite Editor
Avec Sprite Mode réglé sur Multiple, cliquez sur Sprite Editor. Si le bouton manque, installez le paquet 2D Sprite depuis Window → Package Manager. Dans l'éditeur, le Découper le menu déroulant en haut à gauche propose trois types.
Automatique
Unity examine la texture à la recherche d’îlots de pixels non transparents et trace un rectangle autour de chacun. Sur une planche propre avec des espaces transparents et des sprites bien séparés, cela fonctionne bien en un clic. L’échec est prévisible dans trois cas : les sprites qui se touchent ou se chevauchent sont réunis dans un même rectangle ; un personnage avec des parties détachées — arme flottante, ombre séparée — est divisé en plusieurs rectangles ; et toute planche dont le fond n’est pas transparent produit exactement un rectangle couvrant tout, car l’image entière est opaque.
Le Method le menu déroulant voisin compte lors d’un nouveau découpage. Delete Existing efface vos corrections manuelles ; Smart essaie de conserver les rectangles ajustés ; Safe ajoute seulement de nouvelles découpes. Utilisez Smart ou Safe après toute correction manuelle.

Grid By Cell Size
Vous indiquez une largeur et une hauteur en pixels, et Unity pose une grille sur la texture. C’est le bon choix lorsque vous connaissez la taille des cellules, par exemple une planche 512×512 de tuiles 64×64. Les champs Offset et Padding gèrent les marges extérieures et l’espacement entre cellules. Réglez-les une fois et chaque cellule se place correctement, car une planche produite par un outil est réellement une grille.
Grid By Cell Count
Même principe, mais vous indiquez les colonnes et lignes, puis Unity effectue la division. Pratique lorsque vous savez que la planche est en 4×4 sans avoir fait le calcul. Attention aux textures dont les dimensions ne se divisent pas exactement : 1024 divisé par 3 donne 341.33, et l’arrondi apparaît comme une bande d’un pixel du sprite voisin sur un bord de chaque cellule.
Pixels Per Unit : ce que cela signifie réellement
Pixels Per Unit (PPU) convertit les pixels de texture en unités du monde Unity. Par défaut, 100 signifie qu'un sprite de 100×100 pixels occupe exactement un carré d'une unité à l'échelle 1.
Les unités du monde Unity sont abstraites, mais la physique, les tailles de caméra et vitesses s’expriment avec elles ; votre choix fixe donc l’échelle du jeu entier. Deux conventions courantes :
- PPU = taille de tuile de votre sprite. Si les tuiles mesurent 16×16 pixels, réglez PPU sur 16 : une tuile équivaut alors à une unité du monde. Les cartes de tuiles s’alignent sur des coordonnées entières et une gravité de −9.81 possède un sens approximativement physique.
- PPU = 100 pour tout. Plus simple si vos images sont en haute résolution et si les déplacements ne sont pas basés sur des tuiles.
L’essentiel est la cohérence. Des sprites importés avec des PPU différents apparaissent à des échelles différentes. La solution habituelle, modifier l’échelle Transform de chaque objet, masque le problème tout en compliquant colliders, physique et réutilisation des prefabs. Réglez plutôt les PPU correctement à l’import.
Filter Mode et compression du pixel art
Deux réglages décident si le pixel art reste net ou devient une traînée floue.
Filter Mode utilise par défaut Bilinear, qui interpole entre les texels lorsque le sprite n’est pas dessiné à 1:1. Cela convient aux textures photographiques. Sur un personnage de 32×32, cela produit des contours mous et brouillés. Réglez-le sur Point (no filter) pour le pixel art, et les limites des pixels restent franches.
Compression est réglé par défaut sur Normal Quality, qui correspond sur la plupart des plateformes à une compression par blocs. Celle-ci approxime des groupes de pixels : sur des dessins en aplats aux contours francs, les artefacts sont évidents, avec des franges colorées autour des contours, surtout près de la transparence. Réglez Compression sur None pour les sprites en pixel art. Oui, la texture utilise plus de mémoire ; quelques petites planches non compressées représentent une quantité négligeable dans tout budget mémoire moderne, contrairement à la différence visuelle.
Décochez également Generate Mip Maps pour les sprites 2D toujours affichés près de leur taille native. Les mipmaps sont destinés aux textures vues à des distances variables en 3D ; en 2D, ils consomment surtout de la mémoire et conduisent parfois à échantillonner un niveau plus flou que prévu.
| Paramètre | Pixel art | 2D haute résolution / peinte |
|---|---|---|
| Texture Type | Sprite (2D and UI) | Sprite (2D and UI) |
| Filter Mode | Point (no filter) | Bilinéaire |
| Compression | Aucun | Normal Quality |
| Generate Mip Maps | Désactivé | Désactivé en 2D, actif si fort changement d'échelle |
| Pixels Per Unit | Taille de tuile (8, 16, 32…) | 100 |
| Max Size | Au moins la plus grande dimension de la planche | Au moins la plus grande dimension de la planche |
Fichiers déjà découpés ou découpage dans Unity
Le découpeur Unity est adapté à son objectif : des planches produites par un outil, sur vraie grille, avec espaces transparents. Grid By Cell Size sur un export Aseprite est exact et immédiat ; aucune raison de le faire ailleurs.
Les planches des générateurs d’images posent un autre problème. Un modèle auquel on demande une « planche de sprites 4×4 » produit quelque chose qui ressemble à une grille sans en être une : l’espacement dérive de quelques pixels par cellule, la taille des sprites varie selon la pose et le contenu est décentré. Grid By Cell Size coupe les têtes. Automatic fusionne les deux images qui se touchent et divise celle qui porte un bouclier détaché. Vous finissez par tracer manuellement seize rectangles dans Sprite Editor, une manière lente de perdre vingt minutes.
Découper avant import évite cela. Notre Découpeur de planches de sprites trouve les limites des sprites à partir du canal alpha plutôt que de coordonnées supposées, rogne chaque image à son propre contenu et exporte des PNG individuels. Ceux-ci arrivent dans Unity avec Sprite Mode Single sans aucun travail dans Sprite Editor. Si la détection automatique échoue, l’onglet Manual & Preset permet de déplacer chaque ligne de grille dans le bon espace : six déplacements pour une planche de seize images, contre seize rectangles.
Le compromis est réel. Des fichiers séparés signifient plus d’assets et, sans Sprite Atlas, plus de draw calls. Si cela compte pour votre projet, découpez ailleurs pour obtenir des images correctes, puis ajoutez un Sprite Atlas ressource (Assets → Create → 2D → Sprite Atlas) et déposez le dossier dans sa liste Objects for Packing. Vous obtenez des limites correctes et un rendu groupé, Unity assurant le placement qu’il sait vraiment bien faire.
Des sprites à l'animation
- Sélectionnez les images dans l’ordre dans la fenêtre Project, qu’il s’agisse des sous-sprites d’une planche découpée ou de vos PNG individuels.
- Faites glisser la sélection dans Scene ou Hierarchy. Unity demande un emplacement d’enregistrement et crée un Animation Clip ainsi qu’un Animator Controller qui lui est associé.
- Ouvrez la fenêtre Animation pour régler la fréquence d’échantillonnage. La valeur par défaut de 12 échantillons par seconde convient à de nombreux cycles de marche ; 24 donne plus de fluidité ; une valeur à un chiffre crée volontairement un effet rétro saccadé.
- Vérifiez l'ordre ; Unity trie par nom, donc frame_10 se situe entre frame_1 et frame_2 sauf si vous ajoutez des zéros initiaux jusqu’à frame_01.
- Pour d’autres séquences, répétez la procédure et configurez les transitions dans l’Animator, ou contrôlez directement les images par script si vous préférez éviter entièrement l’Animator.
Questions fréquentes
Pourquoi mon sprite affiche-t-il une fine ligne de l’image voisine sur un bord ?
Débordement de texture. Soit la taille de cellule ne divise pas exactement la texture, soit le filtrage bilinéaire échantillonne au-delà du rectangle. Réglez Filter Mode sur Point, désactivez la compression et vérifiez les calculs. Ajouter un ou deux pixels transparents entre les sprites dans la source évite définitivement le problème.
Faut-il utiliser Sprite Atlas ou une grande planche ?
Sprite Atlas, dans la plupart des cas. Il permet de créer les sprites en fichiers séparés, faciles à modifier et réordonner, tandis qu’Unity les compacte dans une texture commune lors du build pour regrouper le rendu. Une immense planche faite à la main produit un résultat similaire à l’exécution, avec une ergonomie bien moins bonne dès qu’une image change.
Pourquoi mon personnage tremble-t-il verticalement ?
Des images de hauteurs différentes partageant un pivot Center. Réglez le pivot sur Bottom ou ajoutez des marges pour obtenir des dimensions identiques avant l’importation, afin que le contenu reste au même endroit dans chaque image.
Faut-il modifier quelque chose pour Universal Render Pipeline ?
Les paramètres d’importation sont identiques. C’est le matériau qui change : URP 2D utilise Sprite-Lit-Default lorsque le 2D Renderer est actif, ce qui signifie que les sprites non éclairés peuvent paraître noirs tant qu’aucune lumière n’existe dans la scène. Remplacez le matériau du SpriteRenderer par Sprite-Unlit-Default ou ajoutez une Global Light 2D.
Découpez la planche avant de l’importer dans Unity
Si le découpage automatique de Unity résiste à votre planche, découpez-la d’abord dans le navigateur et importez des PNG individuels propres. Magic Slice détecte les limites des sprites à partir du canal alpha ; Manuel et préréglages permet de déplacer les lignes vous-même. Rien n’est téléversé : tout s’exécute localement.
Ouvrir le découpeur de planches