Que fait polywright-generate ?
Deux moteurs fabriquent des modèles imaginés : le code (exact, éditable, net, dimensionné) et les générateurs (organiques, rapides, approximatifs, topologie brouillonne). Choisissez selon l'objet, pas par habitude. Retour au hub : ../polywright/SKILL.md. Tableau des modèles avec licences et VRAM : references/generators.md. Modèles de code : references/code-modeling.md.
Étape 1 : code ou générateur ?
| Objet | Moteur |
|---|---|
| Possède des dimensions, s'emboîte avec quelque chose, est principalement des plans et des cylindres (support, boîtier, étagère, bâtiment, panneau, caisse) | code : build123d, CadQuery ou OpenSCAD pour les pièces imprimables et CAO ; bpy pour les kits de jeux et bâtiments |
| De nombreuses variantes d'une même chose (clôtures, maisons, rochers, une forêt) | code procédural (bpy, Geometry Nodes) à partir de quelques assets héroïques |
| Pièce unique organique ou sculpturale (statue, créature, personnage, tronc d'arbre, nourriture) | générateur à partir d'une image de référence ou d'un ensemble multi-vues |
| Personnage qui s'animera | générateur pour la forme, puis retopologie et armature (polywright-finish) |
| Un objet réel dont vous avez une photo | essayez d'abord polywright-capture ; un générateur devine les faces cachées |
Les diffusions arrondissent les bords nets et inventent des dimensions ; le code ne peut pas sculpter un visage de lion. De nombreux bons modèles sont les deux : un piédestal codé avec un bec de lion généré assemblé par booléen.
Étape 2 : générateurs
- Références d'abord (polywright-references) : une image propre sur fond blanc, lumière plate, peu de perspective, 1024 px ; pour les personnages une pose en A ; pour un meilleur dos, un jeu avant/gauche/arrière/droite à la même échelle.
python ../polywright/scripts/pw.py doctormontre les hôtes ComfyUI et leurs checkpoints 3D.- Lancez-en un :
- Hunyuan3D-2 intégré (forme uniquement, environ 100 s sur une carte 16 Go à 30 pas, octree 256) :
pw.py gen --image refs/front.png [--left L --back B --right R] --out work/raw.glb [--seed N] - Tout autre workflow ComfyUI, au format API ou sauvegardé par l'éditeur (un fichier modèle fonctionne tel quel ; pw.py le convertit avec les définitions de nœuds de l'hôte) :
pw.py gen --image refs/front.png --workflow <fichier> --out work/raw.glb. TRELLIS.2 et Pixal3D avec textures PBR : le modèle ComfyUI3d_pixal3d_trellis2_image_to_model.json(dans le dossiercomfyui_workflow_templates_json/templatesde l'installation ComfyUI) ; son commutateur sélectionne Pixal3D par défaut, donc ajoutez--set 316.value=truepour TRELLIS.2. Sur une carte 16 Go (temps GPU) : TRELLIS.2 377 s à froid (73 à 190 s à chaud), à l'endroit, le meilleur détail ; Pixal3D 329 s, dans le cadre de la caméra (incliné :pw.py convert IN OUT --level) ; tous deux environ 700k triangles avec des textures PBR 4096 px ; Hunyuan3D-2 99 s, forme uniquement.--set NODE.input=VALUEmodifie n'importe quelle entrée. - API hébergées (Meshy a la grille tarifaire publique la plus claire ; Tripo, Rodin, Hunyuan 3.x) : via leur propre API ou MCP, ou les nœuds partenaires ComfyUI. Dites le coût avant de dépenser.
- Hunyuan3D-2 intégré (forme uniquement, environ 100 s sur une carte 16 Go à 30 pas, octree 256) :
- Chaque exécution écrit
<out>.gen.json(hôte, modèle, graine, étapes). Enregistrez le modèle et sa licence :pw.py manifest <dossier> --add-tool "<modèle>" --tool-version <v>. - Regardez :
pw.py inspect work/raw.glbpuispw.py render work/raw.glb --out renders/raw. Comparez la feuille avec la référence : le dos et le dessous sont des suppositions ; les membres supplémentaires, les parties fines fondues et les espaces fusionnés sont courants. Régénérez avec une autre graine ou de meilleures vues avant de corriger à la main. Les lettres et chiffres peints se transforment en bavures et les couleurs dérivent :pw.py markefface et redessine le marquage et déplace la couleur vers celle de la photo (L-003 ; figures pour vidéo).
La sortie brute n'est pas mise à l'échelle, est dense (centaines de milliers de triangles), souvent non-manifold, sans UV, Y-up. Elle n'est jamais prête pour le jeu ni pour l'impression telle quelle : mettez-la à l'échelle et finissez-la (polywright-finish, polywright-print).
Étape 3 : code
Écrivez un script qui construit l'objet à partir de pièces nommées avec des dimensions réelles, exécutez-le, regardez-le, corrigez-le :
- bpy :
pw.py bpy build.py -- --out work/model.blend(piège selon la version de Blender : polywright-blender). - build123d ou CadQuery (Python) ou OpenSCAD (
openscad -o out.stl model.scad, backend Manifold) pour les solides : étanches par construction, exporte STEP pour la CAO et STL ou 3MF pour l'impression.
Mettez des vérifications dans le script (taille globale, jeux entre pièces, épaisseur de paroi, nombre de pièces) et imprimez-les ; les agents corrigent bien les crashs provenant des tracebacks, mais les erreurs de forme uniquement à partir des mesures et des rendus. Deux tentatives sur un traceback, puis repensez.
Étape 4 : textures pour un maillage généré ou codé
TRELLIS.2 et Pixal3D intègrent les textures PBR dans leur workflow. Pour un maillage sans texture : l'étape de texturation conditionnée par la forme de TRELLIS.2, StableGen (extension Blender sur un backend ComfyUI, GPLv3) projetant SDXL, Flux ou Qwen Image 2.1 depuis des caméras (0.4.0 ajoute la retexturation régionale masquée et l'auto-armature SkinTokens ; Qwen Image 2.1 et FIBO 2.0 Edit sont non commerciaux, MOSS Image est Apache-2.0), ou des matériaux simples issus de bibliothèques CC0 (polywright-references). La peinture Hunyuan 2.1 nécessite environ 21 Go.
Licences (enregistrer par exécution)
TRELLIS.2, Pixal3D, TripoSG, PartCrafter : MIT. Poids ouverts Hunyuan3D : licence communautaire Tencent (non autorisée dans l'UE, le Royaume-Uni ou la Corée du Sud ; plafond de 1M MAU ; les sorties ne peuvent pas entraîner d'autres modèles). SF3D et SPAR3D : licence communautaire Stability (gratuite en dessous de 1 M USD de revenus). Hébergé : les conditions du plan. Poids de recherche uniquement (PartPacker, Lyra, CHORD) restent en dehors de tout ce qui est expédié. Les magasins exigent la divulgation de l'IA (polywright route la référence).
Maintenance
Unité persistante, niveau fast (les modèles et les licences changent chaque mois). Compagnons : RESEARCH.md, CHANGELOG.md, LEARNINGS.md, TESTS.md avec evals/evals.json, MAINTENANCE.md, état dans evergreen.json. Lisez evergreen.json à chaque utilisation ; rafraîchissez quand nécessaire.