polywright-references 是做什麼的?
參考資料決定了 3D 結果的絕大部分:一個圖像轉 3D 模型會複製其輸入的光照、透視和錯誤;建模師或 bpy 腳本需要尺寸和視圖。先收集或生成它們,放入資產的 refs/,並用 pw.py manifest --add-source 記錄每一個(生成的檔案需標註模型名稱和種子)。
回到中心:../polywright/SKILL.md。提示詞模板與檢查:references/reference-kit.md。
步驟 1:這個模型需要什麼
| 模型 | 收集(真實) | 生成(想像或缺失) |
|---|---|---|
| 真實物體 | 六個方向照片(附尺子在同一平面內)、特寫、真實尺寸(製造商說明書、維基百科、量尺) | 僅在照片品質差時進行正交清理 |
| 車輛、產品、家具 | 藍圖或 CAD 圖紙(檢查一個已知尺寸)、製造商尺寸 | 前、側、頂視圖,採用技術繪圖風格 |
| 建築物 | 足跡(OSM)、高度或樓層數、每個面的照片、屋頂形狀 | 每個面的立面圖、屋頂平面圖 |
| 真實地點 | 地圖截圖、高程、空拍照片、地標地面照片 | 無:地點來自資料(polywright-capture) |
| 想像道具 | 風格參考 | 一張四分之三主圖,然後前/左/後/右同比例 |
| 角色或生物 | 風格與服裝參考 | 環繞轉:前、側、後、四分之三、A姿態、高度條、純色背景 |
| 表面(牆壁、地面、地形) | 材質的照片,平整且均勻照明 | 無縫可平鋪的漫射貼圖,然後貼圖(步驟 4) |
始終加入一個比例參考:一個已知尺寸、一個 1.8 公尺高的人形剪影、或圖紙上的高度條。
歷史研究套件(一個包含 answer.md、refs/index.json 和 anachronism.md 的資料夾,由 historywright 插件製作)已經是有效的資產資料夾:從它開始,不要重新搜尋。讀取 refs/index.json:每個參考資料都有物件本身的日期、地點、機構、登錄號和授權。僅使用 object_date 符合簡報時期的參考資料。將帶有 nc: true 的參考資料排除在商業模型之外。在網格化之前,用 anachronism.md 檢查每個生成的視圖。
步驟 2:生成視圖(重要的規則)
要求圖像工具:一個物件,居中,佔據約三分之二的畫框;純白或淺灰背景;平坦、均勻、無陰影的光線;無強烈透視(長焦鏡頭或正交外觀);1024 像素或以上;無文字。角色以放鬆的 A 姿態站立(手臂向下 30 到 45 度,雙腿微開):T 姿態會扭曲比例,而動作姿態會在生成器和綁定器中失敗。各類模板在套件中。
若要從一張圖像獲得一致的額外視圖,使用具有多角度適配器的圖像編輯模型(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)而非生成的材質。
- 生成可平鋪紋理:要求「無縫、可平鋪、俯視、平坦均勻光線」,尺寸為二的冪,然後執行
pw.py texture <img> --out refs/tex --seamless(偏移混合接縫),並查看 2x2 平鋪效果。 - 從照片或漫射貼圖快速生成貼圖:
pw.py texture <img> --out refs/tex [--convention opengl|directx]會寫入從亮度推導出的高度、法線和粗糙度。適用於道具和地形,但對於測量過的材質則不正確。法線貼圖:OpenGL(Y+)用於 Blender、Unity、Godot、glTF、three.js、Roblox;DirectX(Y-)用於 Unreal。 - 照片中的烘焙光線會變成漫射貼圖中的烘焙光線:在上游用平坦光線修正,或添加
--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;到期時重新整理。