Pontilhamento, anti-aliasing e cor
Pontilhamento
Pontilhamento mistura duas cores com um padrão de pixels para simular uma terceira cor ou um gradiente.
Quando usar:
- Áreas grandes e planas a partir de 48 px, como céus, sombras grandes e fundos.
- Paletas apertadas de 4 a 16 cores que precisam de mais tons.
- Texturas: pedra, areia, tecido.
Quando não usar:
- Sprites com menos de 32 px. Parece ruído.
- Rostos de personagens ou qualquer coisa que se mova. Cintila entre quadros.
- Onde uma terceira cor da paleta seria melhor. Prefira um passo de rampa ao pontilhamento.
Ferramentas:
| Necessidade | Ferramenta |
|---|---|
| Gradiente entre duas cores | apply_dither_gradient(..., color_start, color_end, horizontal). Este é Bayer ordenado 4×4. |
| Textura uniforme ou mistura | apply_dither_pattern(..., color_a, color_b, density). Densidade 0.5 é um xadrez; 0.25 e 0.75 são pontos esparsos. |
| Padrão colocado manualmente | draw_rows com o padrão descrito. Veja a referência de padrões. |
Regras:
- Pontilhe apenas entre cores vizinhas na rampa. Duas cores distantes parecem uma grade, não uma mistura.
- Mantenha a faixa de transição estreita, 2 a 6 px. As áreas sólidas carregam a forma.
- Nunca pontilhe sobre um contorno ou borda de silhueta.
Anti-aliasing (AA)
AA coloca cores intermediárias onde uma curva ou diagonal faz degraus, para suavizar os serrilhados.
- Use apenas em linhas internas e curvas grandes, a partir de 32 px. Deixe a silhueta externa contra um fundo transparente dura. Bordas com AA mostram halos em outros fundos.
- Coloque um pixel de AA no canto interno de cada degrau, colorido entre a linha e o preenchimento. Para degraus longos, use 2 px: um mais claro e um mais escuro.
- Verifique o resultado com
view_sprite(zoom de região). AA que torna uma linha mais grossa está errado, então remova-o.
Sombreamento com cor
- Construa a rampa de cada material com
generate_color_ramp(base, steps=3-5, hue_shift_degrees=15-30). As sombras tendem ao azul ou roxo, e os realces ao amarelo ou laranja. - Aumente o contraste entre materiais com luminosidade, não apenas matiz. Uma verificação rápida:
adjust_hsl(saturation_shift=-1)em uma cópia mostra se a arte é legível em escala de cinza. - Para mudanças de clima (noite, veneno, flash de impacto), use
adjust_hslem uma camada, oureplace_color/remap_colors_in_cel_rangeentre quadros. - Adaptando a uma paleta retrô: aplique com
apply_palette_preset, depoisquantize_to_palette. Corrija manualmente os pontos que ficaram sujos, usando cores da mesma rampa.
Materiais
| Material | Como é lido |
|---|---|
| Metal | Alto contraste. Um realce duro e nítido ao lado de uma sombra profunda. Luz refletida na borda da sombra. |
| Pedra | Baixo contraste. Textura agrupada, pontilhamento esparso ou aglomerados de 2 a 3 px, bordas lascadas. |
| Madeira | Linhas de veio ao longo da tábua, em um tom mais escuro. Nós são pequenas elipses. |
| Tecido | Gradientes suaves, dobras como faixas escuras curvas, textura de linhas verticais para a trama. |
| Vidro / água | Principalmente o fundo aparecendo. Pontos especulares brilhantes, realces nas bordas, um pouco de tonalidade. |
| Pele | Uma rampa quente de 3 a 4 passos com sombras avermelhadas. Sem pontilhamento. |
Após qualquer passo de polimento, chame get_color_stats para manter a paleta enxuta, e lint_sprite para capturar pixels soltos.