Community影像github.com

choobi-doobi/photoreal-asset

從參考照片建立超寫實 Blender 資產,使用一個建構者與一個獨立照片評論家。可選用於 Godot 或 Unreal Engine 的烘焙紋理、LOD 與碰撞體。適用於寫實道具、場景及基於參考的細化工作流程。僅在使用者要求時才開始新一輪細化。

photoreal-asset 是什麼?

此技能定義了一個完整的 AI 代理工作流程,用於從參考照片在 Blender 中建立超寫實的 3D 資產。它設計為與 Cursor、Claude Code 或 Codex 等代理工具搭配使用,並可選用於 Godot 或 Unreal Engine 的遊戲匯出功能。主要工作流程包含四個階段:研究(收集參考資料並建立初始遮擋)、建置(由單一代理完成詳細幾何建模)、審查(由獨立評論家使用腳本驅動的影像比較工具進行評論)、以及按需求進行的細化(針對性修改)。此技能強調嚴格的流程,例如鎖定攝影機與燈光、使用獨立評論家(Rule 11),並避免未經請求的後續工作。它依賴於 Blender 的 Cycles 渲染器、Python 腳本(例如 `photo_check.py`、`compare_rounds.py`),並遵循特定的專案結構,其中包含 `asset.json` 和 `BRIEF.md` 等檔案。所有檔案操作、評論工作與建置任務都嚴格控制在指定的專案目錄內。

相容平台✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/choobi-doobi/skill-blender-photoreal-asset/tree/HEAD

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

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

寫實資產

研究簡要說明,執行一次獨立建置,與照片比較,並報告結果。 使用已安裝的 Blender 與主機可用的代理工具;不需要特定的代理提供者、 模型、Blender 安裝路徑或專案位置。

設定

  • 將 {SKILL} 解析為包含此檔案及 {SCRIPTS} 解析為其 scripts/ 目錄的目錄。 將 {PROJECT} 解析為使用者選擇的專案目錄。在命令中為路徑加上引號。 範例使用正斜線,Python 在 Windows、macOS 和 Linux 上均接受。
  • 使用 Python 3 加上 numpy 和 Pillow(python -m pip install -r "{SKILL}/requirements.txt")。 SciPy 為選用,可加速 UV 檢查。Blender 對 bpy 腳本使用其捆綁的 Python。
  • 在 PATH 上找到 blender,或將 PHOTOREAL_BLENDER 設為可執行檔案的完整路徑, 值中不要包含引號。對建置腳本和測試工具使用同一個可執行檔。 檢查其版本,並使建置程式碼適應其支援的 bpy API;不要假設為固定版本。
  • Cycles 會選用可用的 GPU 後端,若無則回退至 CPU。設定 PHOTOREAL_CYCLES_DEVICE 為 CPU、OPTIX、CUDA、HIP、METAL 或 ONEAPI 以覆寫自動選擇。 依序執行渲染。可透過 PHOTOREAL_GPU_TOOLS 提供選用的外部 gpu_slot.py 佇列; 此佇列非捆綁或必需。
  • asset.json 中的路徑相對於該檔案。空的 hdri 會使用程序化日光天空; 否則指向現有的 HDRI。一旦開始建置,燈光和攝影機應保持固定。
  • 預設交付為包含已打包影像和審查渲染的可編輯 .blend 檔案。 僅在要求時才新增遊戲匯出,並遵循 templates/GAME_READY.md。

專案結構

<project>/
  asset.json          攝影機、燈光、集合前綴和評論家參考
  BRIEF.md            研究簡要說明加上已填寫的 RULES.md 範本
  ref/SOURCES.md      照片出處;不包含參考影像
  research/           layout.py、blockout.py、blockout.blend、NOTES.md
  rounds/r01-build/   TASK.md、build.py、NOTES.md、tex/、renders/、final/、DONE.txt
  <Title>.md          輪次表格和專案紀錄

如果使用者提供現有資產庫,請使用。記錄外部影像和紋理的來源 URL 與授權。 將未知授權標記為未知;不要捏造所有權,也不要將參考照片與交付檔案一併散布。

1. 研究

  1. 將 templates/asset.json 複製到專案中,並調整主題、 collection_prefix、天空和地面。為主體、側面/正面、頂部四分之三視圖和 最困難部分的特寫構圖。設定 render_as、photo_kind 和 scope_note 供評論家使用。
  2. 填寫 templates/TASK_research.md:{ASSET}、{PROJECT}、{PREFIX}、 {SUBJECT_PLURAL}、{SKILL} 和 {SCRIPTS}。將其儲存為 research/TASK.md。 透過主機的代理工具執行一次研究,或直接進行研究。
  3. 交付具有出處的參考照片、BRIEF.md、research/layout.py(每個零件一個區域和一個擁有者集合)、遮擋,以及 asset.json 中的 owner_refs / overall_refs。
  4. 使用主機的影像檢視器檢查遮擋渲染。調整攝影機直到每個畫面都能框住 其主體,然後鎖定它們。

若提供設計圖,將其原封不動複製到 ref/,記錄提供的出處(未指定則為未知),並製作細節裁切。將其視圖用於評分攝影機。 當目標是匹配風格化設計而非呈現為照片時,設定 critic_goal; 相應調整任務措辭和任何額外交付項目。

2. 建置

  1. 從 templates/TASK_build.md 建立 rounds/r01-build/TASK.md。 填寫 {ROUND}、{ASSET}、{PROJECT}、{ROUND_DIR}、{FILE} 和 {SCRIPTS}。
  2. 將 {GAME_READY} 留空以獲得僅 Blender 的資產。否則插入已填寫的 templates/GAME_READY.md,選擇 Godot、Unreal Engine 或兩者。
  3. 將任務交給一位建置者。除非使用者要求其他模型,否則使用當前模型。 如果主機公開工作階段識別碼,請保留它。一位建置者擁有幾何形狀; 獨立的評論家僅對其進行審查。

3. 每輪審查

  1. 渲染最終場景:
    python "{SCRIPTS}/run.py" --asset "{PROJECT}/asset.json" --parts "{ROUND_DIR}/final/{FILE}.blend" --out "{ROUND_DIR}/final/renders"
    
  2. 閱讀 NOTES.md 和最新的 critique.md。檢查困難部分的全解析度裁切, 與照片並排比較,包括在有用時增亮的裁切。嚴重程度計數僅供參考; 使用實際視覺差異來判斷進度。
  3. 當存在前一輪時,與其比較:
    python "{SCRIPTS}/compare_rounds.py" --asset "{PROJECT}/asset.json" --rounds <previous-round> <current-round> --focus <zone-ids> --refs "<photo>:x0,y0,x1,y1" --out "{PROJECT}/compare_rounds"
    
    檢查生成的 _all.jpg 和 _focus.jpg 表。使用 compare_rounds.py --help 預期的輪次路徑。
  4. 對於遊戲匯出,執行 GAME_READY.md 中針對目標的驗證。不要將 Unreal 匯入描述為經 Godot GLB 檢查器驗證。
  5. 如有支援的文字記錄可用,可選運行:
    python "{SCRIPTS}/audit_round.py" "{ROUND_DIR}" --root "{PROJECT}"
    
    此審計了解 Antigravity 和 Claude Code 日誌,並非所有主機。傳遞 --session 用於 Antigravity 對話,並傳遞 --allow 用於額外的允許工具目錄。 其檔案路徑掃描識別 Windows 磁碟機路徑;單獨審查其他路徑樣式。 日誌根目錄可透過 PHOTOREAL_ANTIGRAVITY_LOGS 和 PHOTOREAL_CLAUDE_LOGS 覆寫。
  6. 記錄該輪次,並報告影像、改進、退步、驗證結果和一項 建議。僅在已測量時報告成本。在要求的輪次後停止;僅在使用者要求時 才開始另一輪細化。僅在要求該目標和操作時,才複製或匯入到外部庫。

4. 按需求細化

  1. 從相關視角取得命名部分的更好照片:靜置、空置、側面和 從評分攝影機的角度。在 ref/SOURCES.md 中記錄出處。
  2. 將最強的參考資料放在擁有者的 owner_refs 列表最前面;每個群組最多六個。
  3. 將之前的建置腳本、tex/ 和 final/{FILE}.blend 複製到一個新的 rounds/rNN-<focus>/ 資料夾。將其筆記保留為 NOTES_<previous>.md,其最後檢查保留為 renders/<previous>_check/ 其最終渲染保留為 renders/<previous>_final/。
  4. 填寫 templates/TASK_refine.md,包括零件、區域 ID 和 新的參考。將更改限制在這些零件上,除非其他位置存在嚴重性 3 的缺陷。保持 規則:照片勝過衝突的位置和角度,包括連接的零件。
  5. 執行一位建置者,按上述方式審查,並在照片旁邊顯示前後結果。

代理交接與獨立評論

使用主機的原生代理介面,而不是假設工具名稱或模型別名。 為研究員或建置者提供其工作目錄和完整的任務檔案。將寫入操作限制在 指定的專案或輪次目錄內。任務以寫入 DONE.txt 結束。 如果無法委派建置者,請直接建置,同時保留相同的任務邊界。

規則 11 的評論家必須獨立於建置者。photo_check.py 準備提示和一個 critic_jobs.json 清單。將每個提示發送給一個具有僅限影像/檔案讀取權限的新審閱者, 無網路或編輯工具,然後將其 JSON 回覆儲存到清單的 response_file 並合併。 僅在主機支援時並行運行評論家,並尊重 critic.parallel。 每當提示涉及影像/檔案讀取時,使用主機的影像檢視器。

如果無法使用獨立子代理,--runner claude 可以使用已安裝且已驗證的 Claude Code CLI。否則,交付渲染和準備好的審查任務,並報告獨立評論 為不完整。不要用建置者自己的審查來替代並稱其為獨立。

檢查

腳本目的
run.py / render.py在鎖定的 Cycles 場景中渲染前綴匹配的集合;寫入攝影機 PNG 和 sheet.jpg。
photo_check.py裁切佈局區域,準備獨立評論家任務並將 JSON 回應合併到 critique.md。--from 重用渲染;--groups 選擇擁有者。
game_check.py / game_check_bl.py驗證 Godot LOD 網格、UV、凸碰撞和嵌入的 GLB 紋理;產生 LOD 轉盤。請參閱 GAME_READY.md 以了解 Unreal 驗證。
compare_rounds.py比較輪次和重點裁切與參考行。
audit_round.py可選檢查支援的文字記錄,以了解檔案存取、同層級輪次、網路呼叫和測量的代幣使用量。

審查原則

  • 弱點部分的更好照片通常比在簡要說明中添加規則更有幫助。
  • 將每次細化與前一輪進行比較:一項修復可能抹去早期的改進。
  • 在使用比例匹配的覆蓋層更改幾何形狀之前,檢查比例投訴。
  • 暗腔需要可見的唇邊高光、壁厚和內部衰減。增亮僅用於 檢查;保持評分燈光固定。當增亮剪裁高調影像時跳過。
  • 將評論用作輪次內的修復清單,而不是輪次之間的數值分數。

相關技能