CommunityBildgithub.com

m4bwav/polywright-references

Erstellt Referenzbilder, Ansichten und Texturen für 3D-Modelle – orthografische Front-, Seiten- und Rückansichten, A-Pose-Turnarounds, multiperspektivische Sets, Blockout-Renderings und nahtlose Texturen.

Was ist polywright-references?

Diese Fähigkeit dient der systematischen Erstellung und Sammlung von Referenzmaterial für 3D-Modelle, bevor mit dem Modellieren oder Image-to-3D begonnen wird. Sie unterstützt Künstler und KI-Agenten bei der Erstellung orthografischer Ansichten (Vorder-, Seiten- und Rückansicht mit Höhenbalken), A-Pose-Turnarounds, multiperspektivischen Sets, Blockout-Renderings, die in konsistente Ansichten nachkoloriert werden, sowie nahtlosen Texturen und schnellen Normal-, Höhen- und Rauigkeitskarten (per `pw.py texture`). Die Fähigkeit ist plattformunabhängig einsetzbar, z. B. für Claude Code, Cursor oder Codex, und integriert sich über das `pw.py`-Tool sowie die polywright-Plugin-Architektur. Sie eignet sich für reale Objekte, Fahrzeuge, Gebäude, imaginäre Requisiten, Charaktere und Oberflächen. Der Workflow umfasst das Sammeln echter Referenzen, das Generieren fehlender Ansichten mittels Bildgenerierung, das Erstellen konsistenter Texturen und Materialien sowie die korrekte Skalierung und Platzierung in Blender oder anderen 3D-Tools. Die Fähigkeit betont die Vermeidung typischer Fehler wie fehlender Maßstabsreferenzen, inkonsistenter Proportionen oder falscher Perspektive.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/m4bwav/polywright/tree/HEAD/skills/polywright-references

Installed? Explore more Bild skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht polywright-references?

Referenzen entscheiden über den Großteil eines 3D-Ergebnisses: Ein Image-to-3D-Modell kopiert die Beleuchtung, Perspektive und Fehler seiner Eingabe; ein Modellbauer oder ein bpy-Skript benötigt Maße und Ansichten. Sammle oder erstelle diese zuerst, lege sie im refs/-Ordner des Assets ab und dokumentiere jede mit pw.py manifest --add-source (automatisch generierte benennen das Modell und den Seed).

Zurück zum Hub: ../polywright/SKILL.md. Prompt-Vorlagen und Checks: references/reference-kit.md.

Schritt 1: Was dieses Modell benötigt

ModellSammeln (echt)Generieren (vorgestellt oder fehlend)
Reales ObjektFotos von 6 Seiten mit einem Lineal in der Bildebene, Nahaufnahmen, echte Abmessungen (Herstellerdatenblatt, Wikipedia, Maßband)Orthografische Nachbearbeitungen nur, wenn die Fotos schlecht sind
Fahrzeug, Produkt, MöbelBlaupausen oder CAD-Zeichnungen (eine bekannte Abmessung prüfen), HerstellerabmessungenFront-, Seiten- und Draufsicht im technischen Zeichenstil
GebäudeGrundriss (OSM), Höhe oder Anzahl der Stockwerke, Fotos jeder Fassade, DachformAufrisse pro Fassade, Dachplan
Realer OrtKartenausschnitt, Höhenprofil, Luftbild, Bodenfotos von WahrzeichenKeine: Orte stammen aus Daten (polywright-capture)
Imaginäre RequisiteStilreferenzenEin Dreiviertel-Heldenbild, dann Front/Seite/Rückseite/Rechts im gleichen Maßstab
Charakter oder KreaturStil- und KostümreferenzenTurnaround: Front, Seite, Rückseite, Dreiviertel, A-Pose, Höhenbalken, einfarbiger Hintergrund
Oberflächen (Wände, Boden, Gelände)Foto des Materials, flach und gleichmäßig ausgeleuchtetNahtlos kachelbarer Albedo, dann Maps (Schritt 4)

Füge immer eine Maßstabsreferenz hinzu: eine bekannte Abmessung, eine 1,8 m große menschliche Silhouette, einen Höhenbalken auf dem Blatt.

Ein History-Recherche-Paket (ein Ordner mit answer.md, refs/index.json und anachronism.md, erstellt vom historywright-Plugin) ist bereits ein gültiger Asset-Ordner: Starte davon, suche nicht erneut. Lese refs/index.json: Jede Referenz hat das Datum, den Ort, die Institution, die Inventarnummer und die Lizenz des Objekts. Verwende nur Referenzen, deren object_date in den Zeitraum des Briefings passt. Lass eine Referenz mit nc: true außen vor bei einem kommerziellen Modell. Überprüfe jede generierte Ansicht vor dem Meshing anhand von anachronism.md.

Schritt 2: Ansichten generieren (wichtige Regeln)

Bitte das Bildtool um: ein Objekt, zentriert, etwa zwei Drittel des Bildes ausfüllend; weißer oder hellgrauer Hintergrund; flaches, gleichmäßiges, schattenloses Licht; keine starke Perspektive (langes Objektiv oder orthografischer Look); 1024 px oder mehr; kein Text. Charaktere stehen in einer entspannten A-Pose (Arme 30 bis 45 Grad nach unten, Beine leicht auseinander): T-Posen verzerren Proportionen und Action-Posen scheitern in Generatoren und Rigging-Systemen. Vorlagen pro Art befinden sich im Kit.

Für konsistente zusätzliche Ansichten aus einem Bild erhält ein Bildbearbeitungsmodell mit einem Multi-Winkel-Adapter (Qwen Image Edit mit einem Multiple Angles LoRA, 2025–2026) die Identität besser als das separate Prompten jeder Ansicht; erwarte Farbverschiebungen und passe jede Ansicht farblich an die Front an. Überprüfe jede generierte Ansicht mit der Front: gleiche Proportionen, gleiche Anzahl Arme, gleiche Gegenstände, nichts neu ausgerichtet. Verwerfe eine abweichende Ansicht; eine falsche Rückansicht ist schlimmer als keine. Benenne die Farbe eines realen Objekts aus den Pixeln des Fotos (mittlerer Farbton, Sättigung, Helligkeit), nicht aus einem Wort: Das Bearbeitungsmodell folgt dem Wort über das Bild (L-003). Rückansichten neigen dazu, eine vordere Markierung auf den Rücken zu kopieren.

Ein fertiger Workflow für einen Z-Image Turbo Host: references/zimage-reference.api.json ({SUBJECT} Platzhalter; getestet 2026-10-11).

Schritt 2b: Das Blatt einer entworfenen Requisite stammt aus dem Modell

Wenn die Requisite entworfen ist (eine Waffe, ein Werkzeug, ein Fahrzeugteil, das mit Worten oder auf einem Fanblatt beschrieben wird) und Textprompts immer nur die halbe Form liefern, höre auf zu prompten: Baue es mit einem bpy-Skript (polywright-blender Rezept „Eine entworfene Requisite aus einer schriftlichen Beschreibung“) und rendere das Blatt aus dem Modell, Seiten- und Draufsicht orthografisch auf flachem Mittelgrau, Cycles auf der CPU, wenn die GPU beschäftigt ist. Ein Modell ist exakt, lässt sich nach jeder Notiz in Sekunden neu rendern, und dieselbe Datei setzt später die Requisite in Bilder ein (Hub: „Ein Modell in ein Bild komponieren“). Hebe die Seitenkamera um 10 bis 15 Grad an, wenn Teile als Spiegelbildpaare vorkommen oder eines das andere verdeckt.

Schritt 3: Ansichten aus einem Blockout (wenn Ansichten ständig abweichen)

Baue ein grobes Blockout (Primitive oder ein erstes nur-frontal generiertes Mesh), rendere es mit pw.py render <datei> --out refs/blockout --views front,right,back,left --color clay, und lasse dann ein Bildbearbeitungsmodell jedes graue Rendering in den Farben und Details des Motivs übermalen (Image-to-Image mit dem Rendering als erster Referenz und der Frontansicht als zweiter). Nur die Kamera bewegt sich, also kann nichts neu ausgerichtet werden oder zusätzliche Gliedmaßen bekommen; die Rückseite kann nur zeigen, was das Blockout impliziert. Füttere das übermalte Set in die Multi-View-Generierung.

Schritt 4: Texturen und Materialien

  • Bevorzuge ein CC0-Material (Poly Haven, ambientCG) gegenüber einem generierten.
  • Generierte kachelbare Textur: Anfragen mit „nahtlos, kachelbar, Draufsicht, flaches gleichmäßiges Licht“ bei einer Zweierpotenz, dann pw.py texture <img> --out refs/tex --seamless (Offset-Blend-Nähte) und betrachte eine 2×2-Kachelung.
  • Schnelle Maps aus einem Foto oder Albedo: pw.py texture <img> --out refs/tex [--convention opengl|directx] erstellt aus der Luminanz abgeleitete Höhen-, Normal- und Rauigkeitskarten. Gut für Requisiten und Gelände, falsch für gemessene Materialien. Normal Maps: OpenGL (Y+) für Blender, Unity, Godot, glTF, three.js, Roblox; DirectX (Y−) für Unreal.
  • Eingebranntes Licht in einem Foto wird zu eingebranntem Licht im Albedo: Korrigiere dies upstream mit flachem Licht oder füge --delight hinzu (teilt breite Gradienten heraus; scharfe Schlagschatten bleiben, diese übermalen). Normal Maps ändern nur die Schattierung: Silhouetten bleiben flach und große Formen brechen bei streifenden Blickwinkeln, also modelliere große Formen und mappe nur kleine Details.

Schritt 5: In die Praxis umsetzen

  • In Blender: Referenzbilder als Empties in Front-, Rechts- und Draufsicht, skaliert auf eine bekannte Abmessung (orthografische Renderings von pw.py render geben metres_per_px aus); Rezept in polywright-blender.
  • Für Image-to-3D: quadratisch, mit Padding, 1024 px; pw.py gen fügt Padding hinzu und entfernt Hintergründe automatisch. Beurteile das Bild vor dem GPU-Durchlauf und was darin zu korrigieren ist, statt im Mesh: references/images-for-3d.md.
  • Auf einem Board (PureRef 2.1) für einen Menschen: Gruppiere nach Ansicht, notiere Abmessungen auf dem Board.

Wartung

Evergreen-Einheit, Stufe fast. Begleiter: RESEARCH.md, CHANGELOG.md, LEARNINGS.md, TESTS.md mit evals/evals.json, MAINTENANCE.md, Zustand in evergreen.json. Lese evergreen.json bei jeder Verwendung; aktualisiere, wenn fällig.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

m4bwav/polywright

Start here whenever a task needs a 3D model and no sibling below clearly owns it: a model of a real or imagined thing for a game (Unity, Roblox, Unreal, three.js), a 3D print, AI video or AR, or another plugin asking for a mesh. Picks the route (find, capture, generate, code), scaffolds the asset folder and manifest other plugins read, and runs pw.py (inspect, render a sheet, convert, check a budget, bpy headless, match a picture's camera, army blockouts with depth and pose passes for AI...

m4bwav/polywright-blender

Use whenever Blender is scripted, automated or debugged, before writing any bpy code: headless runs that report errors (pw.py bpy), the bpy API traps models still write in Blender 5.x (removed importers, renamed sockets, EEVEE names), tested recipes (modifiers, booleans, remesh, UVs, bakes, turntables, depth passes, batch exports), Blender MCP servers and their risks, and other 3D tools per OS. Use on 'write a Blender script', 'automate Blender', 'batch export .blend', any bpy traceback or...

m4bwav/polywright-finish

Use whenever a mesh must be made ready for a game engine, the web or AR: is it game-ready, too many polygons, LODs, retopology, UVs, baking, PBR and normal-map conventions, collision, rigging, and axis, unit and format export for Roblox, Unity, Unreal, Godot, three.js (meshopt, KTX2), USDZ and video blockouts. Use on 'is this game-ready', 'make this work in Roblox/Unity', 'optimise for the web', 'reduce polygons', 'add LODs', 'retopologise', 'bake normals', 'imports sideways or tiny', 'flip...

m4bwav/polywright-generate

Use whenever an imagined or hypothetical 3D model must be made from a prompt, a drawing, concept art, photos or a blockout: image-to-3D through ComfyUI (TRELLIS.2, Pixal3D, Hunyuan3D-2 via pw.py gen) or hosted (Meshy, Tripo, Rodin), or code (bpy, build123d, CadQuery, OpenSCAD) when it has dimensions; then texturing and the licence record. Use on 'make me a 3D model of a dragon', 'turn this drawing or concept art into 3D', 'image to 3D', 'text to 3D', 'TRELLIS', 'Hunyuan3D', 'Meshy', 'model a...

Verwandte Skills