Guides / Construction et ressources
Associer une couleur à un bloc Minecraft est plus difficile qu'il n'y paraît
Deux blocs peuvent sembler identiques en RVB et complètement différents sur un mur, car le jeu ombre chaque face qu'il affiche.
Choisissez le bloc dont la couleur moyenne est la plus proche de votre cible et vous vous tromperez généralement. Minecraft ne dessine pas un bloc comme la couleur moyenne de sa texture — il multiplie cette texture par une luminosité propre à chaque face, puis par le niveau de lumière à cet endroit. La couleur que vous avez échantillonnée sur une capture d'écran est déjà le produit de cet ombrage, donc l'injecter directement dans une recherche de couleur la plus proche revient à comparer à une valeur qu'aucun bloc n'affiche réellement.
Pourquoi la moyenne RVB échoue
La moyenne RVB traite les trois canaux comme également importants et comme s'ils variaient de façon linéaire. Ni l'un ni l'autre n'est vrai. La vision humaine est bien plus sensible aux différences de vert qu'à celles de bleu, et une différence de couleur de même amplitude numérique paraît bien plus grande dans les tons sombres que dans les tons clairs. Deux blocs peuvent se situer à la même distance RVB d'une cible et n'avoir aucun air de ressemblance sur un mur.
CIELAB est conçu précisément pour corriger cela : des distances numériques égales en Lab correspondent, approximativement, à des différences perçues égales. C'est pourquoi un outil de palette peut, en comparant en Lab, suggérer un bloc qui se lit véritablement comme la bonne couleur plutôt qu'un bloc qui partage simplement un code hexadécimal.
La texture n'est pas d'une seule couleur
Une texture de bloc est un carré de pixels, et la plupart ne sont pas uniformes. Une texture 16×16 contient 256 pixels, et une roche bruitée ou une texture de feuillage tachetée s'étale sur une large gamme de tons. La réduire à une seule moyenne jette la variance — c'est-à-dire la part qui détermine si une mosaïque paraît lisse ou mouchetée. Le comparateur de palette mesure par rapport aux fichiers de texture réels, donc la distance qu'il rapporte reflète ce que le bloc contient réellement.
Java et Bedrock divergent ici
Les deux éditions ne livrent pas des textures identiques, et elles n'ombrent pas de la même façon. Java applique une luminosité directionnelle par face et une teinte de biome via son propre pipeline ; Bedrock gère la teinte et certaines couleurs de blocs différemment. Une palette qui correspond parfaitement dans une édition peut être visiblement décalée dans l'autre, en particulier pour l'herbe, les feuilles et l'eau. Construisez la palette dans l'édition où vous placez réellement les blocs.
De l'image à la mosaïque
Une mosaïque est une grille, et chaque cellule devient un bloc. Deux conséquences en découlent. Premièrement, l'image doit être sous-échantillonnée à la taille de la grille avant la comparaison, pas après — comparer à pleine résolution puis réduire produit une palette choisie pour un détail qui n'existe plus. Deuxièmement, la sortie est un .mcfunction, donc toute la construction est placée par commande plutôt qu'à la main. Le nombre de commandes évolue avec le nombre de cellules, pas avec le nombre de pixels de l'image.
Le piège de la transparence
Les pixels à alpha partiel n'ont pas d'équivalent en un seul bloc. Décidez à l'avance s'ils deviennent de l'air, une variante de verre, ou la correspondance opaque la plus proche, car le comparateur ne peut pas deviner votre intention et les fondra sinon dans la couleur unie la plus proche.
Transformez une image en mosaïque de blocs avec un .mcfunction prêt à l'emploi, ou trouvez le bloc vanilla le plus proche de n'importe quelle couleur, dans les Outils Pixel Art & Palette de Blocs.