BlockReel Skins
Arbeite im BlockReel-Ordner ($BLOCKREEL_HOME, siehe die Bootstrap-Funktion des blockreel-Skills). Lege jeden Skin in work/skins/<name>/ (gitignoriert) oder films/<name>/skins/ ab. Kopiere niemals den Skin eines anderen; übernimm Ideen, keine Pixel.
0. Der Benutzer hat einen Skin geschickt
Verwende ihn genau wie geschickt: kopiere ihn in den Filmordner, validiere ihn mit python core/skin.py validate (konvertiere Legacy 64x32 in eine NEUE Datei) und referenziere ihn in story.json. Male einen Skin des Benutzers niemals neu, es sei denn, er bittet darum. Entwirf nur dann einen neuen Skin, wenn keiner vorhanden ist.
1. Briefing (maximal eine kurze Frage)
Lege fest: den Charakter (wer, Rolle, Stimmung), den Stil und das Modell.
| Stil | Zielsetzung |
|---|---|
| clean pixel art | 3-4 Tonabstufungen pro Material, kein Rauschen, 1 px Lichter/Schatten, lesbare Silhouette |
| cartoon | Gesättigte Farben, 1 px dunklere Kontur auf Gesicht/Overlay-Kanten, große einfache Augen, starke Farbblöcke |
| realistisch | Gedämpfte Palette, dezentes Rauschen (noise=0.03-0.05), Falten und Nähte, Materialvielfalt (Stoff, Leder, Metall) |
| anime | Große Augen (2 px Iris + Highlight-Pixel), pastelliges/gesättigtes Haar in 3 Tönen mit einer Highlight-Strähne, einfache Kleidung |
classic = 4 px Arme (Steve-ähnlich), slim = 3 px Arme. Wenn der Benutzer nichts sagt, wähle classic und teile dies mit; biete die slim-Variante an.
2. Recherche (Web), geschrieben in research.md mit Links
Suche und lies: das UV-Layout und die Layer-Regeln für Skins (Minecraft Wiki: Skin; die eigene Karte des Repos ist docs/SKINS.md / references/skin-layout.png), Pixel-Art-Schattierungs- und Palettentechniken (Farbverschiebung, Tonabstufungen, Vermeidung von Kissen-Schattierung) und Stil-Referenzen für den Charaktertyp. Notiere: Link, wofür du es verwendest. Kein Kopieren von Skins oder Kunst Dritter.
3. Palettenplan
Schreibe den Plan vor dem Malen: eine Grundfarbe pro Material und eine Abstufung von 3-4 Tönen davon (skin.ramp(base, 4, hue_shift=0.04): Schatten leicht kühler, Lichter leicht wärmer). Typische Materialien: Haut, Haare, zwei Stofffarben, Leder, Metall, Stiefel, Akzent. Halte die Gesamtzahl unter ~24 Farben; ein Akzent reicht.
4. In Layern malen (core/skin.py SkinCanvas)
Zuerst die Basisschicht (Kopf, Körper, Arme, Beine), dann die Overlay-Schicht (Hut = Kapuze/Haarvolumen, Jacke = Umhang/Mantel, Ärmel, Hosen). Nützliche Helfer: shaded_box(part, ramp) (von oben/vorne beleuchtet), rect, px, line, edge_light, clear und mirror_limbs() um die rechte Seite zu malen und gespiegelt auf die linke zu kopieren. Gesichtsbezogene Koordinaten: Du berechnest niemals von Hand die Atlas-Positionen. Gesichtsregel für BlockReel-Filme: platziere die Augen auf Reihe 4 (und Augenbrauen auf Reihe 3) des vorderen Gesichts, den Mund auf Reihe 6, weil die Gesichtszustände der Engine (blink, wide, glow, Lippen-Sync) diese Reihen neu malen und die Hautfarbe aus den Wangen (Reihe 5) entnehmen. Starte von examples/skin-demo/paint_skin.py und ändere den Palettenplan sowie die Blöcke pro Teil.
5. Validieren
python core/skin.py validate out.png: Größe, model (classic/slim) und 0 transparente Basis-Pixel (die Basisschicht muss in Java vollständig deckend sein). python core/skin.py unwrap out.png parts/ falls du jede Fläche als separates Bild benötigst.
6. Vorschau und Iteration (VERPFLICHTEND, mindestens 2 Durchgänge)
python tools/turntable.py skin.png --out tt.png [--pose idle|wave|stance] [--model slim] [--eyes wide --mouth smile]
Öffne tt.png und betrachte alle vier Ansichten. Überprüfe: Silhouette, Gesicht in Spielgröße lesbar, Haube/Haar-Overlay schwebt nicht, Nähte und gespiegelte Gliedmaßen, Rücken und Seiten nicht leer gelassen, Schattierungsrichtung konsistent, nichts matschig. Schreibe auf, was falsch ist, behebe es, rendere erneut. Behalte das Bild jedes Durchgangs (siehe examples/skin-demo/iterations/). Höre nicht nach einem Rendering auf.
7. Exportieren
Finales PNG (und das andere Modell falls gewünscht: neu malen mit slim=True/False; es gibt keine automatische classic<->slim-Konvertierung). Dateien benennen <character>.png und <character>-slim.png. Beide mit validate prüfen.
8. Installation im Spiel (dem Benutzer mitteilen; du hast es nicht getestet)
- Java Edition: Lade das PNG (64x64 oder Legacy 64x32) auf der minecraft.net-Profilseite oder im Launcher-Tab „Skins“ hoch und wähle 3 px oder 4 px Arme. Nur Konten, die das Spiel besitzen, können Skins ändern; Offline-Modus-Spieler können ohne Mods keinen benutzerdefinierten Skin verwenden. Quellenangabe: Minecraft Wiki: Skin. Mojangs eigene Hilfeseite konnte zum Zeitpunkt der Erstellung nicht geladen werden, also prüfe help.minecraft.net für die aktuellen Menünamen.
- Bedrock Edition: Ein anderer Prozess (und das Format unterstützt größere Vorlagen, z.B. 128x128, laut Wiki). Gib keine Java-Schritte für Bedrock an; verweise den Benutzer auf Mojangs aktuelle Bedrock-Hilfeseite.
- In einem BlockReel-Film ist keine Installation erforderlich: referenziere das PNG in
story.json.
Regeln
- Behaupete niemals, ein Skin sei im Spiel getestet worden. Sage: „validiert und im BlockReel-Engine vorgeführt“.
- Versende oder committe niemals Spiel-Skins oder den Skin eines anderen. Der Demo-Skin des Repos ist original (CC0).
- Wenn der Benutzer einen Screenshot eines 3D-Skin-Renders schickt, kann dieser nicht in eine Textur umgewandelt werden (
docs/SKINS.md); erstelle stattdessen einen Nachbau.