Tramage, anti-aliasing et couleur
Tramage (Dithering)
Le tramage mélange deux couleurs avec un motif de pixels pour simuler une troisième couleur ou un dégradé.
Quand l'utiliser :
- Grandes zones plates à partir de 48 px, comme les ciels, les grandes ombres et les arrière-plans.
- Palettes serrées de 4 à 16 couleurs qui ont besoin de plus de nuances.
- Textures : pierre, sable, tissu.
Quand ne pas l'utiliser :
- Sprites de moins de 32 px. Cela ressemble à du bruit.
- Visages de personnages, ou tout ce qui bouge. Cela scintille entre les images.
- Là où une troisième couleur de palette ferait mieux l'affaire. Préférez un pas de rampe au tramage.
Outils :
| Besoin | Outil |
|---|---|
| Dégradé entre deux couleurs | apply_dither_gradient(..., color_start, color_end, horizontal). Il s'agit d'un Bayer ordonné 4×4. |
| Texture ou mélange uniforme | apply_dither_pattern(..., color_a, color_b, density). Une densité de 0.5 donne un damier ; 0.25 et 0.75 donnent des points espacés. |
| Motif placé à la main | draw_rows avec le motif explicité. Voir la référence des motifs. |
Règles :
- Tramer uniquement entre des couleurs de rampe voisines. Deux couleurs éloignées ressemblent à une grille, pas à un mélange.
- Garder la bande de transition étroite, 2–6 px. Les zones solides portent la forme.
- Ne jamais tramer sur un contour ou une bordure de silhouette.
Anti-aliasing
L'anti-aliasing place des couleurs intermédiaires là où une courbe ou une diagonale fait des marches, pour adoucir les crénelures.
- Utilisez-le uniquement sur les lignes internes et les grandes courbes, à partir de 32 px. Laissez la silhouette extérieure dure contre un fond transparent. Les bords anti-aliasés créent des halos sur d'autres fonds.
- Placez un pixel d'anti-aliasing dans le coin intérieur de chaque marche, d'une couleur entre le trait et le remplissage. Pour les longues marches, utilisez 2 px : un plus clair et un plus foncé.
- Vérifiez le résultat avec
view_sprite(zoom région). Si l'AA rend le trait plus épais, c'est faux ; supprimez-le.
Ombrage avec couleur
- Construisez la rampe de chaque matériau avec
generate_color_ramp(base, steps=3-5, hue_shift_degrees=15-30). Les ombres penchent vers le bleu ou le violet, et les lumières vers le jaune ou l'orange. - Augmentez le contraste entre les matériaux avec la luminosité, pas seulement la teinte. Vérification rapide :
adjust_hsl(saturation_shift=-1)sur une copie montre si l'art se lit en niveaux de gris. - Pour les changements d'ambiance (nuit, poison, flash de toucher), utilisez
adjust_hslsur un calque, oureplace_color/remap_colors_in_cel_rangesur plusieurs images. - Adapter une palette rétro : appliquez-la avec
apply_palette_preset, puisquantize_to_palette. Corrigez à la main les zones devenues boueuses en utilisant des couleurs de la même rampe.
Matériaux
| Matériau | Aspect |
|---|---|
| Métal | Contraste élevé. Un reflet dur et net à côté d'une ombre profonde. Lumière réfléchie sur le bord de l'ombre. |
| Pierre | Faible contraste. Texture regroupée, tramage clairsemé ou amas de 2–3 px, bords ébréchés. |
| Bois | Lignes de fil dans le sens de la planche, dans un ton plus foncé. Les nœuds sont de petites ellipses. |
| Tissu | Dégradés doux, plis sous forme de bandes courbes plus sombres, texture de lignes verticales pour le tissage. |
| Verre / eau | Surtout le fond qui apparaît. Points spéculaires brillants, reflets sur les bords, une légère teinte. |
| Peau | Une rampe chaude de 3–4 pas avec des ombres rougeâtres. Pas de tramage. |
Après chaque passage de polissage, appelez get_color_stats pour garder la palette serrée, et lint_sprite pour repérer les pixels isolés.