LiveMutaSprite ist live. Jetzt auf Gumroad und itch.io — ab sofort kaufen und laden.
Handbuch/ Chroma-Key-Profile/ Reste entfernen (Residue Repair)

Reste entfernen (Residue Repair)

Grünschleier und Spritzer von bereits freigestellten Sprites entfernen — der Inhalt bleibt unangetastet.

Kurzbeschreibung

„Reste entfernen" ist kein Keying, sondern ein Reparatur-Werkzeug für bereits freigestellte Bilder, bei denen am Rand ein grüner Schleier oder ein „Nachglühen" zurückbleibt. Das passiert typisch, wenn ein KI-Sprite nach dem Freistellen hochskaliert wurde (z. B. 9×) und das Upscaling Rest-Grün in die Kante verschmiert hat.

Das Werkzeug arbeitet band-beschränkt: angefasst werden nur Pixel am Übergang zur Transparenz (der Silhouetten-Saum, Reichweite = Regler Saumtiefe) plus isolierte Grün-Spritzer. Der eigentliche Inhalt des Sprites bleibt unberührt.

Wofür / Wann

  • Du hast ein Sprite schon freigestellt (transparenter Hintergrund), aber am Rand zeigt sich noch ein grüner Saum oder vereinzelte grüne Punkte.
  • Das Sprite wurde nach dem Freistellen hochskaliert und hat dadurch einen mehrere Pixel tiefen, verwaschenen Grünsaum bekommen.
  • Du brauchst entweder einen weichen, kantenerhaltenden Look oder eine crispe, garantiert grünfreie Pixel-Art-Kante.

Wenn du dagegen einen noch nicht freigestellten Greenscreen entfernen willst, nimm ein Keying-Profil (Green Sprite oder Green Sprite (hart)) — nicht dieses Werkzeug.

So funktioniert's

Es gibt zwei Modi:

  • Entgiften (weich, Default): zieht den Grünstich aus dem Saum heraus (Despill g→max(r,b)), erhält weiche Kanten/Verläufe und Alpha. Helles, kräftiges Grün (also echter Content wie Schrift oder Objekte) ist geschützt. Der Schalter Löschverbot sorgt dafür, dass weiche Kanten vollständig erhalten bleiben — isolierte Spritzer werden trotzdem entfernt.
  • Harte Outline (crisp): färbt den grünen Saum aus dem nächsten nicht-grünen Nachbarn um (lokal abgetastet — eine schwarze Outline bleibt schwarz, eine farbige Kante behält ihre Farbe) und snappt das Alpha hart → eine saubere, dunkle Pixel-Art-Kante, garantiert ohne Grün.

Gemeinsam ist beiden Modi: isolierte grüne Inseln, die an der Transparenz hängen, werden auf transparent gesetzt; alles Übrige bleibt auf das Saumband beschränkt.

Einstellungen

Regler Wirkung
Modus Entgiften (weich) (Default) erhält weiche Kanten; Harte Outline (crisp) erzwingt eine grünfreie, harte Kante.
Stärke Aus / Konservativ / Normal (Default) / Stark. Skaliert die Inselgröße und die Despill-Intensität. Stark ist am gründlichsten, aber nicht der globale Default (s. u.).
Saumtiefe Wie tief ins Bild der Saum behandelt wird. Default 8; bis 16 für Extremfälle. Bei 1 praktisch wirkungslos auf 9×-Assets.
Löschverbot Erhält weiche Halbtransparenz vollständig; entfernt aber weiterhin isolierte Spritzer.
Toleranz Beim grünen Key ausgegraut/wirkungslos (s. FAQ).

GUI-Preset „9×-Saum reparieren": setzt Stark + Saumtiefe 12 (Modus frei wählbar) — der Schnellweg für stark hochskalierte Assets.

Empfohlene Einstellungen je Anwendungsfall:

Asset-Typ Empfehlung
9×/hochskaliertes Sprite, weicher Look Entgiften + Stark + Saumtiefe 8–12
9×/hochskaliertes Sprite, crispe Pixel-Art-Kante Harte Outline + Stark + Saumtiefe 8–12
Asset mit grünem Content (Schrift, Pflanzen), weiche Kanten erhalten Entgiften + Normal/Stark, ggf. Löschverbot
Kleines, nicht hochskaliertes Sprite Konservativ/Normal (Stark kann kleine Grün-Elemente fressen)
100 % grünfrei gefordert (Zoom/Print) Harte Outline (Entgiften lässt einen hellen Rest stehen)

CLI / Automatisierung

Headless dasselbe Reparieren — Aufruf und gemeinsame Flags in der CLI-Übersicht. Dieses Profil wählst du mit --profile residue.

Relevante Flags (entsprechen den Reglern oben): --residue-mode {detox,outline} (Entgiften / Harte Outline), --residue-strength {off,conservative,normal,strong} (Stärke), --residue-fringe PX (Saumtiefe, Default 8, bis 16) und --residue-no-delete (Löschverbot — weiche Kanten erhalten). Optional schreibt --stamp-metadata die Parameter als PNG-Metadaten mit. Beim grünen Key ist --key-tolerance wirkungslos (s. FAQ).

Beispiel (= GUI-Preset „9×-Saum reparieren"):

clean_sprite_chromakey.py sprite.png sprite_clean.png --profile residue --residue-mode detox --residue-strength strong --residue-fringe 12

FAQ

Warum ändert die Toleranz nichts? Beim grünen Key läuft die Grün-Erkennung über „Grün ist Max-Kanal" (g>r & g>b), nicht über die Distanz zur Keyfarbe. Das ist by design: der Rest-Spill auf freigestellten Assets ist ein entsättigtes Grün, das außerhalb jeder sinnvollen Toleranz läge — die Grün-Dominanz fängt ihn unabhängig davon. Deshalb graut die GUI den Toleranz-Regler im Reste-Profil bei grünem Key aus.

Bei starkem Zoom sehe ich nach dem Entgiften noch grüne Pixel! Bei nativer Anzeigegröße (Spielgröße) ist der verbleibende helle Saum-Rest praktisch unsichtbar (gemessen: 57–103 px grüner Saum bei 1/6-Größe → 2–8 px nach Behandlung). Für pixel-perfektes Grünfrei bei starkem Zoom nimm die Harte Outline.

Warum sieht „Konservativ" bei der Harten Outline aggressiver aus als „Stark"? Bei der Outline steuert die Stärke die Kantendicke (über den Alpha-Snap): Konservativ löscht die meiste Halbtransparenz (dünnste Kante), Stark erhält am meisten als opake Outline (dickste Kante). Das ist intuitiv invertiert, aber korrekt.

Was bedeuten die drei Ergebniszahlen (entfernt / bereinigt / übrig)? Entfernt = auf transparent gesetzte Pixel (Inseln, Geister-Cut, Outline-Clear). Bereinigt = entgrünte (Entgiften) bzw. hart-opak gesnappte (Outline) Pixel. Übrig = verbleibende halbtransparente Pixel. Bei der Outline ist übrig konstant (harter Snap) — das ist kein Fehler.

Ich bekomme bei gleichen Einstellungen unterschiedliche Ergebnisse — warum? Das Werkzeug ist deterministisch: gleiche Parameter + gleiches Original ⇒ byte-identisches Ergebnis. Verarbeite immer vom Original. Eine bereits bereinigte Ausgabe erneut durchzuschicken liefert andere Zahlen und macht Vergleiche wertlos.

Grenzen

  • Tiefe Innen-Kontamination (Grün weiter von der Transparenz entfernt als die Saumtiefe) bleibt bewusst stehen — sie ist gegen Transparenz unsichtbar und meist echtes Content-Grün. Beste Abhilfe (Workflow): vor dem Hochskalieren freistellen.
  • Heller Saum-Rest beim Entgiften: helles Saum-Residuum ist chromatisch identisch mit Content-Grün — kein Helligkeits- oder Distanzkriterium kann beide trennen. Entgiften schützt deshalb helles Grün (und lässt einen hellen Rest stehen); wer 100 % grünfrei braucht, nimmt die Harte Outline.
  • Nicht-grüner Schmutz (graue/weiße Störpixel) ist für die grüne Maske unsichtbar und wird nicht entfernt.
  • Magenta-/Custom-Keys: im Reste-Profil arbeitet das Werkzeug dort über die Key-Distanz mit nur einem sanften Geister-Cut; die volle Wirkung der zwei Modi entfaltet sich beim grünen Key.

Beispiele

Einstellungen der Beispiele: Stärke Stark, Saumtiefe 12 (= Preset „9×-Saum reparieren").

Zoom auf den Silhouetten-Saum (orange „M" + Sparkle) auf dunklem Hintergrund: Original (grüner Saum) | Entgiften | Harte Outline — die grünen Spritzer und der Fransensaum verschwinden, Orange/Lila bleiben.

Saum-Zoom: links Original mit grünem Fransensaum, Mitte Entgiften, rechts Harte Outline.

Ganzes Logo bei Spielgröße (~1/4) auf dunklem Hintergrund: Original | Entgiften | Harte Outline — das Ergebnis ist bei realer Anzeigegröße game-ready.

Native Spielgröße: bei realer Anzeigegröße ist das Ergebnis game-ready.

Zoom auf grünen Content (ARKANE-Lettern): Original | Entgiften — der Content bleibt unverändert.

Content-Schutz: grüne Schrift/Objekte bleiben beim Entgiften unangetastet.

Verwandte Features