Guides / Construction et ressources
Slim ou classique : le jeu lit votre compte, et un outil doit deviner à partir de 24 pixels
Le jeu détermine slim ou classique à partir du réglage de skin de votre compte, pas du PNG. Un outil recevant un PNG brut doit deviner à partir de deux colonnes qu'un bras slim laisse vides. Plus la carte UV complète et pourquoi les anciens skins 64×32 sont mis en miroir.
Rien dans un PNG de skin n'indique « slim ». Il n'y a ni indicateur ni convention de nommage — et le jeu ne regarde jamais les pixels pour le savoir. Il tire le modèle du réglage model que votre compte associe au skin (le choix que vous faites au moment de l'envoyer), et un profil sans skin reçoit l'un des 18 skins par défaut, 9 slim et 9 classiques, choisi d'après son UUID.
Seul un outil auquel on donne un PNG brut — un éditeur, un créateur de pack, une visionneuse — doit déduire le modèle, et il le fait en examinant un rectangle précis de 2 × 12 et en comptant combien de ses pixels sont réellement présents.
Le test
sample x 54–55, y 20–31 — 2 wide, 12 tall = 24 pixels
count pixels with alpha > 0
slim if fewer than 6 are opaque
Les bras classiques font 4 pixels de large ; les bras slim en font 3. Les faces d'un bras slim sont tassées d'un pixel en moins, si bien que les faces latérale et arrière se décalent vers la gauche et que les deux dernières colonnes du bloc de bras, x 54–55, restent vides. Sur les skins par défaut de Mojang, ce rectangle est à 0 sur 24 opaque sur les neuf skins slim et à 24 sur 24 sur les neuf skins classiques — vingt-quatre pixels suffisent pour trancher.
Le seuil est de 6 sur 24, pas de 1 — il faut qu'un quart de la colonne soit rempli pour compter comme classique. Cette tolérance compte : un skin slim avec quelques pixels parasites dans la colonne morte est quand même lu comme slim, ce qui est souhaitable, car ces parasites sont presque toujours un accident d'édition plutôt qu'une intention.
Cela signifie aussi que le mode d'échec est silencieux. Si vous dessinez un skin classique mais n'utilisez que légèrement ces colonnes — un fin contour, deux pixels d'ombrage — vous pouvez passer sous 6 et être détecté automatiquement comme slim, perdant un pixel de largeur de bras sans rien pour l'expliquer. Si un skin ressort avec le mauvais modèle dans un outil, c'est là qu'il faut regarder — et dans le jeu, c'est le réglage de votre compte.
La carte UV, en entier
Chaque partie du skin est un rectangle fixe, et chacune possède une couche de superposition ailleurs sur la feuille :
| partie | base | superposition | décalage | taille |
|---|---|---|---|---|
| tête | (8, 8) | chapeau (40, 8) | 32 à droite | 8 × 8 |
| corps | (20, 20) | veste (20, 36) | 16 vers le bas | 8 × 12 |
| bras droit | (44, 20) | manche (44, 36) | 16 vers le bas | 4 × 12 |
| jambe droite | (4, 20) | pantalon (4, 36) | 16 vers le bas | 4 × 12 |
| bras gauche | (36, 52) | manche (52, 52) | 16 à droite | 4 × 12 |
| jambe gauche | (20, 52) | pantalon (4, 52) | 16 à gauche | 4 × 12 |
Cinq des six superpositions se trouvent exactement à 16 pixels de leur base — mais pas dans la même direction. Les trois parties d'origine vont 16 vers le bas. Le bras gauche et la jambe gauche, ajoutés plus tard et comprimés dans la moitié inférieure où il n'y avait pas de place en dessous, vont plutôt 16 sur le côté — et dans des directions opposées l'un par rapport à l'autre.
Le chapeau est le seul à ne pas être à 16 du tout : il est à 32 vers la droite, sur la même ligne que la tête.
Ainsi, « la superposition est sous la base » est une règle qui ne vaut que pour la moitié de la feuille. Copier un rectangle de base et le décaler vers le bas pour trouver sa superposition fonctionne pour le corps, le bras droit et la jambe droite, et tombe silencieusement sur la mauvaise partie pour les trois autres.
Sur un skin slim, chaque rectangle de bras de 4 de large est lu comme 3 de large à la place. Les faces avant ne bougent pas, mais tout ce qui les suit oui : la face latérale et la face arrière commencent chacune un pixel plus à gauche, et la face arrière est un pixel plus étroite, ce qui laisse x 54–55 vides.
L'ancien 64 × 32 n'a pas de côté gauche du tout
Un skin antérieur à la 1.8 fait 64 × 32 — la moitié inférieure de la feuille n'existe tout simplement pas, or c'est là que se trouvent le bras gauche et la jambe gauche. Il n'y a rien pour les dessiner.
La solution est le miroir : la jambe droite (0, 16) est copiée vers (16, 48) et le bras droit (40, 16) vers (32, 48), les deux retournés horizontalement. C'est pourquoi les vieux skins sont parfaitement symétriques et que les modernes n'ont pas besoin de l'être — l'asymétrie est la seule chose que le format 64 × 32 ne peut pas exprimer, et tout vieux skin que vous convertissez se voit imposer la symétrie, qu'il le veuille ou non.
Un fichier d'éditeur 128 × 128, c'est la même disposition, en double
Java accepte le 64 × 64 ou l'ancien 64 × 32 et rejette tout le reste. L'éditeur de skins Bedrock de ce site fonctionne en 128 × 128 et n'accepte rien d'autre — mais ce fichier est la même disposition UV dessinée à deux fois la résolution, chaque partie aux coordonnées Java doublées, pas un format différent.
Le mur est dans les outils, pas dans la disposition. Le pipeline de textures de chaque version d'éditeur est dimensionné pour son propre nombre, si bien qu'aucun n'ouvrira le fichier de l'autre, et un PNG 128 × 128 donné à Java est rejeté plutôt qu'affiché à moitié taille. La conversion est une mise à l'échelle mécanique de 2×, ce qui explique pourquoi l'éditeur de skins traite les deux comme des versions distinctes plutôt qu'un seul canevas.