Pixelart UnDetail
Zu detailreiche PNG-Assets gezielt auf eine grobere Pixelstruktur bringen — ohne graue Säume, Randartefakte oder RGBA-Matsch.
Kurzbeschreibung
Pixelart UnDetail reduziert zu fein geratene PNG-Assets gezielt auf eine grobere Pixelstruktur — blockweises Verkleinern und Nearest-Neighbor-Hochskalieren, standardmäßig in Originalgröße ausgegeben. Es vermeidet bewusst graue Säume, halbtransparente Randartefakte und RGBA-Durchschnittsmatsch. Es ist eine eigenständige Transformations-Operation, getrennt vom Chroma-Key-Flow.
Wofür / Wann
- Ein Generator-/Paintover-Asset ist für dein Pixel-Art-Spiel zu fein und soll grober wirken.
- Der übliche Workaround „Verkleinern + Nearest-Neighbor-Hochskalieren" erzeugt bei dir graue Ränder oder halbtransparenten Matsch — UnDetail trennt Alpha, Randfarben und Blockfarben sauber.
- Du willst die Originalgröße behalten, aber die Detailtiefe senken.
Wann nicht UnDetail:
- Du willst echtes Pixel-Art mit kuratierter Palette → Pixelize.
- Du willst freistellen → ein Chroma-Key-Profil.
So funktioniert's
UnDetail teilt das Bild in Blöcke, wählt pro Block eine Farbe und setzt das Ergebnis wieder auf die Originalgröße zusammen. Entscheidend für saubere Ergebnisse:
- RGB wird nur aus opaken / ausreichend deckenden Pixeln gesampelt — transparente Ränder bringen keine Fremdfarben oder Pseudo-Alpha in die Ausgabe.
- Exakt einfarbige Blöcke umgehen die Quantisierung und behalten ihre Originalfarbe.
- Smooth-Area Snap schnappt optisch glatte Niedrigvarianz-Blöcke auf gemeinsame Flächenfarben, damit gleichmäßige Flächen nicht blockweise rauschen.
- Smooth-Island Cleanup passt winzige Farb-Ausreißer an die Nachbarflächen an.
Einstellungen
| Regler | Wirkung |
|---|---|
| Profil | Custom (Default) · Pixelart Smooth 8 · Pixelart Stark Smooth 16 — abgestimmte Parameterbündel. |
| Blockgröße | 2/3/4/6/8, Default 4 — wie grob die Pixelstruktur wird. |
| Sampling | Blockfarbe per Dominant (Default) · Median · Average. |
| Quantisierung | Farbraster Aus · Leicht (Default, 16 Stufen) · Stark (32 Stufen). |
| Smooth-Area | Snap (Default) / Aus, Schwelle 0–32 (Default 8) — glatte Flächen vereinheitlichen. |
| Smooth-Island Cleanup | An (Default) / Aus — kleine Farbinseln an Nachbarflächen angleichen. |
| Alpha | Hart (Default) · Coverage-Schwelle · Alpha beibehalten, Schwelle Default 128. |
| Rand-Bleed | RGB unter transparente Randpixel füllen (Default an) — verhindert graue Säume. |
| Ausgabegröße | Originalgröße (Default) · Kleinbild (32/64/128/256 oder manuell 8–4096) · Beides. |
Empfohlene Einstellungen je Anwendungsfall:
| Ziel | Empfehlung |
|---|---|
| Leichtes Vergröbern, Original behalten | Default (Custom, Block 4, Quantisierung Leicht) |
| Gleichmäßige Flächen, weniger Rauschen | Pixelart Smooth 8 oder Stark Smooth 16 |
| Kleines Sprite zusätzlich exportieren | Ausgabegröße: Beides, Zielbreite wählen |
CLI / Automatisierung
Headless dasselbe Vergröbern — Aufruf und Positional-Argumente in der CLI-Übersicht. Diese
Operation wählst du mit --operation undetail.
Relevante Flags (entsprechen den Reglern oben): --undetail-profile {custom,balanced,strong_smooth},
--undetail-block-size {2,3,4,6,8} (Blockgröße, Default 4), --undetail-sampling {dominant,median,average},
--undetail-quantization {off,light,strong}, --undetail-smooth-mode {off,snap} mit
--undetail-smooth-threshold 0–32, --undetail-island-cleanup {off,on},
--undetail-alpha-mode {hard,coverage,preserve} mit --undetail-alpha-threshold 1–255,
--undetail-bleed-edge-rgb {on,off} (Rand-Bleed) sowie die Ausgabegröße
--undetail-output-scale {original,small,both} mit --undetail-small-width PX.
Beispiel:
clean_sprite_chromakey.py art.png art_undetail.png --operation undetail --undetail-block-size 4 --undetail-quantization light
FAQ
Was ist der Unterschied zu „Pixelize"? UnDetail ist ein Block-Mosaik + Per-Kanal-Posterize — es reduziert Detail, erzeugt aber keine kohärente Palette und kennt keine Zielauflösung. Pixelize ist der PixelArt-Konverter mit kuratierter, begrenzter Palette und echtem niedrigaufgelöstem Raster. Wähle UnDetail zum Vergröbern, Pixelize für intentionales Pixel-Art.
Bekomme ich halbtransparente Ränder? Im Standardmodus nein — transparente Pixel behalten Alpha 0, und der Rand-Bleed füllt sinnvolle RGB-Werte unter die Kante. So entstehen keine grauen Säume.
Skaliert mein Chroma-Key-Ergebnis dadurch? Nein. UnDetail ist eine eigene Operation; Chroma-Key selbst skaliert weiterhin nie. Die Defaults der beiden Flows werden nicht vermischt.
Grenzen
- Keine kuratierte Palette / keine Zielauflösung — das ist Sache von Pixelize.
- Keine Sprite-Generierung, keine allgemeine Retusche oder Style-Transfer-Funktion.
- Keine Cloud-/Fremddienste — alles läuft lokal.
Beispiele
![]()
Überzeichnete/verrauschte Vorlage wird blockweise vereinfacht — ruhigere Flächen, klarere Pixel-Art.
Verwandte Features
- Pixelize (PixelArt-Konverter) — echtes Pixel-Art mit kuratierter Palette, die abgegrenzte Schwester-Operation.