CommunityImagemgithub.com

m4bwav/polywright-references

Gere ou colete imagens de referência (vistas, texturas, mapas PBR) para modelos 3D, antes da modelagem ou conversão imagem-para-3D. Ideal para sheets de referência, turnarounds e texturas seamless.

O que é polywright-references?

Esta skill do ecossistema polywright é o ponto de partida para qualquer trabalho de modelagem 3D, seja com um artista humano, um script em bpy ou uma ferramenta de imagem-para-3D. Ela define um fluxo de trabalho completo para coletar e gerar referências visuais: desde fotos reais com escala, plantas baixas e blueprints, até turnarounds de personagens (frente, lateral, costas, A-pose), texturas seamless tileable e mapas PBR (normal, altura, rugosidade) a partir de uma única foto. A skill organiza as referências na pasta `refs/` do ativo, registra cada uma com `pw.py manifest --add-source` e oferece templates prontos no arquivo `references/reference-kit.md`. Inclui também integração com blocagens 3D (blockouts) para gerar vistas consistentes via image-to-image, e suporte a workflows de edição de imagem com adaptadores multi-ângulo (ex: Qwen Image Edit + LoRA). É compatível com Blender, Unity, Godot, Unreal, glTF e outras engines, e indica convenções corretas de mapas normais (OpenGL vs DirectX). A skill é evergreen, com manutenção via `evergreen.json` e arquivos complementares como LEARNINGS.md e TESTS.md.

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

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que polywright-references faz?

As referências determinam a maior parte do resultado 3D: um modelo imagem-para-3D copia a iluminação, perspectiva e erros da entrada; um modelador ou script bpy precisa de dimensões e vistas. Colete ou gere-as primeiro, coloque-as na pasta refs/ do ativo, registre cada uma com pw.py manifest --add-source (as geradas nomeiam o modelo e a semente).

De volta ao hub: ../polywright/SKILL.md. Modelos de prompt e verificações: references/reference-kit.md.

Etapa 1: o que este modelo precisa

ModeloColetar (real)Gerar (imaginado ou faltando)
Objeto realfotos de 6 lados com uma régua no plano, closes, dimensões reais (ficha do fabricante, Wikipédia, fita métrica)limpezas ortográficas apenas se as fotos forem ruins
Veículo, produto, mobiliárioplantas ou desenhos CAD (verifique uma dimensão conhecida), dimensões do fabricanteelevações frontal, lateral e superior em estilo de desenho técnico
Edifíciopegada (OSM), altura ou número de andares, fotos de cada face, forma do telhadoelevações por face, planta do telhado
Lugar realextrato de mapa, elevação, foto aérea, fotos terrestres de pontos de referêncianenhum: lugares vêm de dados (polywright-capture)
Adereço imaginadoreferências de estilouma imagem herói de três quartos, depois frente/esquerda/direita/trás na mesma escala
Personagem ou criaturareferências de estilo e figurinoturnaround: frente, lado, costas, três quartos, pose A, barra de altura, fundo liso
Superfícies (paredes, chão, terreno)foto do material, plana e uniformemente iluminadaalbedo seamless tileable, depois mapas (Etapa 4)

Sempre adicione uma referência de escala: uma dimensão conhecida, uma silhueta humana de 1,8 m, uma barra de altura na folha.

Um pacote de pesquisa histórica (uma pasta contendo answer.md, refs/index.json e anachronism.md, criado pelo plugin historywright) já é uma pasta de ativo válida: comece a partir dele, não pesquise novamente. Leia refs/index.json: cada referência tem a própria data, local, instituição, número de acesso e licença do objeto. Use apenas referências cujo object_date se encaixe no período do briefing. Mantenha uma referência com nc: true fora de um modelo comercial. Verifique cada vista gerada com anachronism.md antes de ser meshada.

Etapa 2: gerar as vistas (regras que importam)

Peça à ferramenta de imagem: um objeto, centralizado, preenchendo cerca de dois terços do quadro; fundo branco ou cinza claro liso; luz plana, uniforme, sem sombras; sem perspectiva forte (lente longa ou aparência ortográfica); 1024 px ou mais; sem texto. Personagens ficam em uma pose A relaxada (braços 30 a 45 graus para baixo, pernas ligeiramente afastadas): poses T distorcem proporções e poses de ação falham em geradores e riggers. Modelos por tipo estão no kit.

Para vistas extras consistentes a partir de uma imagem, um modelo de edição de imagem com adaptador multi-ângulo (Qwen Image Edit com uma LoRA de Múltiplos Ângulos, 2025–2026) mantém a identidade melhor do que solicitar cada vista; espere variação de cor e combine a cor de cada vista com a frontal. Verifique cada vista gerada contra a frontal: mesmas proporções, mesmo número de braços, mesmos itens, nada redirecionado. Descarte uma vista que discorde; uma vista traseira errada é pior do que nenhuma. Nomeie a cor de um objeto real a partir dos pixels da foto (mediana de matiz, saturação, valor), não de uma palavra: o modelo de edição segue a palavra em vez da imagem (L-003). Vistas traseiras tendem a copiar uma marcação frontal para as costas.

Um fluxo de trabalho pronto para um host Z-Image Turbo: references/zimage-reference.api.json ({SUBJECT} placeholder; testado em 2026-10-11).

Etapa 2b: a folha de um adereço projetado vem do modelo

Quando o adereço é projetado (uma arma, ferramenta, parte de veículo descrita em palavras ou em uma ficha de fã) e os prompts de texto continuam dando metade da forma, pare de solicitar: construa-o com um script bpy (receita polywright-blender "Um adereço projetado a partir de uma descrição escrita") e renderize a folha a partir do modelo, vista superior e lateral ortográfica em cinza médio liso, Cycles na CPU quando a GPU estiver ocupada. Um modelo é exato, rerrenderiza em segundos após cada anotação, e o mesmo arquivo mais tarde compõe o adereço em imagens (hub: "Compor um modelo em uma imagem"). Levante a câmera lateral de 10 a 15 graus quando as peças vêm em pares espelhados, ou uma se esconde atrás da outra.

Etapa 3: vistas a partir de um blocagem (quando as vistas continuam discordando)

Construa uma blocagem aproximada (primitivas, ou uma primeira malha gerada apenas frontal), renderize-a com pw.py render <arquivo> --out refs/blockout --views front,right,back,left --color clay, então peça a um modelo de edição de imagem que repinte cada render cinza nas cores e detalhes do assunto (imagem-para-imagem com o render como primeira referência e a vista frontal como segunda). Apenas a câmera se move, então nada pode ser redirecionado ou ganhar membros extras; a parte traseira só pode mostrar o que a blocagem implica. Alimente o conjunto repintado para a geração de múltiplas vistas.

Etapa 4: texturas e materiais

  • Prefira um material CC0 (Poly Haven, ambientCG) a um gerado.
  • Tileable gerado: peça "seamless, tileable, top-down, flat even light" em uma potência de dois, depois pw.py texture <img> --out refs/tex --seamless (offset-blend seams) e olhe para uma tiling 2x2.
  • Mapas rápidos a partir de uma foto ou albedo: pw.py texture <img> --out refs/tex [--convention opengl|directx] escreve altura, normal e rugosidade derivadas da luminância. Bom para adereços e terreno, errado para materiais medidos. Mapas normais: OpenGL (Y+) para Blender, Unity, Godot, glTF, three.js, Roblox; DirectX (Y-) para Unreal.
  • Luz cozida em uma foto torna-se luz cozida no albedo: corrija upstream com luz plana, ou adicione --delight (divide gradientes amplos; sombras projetadas nítidas permanecem, pinte-as). Mapas normais alteram apenas o sombreamento: silhuetas permanecem planas e grandes formas quebram em ângulos rasantes, então modele grandes formas e mapeie apenas pequenos detalhes.

Etapa 5: coloque-os para funcionar

  • No Blender: imagens de referência como empties nas vistas frontal, direita e superior, dimensionadas para uma dimensão conhecida (renders ortográficos de pw.py render informam metres_per_px); receita em polywright-blender.
  • Para imagem-para-3D: quadrado, com preenchimento, 1024 px; pw.py gen preenche e remove fundos automaticamente. Julgue a imagem antes da execução na GPU e o que corrigir nela em vez de na malha: references/images-for-3d.md.
  • Em um quadro (PureRef 2.1) para um humano: agrupe por vista, anote dimensões no quadro.

Manutenção

Unidade perene, nível fast. Companheiros: RESEARCH.md, CHANGELOG.md, LEARNINGS.md, TESTS.md com evals/evals.json, MAINTENANCE.md, estado em evergreen.json. Leia evergreen.json a cada uso; atualize quando devido.

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...

Habilidades Relacionadas