Community图像github.com

m4bwav/polywright-references

收集或生成3D模型所需的参考图像、视图和纹理:正交视图、角色转圈漫走、无缝纹理及PBR贴图。在建模或从图像生成3D前使用。

polywright-references 是什么?

该技能(polywright-references)是Polywright工具链的一部分,专注于为3D模型项目获取或生成高质量的参考素材。它适用于Claude Code等AI编码代理,支持多种平台和模型,核心价值在于确保建模或图像转3D过程拥有准确、一致的视图和纹理。根据SKILL.md文档,该技能会引导用户完成五个主要步骤:首先确定模型类型(如真实物体、车辆、角色等)并收集相应参考;然后通过图像生成工具或Blender脚本创建多视图(如正面、侧面、背面)或转圈漫走;当视图不一致时,通过粗模渲染(blockout)并重绘来保证一致性;之后利用pw.py texture命令快速生成无缝纹理和法线/高度/粗糙度贴图;最后将参考导入Blender或其他3D应用。该技能还包含关于比例参考、历史研究包使用、anachronism检查以及常识性规则(如避免T-pose)的详细说明。

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

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

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

polywright-references 是做什么的?

参考素材决定了3D结果的绝大部分:图像转3D模型会复制输入的灯光、透视和错误;建模师或bpy脚本需要尺寸和视图。首先收集或生成它们,放入资产的 refs/ 目录,并用 pw.py manifest --add-source 记录每个文件(生成的素材需注明模型名称和种子)。

回到中心:../polywright/SKILL.md。提示模板与检查清单:references/reference-kit.md。

步骤1:确定模型所需参考

模型类型收集(真实)生成(想象或缺失)
真实物体从六个侧面拍摄的照片,画面中需包含尺子;特写照片;真实尺寸(制造商的参数表、维基百科、卷尺测量)仅在照片质量差时进行正交清理
车辆、产品、家具蓝图或CAD图纸(检查一个已知尺寸)、制造商尺寸以技术绘图风格生成正面、侧面、顶面视图
建筑占地面积(OSM)、高度或楼层数、每个面的照片、屋顶形状每个面的立面图、屋顶平面图
真实地点地图截图、高程数据、航拍照片、地标地面照片无:地点来自数据(polywright-capture)
想象的道具风格参考一张三分之二侧面主图,然后正面/左面/背面/右面等比例视图
角色或生物风格和服装参考转圈漫走:正面、侧面、背面、三分之二侧面、A-pose、身高比例尺、纯色背景
表面(墙壁、地面、地形)材质的照片,需平整且光照均匀无缝可平铺的反照率贴图,然后生成其他贴图(步骤4)

始终添加比例参考:一个已知尺寸、一个1.8米高的人影轮廓、或参考图上标注的身高比例尺。

历史研究包(由historywright插件创建的文件夹,包含 answer.md、refs/index.json 和 anachronism.md)本身就是一个有效的资产文件夹:从中开始,不要重复搜索。读取 refs/index.json:每个参考都带有对象本身的日期、地点、机构、登录号和许可证。只使用 object_date 符合项目时间背景的参考。若参考标记有 nc: true,则不能用于商业模型。在生成网格之前,必须对照 anachronism.md 检查每个生成的视图。

步骤2:生成视图(关键规则)

要求图像工具满足以下条件:单个物体、居中、约占画面三分之二;纯白色或浅灰色背景;平坦、均匀、无阴影的灯光;无强烈透视(长焦镜头或正交视角效果);分辨率1024像素或更高;无文字。角色以放松的A-pose站立(手臂向下30至45度,双腿略微分开):T-pose会扭曲比例,而动态姿势在生成器和骨架系统中容易失败。各类参考的提示模板在kit中。

为从单张图像生成一致的额外视图,使用带有广角适配器的图像编辑模型(如Qwen Image Edit配合Multiple Angles LoRA,2025-2026年)比单独提示每个视图更能保持一致性;但需注意颜色漂移,并将每个视图的颜色与正面进行匹配。检查每个生成的视图是否与正面一致:相同的比例、相同数量的手臂、相同的物品,没有任何部分被重新指向。放弃不一致的视图;一个错误的背面视图比没有更糟。根据照片像素(中位数色调、饱和度、明度)命名真实物体的颜色,而不是用单词描述:编辑模型会遵循单词而非图片(L-003)。背面视图容易将正面的标记复制到背面。

针对Z-Image Turbo主机的现成工作流:references/zimage-reference.api.json(使用 {SUBJECT} 占位符;已于2026-10-11测试)。

步骤2b:设计道具的参考图来自模型

当道具是设计出来的(用文字或粉丝图纸描述的武器、工具、车辆零件),而文本提示总是只能给出一半形状时,停止提示:用bpy脚本构建它(polywright-blender配方“从文字描述生成设计道具”),并从模型渲染参考图——侧面和顶面正交视图,在平坦的中灰色背景上,当GPU忙时使用CPU上的Cycles渲染器。模型是精确的,每次修改后只需几秒即可重新渲染,并且同一个文件以后可以将道具合成到图片中(中心:“将模型合成到图片中”)。当零件以镜像对出现,或一个零件隐藏在另一个后面时,将侧面相机抬高10到15度。

步骤3:从粗模生成视图(当视图不断出现不一致时)

构建一个粗略的粗模(基本几何体,或仅生成正面网格),用 pw.py render <file> --out refs/blockout --views front,right,back,left --color clay 渲染,然后让图像编辑模型用主题的颜色和细节重绘每个灰色渲染(以渲染图作为第一参照、正面视图作为第二参照进行图像到图像的转换)。只有相机移动,因此没有任何部分会被重新指向或长出多余肢体;背面只能显示粗模暗示的内容。将重绘后的整套图像输入多视角生成。

步骤4:纹理与材质

  • 优先使用CC0材质(Poly Haven、ambientCG)而非生成材质。
  • 生成可平铺纹理:要求“无缝、可平铺、俯视、平坦均匀光照”,尺寸为2的幂,然后执行 pw.py texture <img> --out refs/tex --seamless(偏移混合接缝),并查看2x2平铺效果。
  • 从照片或反照率生成快速贴图:pw.py texture <img> --out refs/tex [--convention opengl|directx] 会写入从亮度导出的高度、法线和粗糙度贴图。适用于道具和地形,不适用于精确测量的材质。法线贴图:Blender、Unity、Godot、glTF、three.js、Roblox使用OpenGL(Y+);Unreal使用DirectX(Y-)。
  • 照片中烘培的光照会变成反照率中的烘培光照:在上游用平坦光照修复,或添加 --delight(消除宽梯度;尖锐的投射阴影会保留,需手动绘制去除)。法线贴图仅改变着色:轮廓保持平坦,大形状在掠射角时会破裂,因此需塑造大形,只在细节区域应用贴图。

步骤5:投入应用

  • 在Blender中:将参考图像作为空白对象放置在正面、右侧和顶面视图,并按已知尺寸缩放(pw.py render 的正交渲染会报告 metres_per_px);配方在polywright-blender中。
  • 用于图像转3D:正方形、填充边缘、1024像素;pw.py gen 会自动填充边缘并去除背景。在GPU运行之前判断图片质量,并确定需要在图片中修复什么而不是在网格中修复:references/images-for-3d.md。
  • 在展板(PureRef 2.1)上供人类使用:按视图分组,在展板上标注尺寸。

维护

常青单元,层级 fast。配套文件:RESEARCH.md、CHANGELOG.md、LEARNINGS.md、TESTS.md(包含 evals/evals.json)、MAINTENANCE.md,状态保存在 evergreen.json 中。每次使用时读取 evergreen.json;到期时刷新。

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

相关技能