Comment conserver une échelle cohérente entre les sprites de l'overworld et ceux de combat
Pour donner l'impression qu'un personnage a la même taille dans l'overworld et dans les scènes de combat, comparez la hauteur du graphisme tel qu'il est rendu à l'écran, et non pas seulement les dimensions de l'image source. Définissez une hauteur cible commune en pixels pour le personnage, appliquez une échelle de monde et une densité de pixels cohérentes, puis comparez les deux scènes à la même échelle de caméra. Alignez les pieds du personnage sur une ligne de base commune et vérifiez le résultat aux résolutions d'affichage prévues pour le jeu. Si l'une des scènes utilise délibérément une caméra ou une composition différente, documentez cette exception au lieu de modifier discrètement l'échelle du sprite.
Définir ce que signifie « la même échelle » pour votre jeu
Commencez par définir un objectif mesurable. Par exemple, vous pouvez décider que le personnage doit occuper 32 pixels d'écran de la plante des pieds au sommet de la tête dans les deux scènes, avec la vue de caméra de référence. Il s'agit d'une cible illustrative et non d'une taille universelle recommandée : choisissez-en une qui correspond à la résolution de votre jeu et au niveau de détail de ses graphismes.
Mesurez le personnage visible, et non un rectangle d'image transparent. Le sprite d'overworld peut comporter une ombre, une arme, une antenne ou une marge vide, tandis que le sprite de combat peut adopter une posture différente. Déterminez si votre cible mesure la silhouette du corps de la tête aux pieds ou l'intégralité du graphisme visible, et appliquez cette même règle aux deux. Conservez une petite fiche de référence indiquant la hauteur cible, la résolution de référence, la ligne de sol prévue et les éventuelles différences délibérées propres à chaque scène.
Cette définition est essentielle, car une zone de travail (canvas) source plus grande ne signifie pas automatiquement un personnage plus grand à l'écran. Les dimensions de la zone de travail décrivent la surface de l'image ; les paramètres d'importation du moteur, l'échelle de l'objet et la caméra déterminent le nombre de pixels d'affichage que cette surface occupe. Aseprite fait la distinction entre la modification de la zone de travail et le redimensionnement du contenu du sprite : vérifiez donc quelle opération est requise avant de modifier le graphisme. Aseprite: Sprite Size
Comparer le graphisme réel à l'intérieur de chaque zone de travail
Ouvrez les images de l'overworld et de combat à leur échelle de pixels native et comptez les pixels selon la mesure choisie. Notez la hauteur visible du personnage ainsi que la distance entre les pieds et le bord de la zone de travail. Si le personnage de combat mesure 48 pixels visibles de haut et celui de l'overworld 32 pixels, les proportions de leurs graphismes diffèrent d'un rapport de 1,5:1 avant même que le moteur n'applique une mise à l'échelle de la scène.
Lorsque les proportions sont par ailleurs identiques, un calcul de départ simple est le suivant : hauteur de rendu souhaitée ÷ hauteur de rendu actuelle = facteur d'ajustement. Si un sprite s'affiche actuellement avec une hauteur de 24 pixels et devrait en mesurer 32, le facteur est 32 ÷ 24 = 1,33. Utilisez cette valeur comme une estimation diagnostique, puis examinez le graphisme et la configuration de la scène. Il s'agit d'un calcul illustratif qui suppose l'absence de différence de caméra, de recadrage ou de transformation.
Ne redimensionnez pas simplement pour que les fichiers d'image aient une largeur et une hauteur identiques. Une posture peut être plus large, ou une animation de combat peut comporter un bras levé. Préservez la silhouette voulue et comparez les mêmes points de repère anatomiques. Si les sprites présentent une anatomie ou une perspective visiblement différentes, faire correspondre la hauteur en pixels ne garantira pas nécessairement une sensation d'identité visuelle ; ajustez le design ou convenez d'une exception propre à la scène.
Définir une densité de pixels et une échelle de monde communes
Dans Unity, appliquez aux sprites de l'overworld et de combat la même valeur de Pixels Per Unit (PPU), et faites correspondre le paramètre Asset Pixels Per Unit de la Pixel Perfect Camera à cette valeur. Unity définit les PPU comme le nombre de pixels qui constituent une unité de scène, et sa documentation sur la Pixel Perfect Camera préconise une valeur commune pour tous les sprites d'une scène. Unity: 2D Pixel Perfect Par exemple, si le projet utilise 16 pixels par unité, un sprite de 32 pixels de haut occupe 2 unités de monde avant toute mise à l'échelle de l'objet.
Vérifiez également l'échelle de transformation (transform scale) de chaque objet personnage. Des PPU identiques ne compenseront pas un objet de scène mis à l'échelle à 0,8 et un autre à 1,0. Privilégiez des paramètres d'importation et de transformation cohérents, et n'ajustez le graphisme ou une échelle spécifique à la scène clairement documentée que lorsque la composition l'exige.
Dans un autre moteur, recherchez les commandes équivalentes : combien de pixels sources correspondent à une unité de monde, l'échelle du nœud ou de l'objet, ainsi que le viewport ou le zoom de la caméra. Le pipeline de rendu 2D de Godot comprend des transformations de canvas et de viewport, notamment une transformation d'étirement (stretch transform) utilisée lors du redimensionnement de l'écran ; par conséquent, les dimensions d'une image source ne suffisent pas à déterminer sa taille finale à l'écran. Godot: Viewport and canvas transforms
Aligner les pieds avec un point de pivot réfléchi
Un personnage peut avoir la bonne hauteur et donner malgré tout une impression d'échelle incohérente s'il flotte, s'enfonce dans le sol ou se décale d'une scène à l'autre. Placez le point de pivot sur un point d'ancrage logique, généralement le point de contact au sol entre les pieds, puis alignez cet ancrage sur la même ligne de sol dans les deux scènes. Pour les sprites dont les pieds bougent au cours d'une animation, ancrez la racine ou le pivot de manière cohérente et vérifiez les images clés de contact.
Évitez de supposer que le centre de chaque image constitue un bon point d'ancrage. Les zones de travail peuvent avoir des quantités différentes de marges transparentes, et un pivot centré peut décaler la position verticale du dessin. Le flux de travail pixel-perfect d'Unity prend en charge des pivots personnalisés mesurés en pixels et recommande de définir des pivots pour les sprites individuels au sein d'une texture multi-sprites. Unity: 2D Pixel Perfect Dans Godot, le Sprite2D est centré par défaut ; sa documentation souligne que le pixel art centré peut paraître déformé lorsqu'il est positionné entre deux pixels, et suggère de désactiver le centrage ou d'activer le snapping sur la grille de pixels. Godot: Sprite2D
Vérifier le filtrage, le snapping et l'échelle de la caméra
Utilisez un filtrage au plus proche (nearest ou point) pour obtenir un pixel art net, et confirmez que la compression de texture n'altère pas son rendu. Les directives d'Unity recommandent expressément le filtrage Point et l'absence de compression pour les sprites utilisés avec sa Pixel Perfect Camera. Unity: 2D Pixel Perfect Ces paramètres préservent la netteté des contours ; ils ne permettent pas de donner la même taille à deux sprites d'échelles différentes.
Ensuite, comparez les scènes avec leurs caméras configurées sur la même vue de référence ou à l'aide d'une caméra de test commune temporaire. Une scène de combat applique souvent un zoom pour accentuer l'action. Si le zoom de la caméra double, le personnage peut occuper deux fois plus de pixels d'écran, même si l'échelle du sprite dans le monde ne change pas. Déterminez si l'objectif est d'obtenir une taille identique dans le monde ou une importance visuelle égale à l'écran : ce sont deux objectifs distincts. Si le cadrage de combat agrandit délibérément le personnage, notez ce zoom comme un choix de mise en scène et ne vous basez pas sur cette vue pour évaluer l'échelle réelle du sprite.
En pixel art, inspectez également le mouvement et pas seulement une image fixe. Des positions sous-pixelliques (subpixel) ou un alignement (snapping) incohérent peuvent faire scintiller les contours ou donner un aspect irrégulier lors des déplacements du personnage. La Pixel Perfect Camera d'Unity propose un alignement sur grille lié à la valeur PPU de l'asset ; Godot fournit des options de pixel-snapping pour les sommets et transformations 2D. Unity: 2D Pixel Perfect Godot: Sprite2D Faites des tests avec les réglages de caméra réels du projet, car le comportement du snapping et de la mise à l'échelle dépend de la configuration de rendu.
Effectuer une vérification comparative rapide avant de modifier les assets
Créez une comparaison côte à côte avec la même posture de personnage si possible. Suivez ces étapes dans l'ordre :
- Comparez la hauteur visible du corps en utilisant les mêmes points de repère et la même règle de comptage de pixels.
- Comparez la ligne de sol des pieds ainsi que la position du pivot ou de la racine du sprite.
- Vérifiez les PPU ou la densité d'importation équivalente, l'échelle de l'objet et toute échelle parente.
- Harmonisez le zoom de la caméra, la résolution de référence, la mise à l'échelle du viewport et la taille d'affichage.
- Inspectez l'affichage à sa taille native et en mouvement pour repérer tout flou, placement irrégulier des pixels ou problème d'écrêtage (clipping).
- Contrôlez à nouveau quelques images d'animation, en particulier les postures les plus courtes et les plus hautes.
Si les dimensions du graphisme correspondent mais que le personnage paraît tout de même plus grand en combat, examinez le cadrage de la caméra et les objets environnants avant de modifier le sprite. Si la caméra et les transformations sont identiques mais que la hauteur de la silhouette diffère, ajustez le dessin ou appliquez une échelle contrôlée spécifique à la scène. Si les pieds se décalent alors que la hauteur concorde, corrigez le pivot, les marges ou l'ancrage. Cet ordre permet d'isoler la cause du problème plutôt que de compenser une erreur par une autre.
Conserver une référence d'échelle pour les futurs sprites
Consignez la hauteur cible commune, les PPU ou leur équivalent, la résolution de référence, la convention de pivot et les paramètres de caméra prévus aux côtés des assets de sprites. Les outils de zone de travail d'Aseprite permettent de rogner les bordures transparentes, mais cette opération modifie les limites de l'image : vérifiez donc que les pivots, découpes (slices) ou ancrages côté moteur restent correctement alignés par la suite. Aseprite: Canvas Size Considérez le rognage comme une modification d'asset nécessitant une rapide vérification dans la scène.
La méthode la plus fiable consiste à obtenir un personnage conforme à la cible de hauteur visible convenue, partageant un point d'ancrage au sol et bénéficiant d'un rendu cohérent avec les paramètres de caméra et de filtrage prévus. Conservez les variations d'échelle délibérées liées à la caméra en tant que choix de mise en scène explicites. Grâce à ces vérifications documentées, les futures poses d'overworld et animations de combat pourront être comparées à une référence concrète et uniforme.
