從 2D 平面圖建造逼真 3D 房屋(Dựng nhà 3D siêu chân thật từ bản vẽ 2D)
如果 references/local.md 存在,請先閱讀它:它會設定此機器上的資料夾和內部規則。
讀取圖紙上的平面圖檔案,與原始圖紙進行比對,使用真實的牆壁厚度和真實的門窗框架進行建造,然後套用掃描材質和模型,並在 Cycles 中渲染。圖紙始終是判斷標準:除非建造的樓層平面圖完美疊合在原始墨線圖上,否則不會輸出成果。
工作順序
- 找到圖紙及其來源。 授權清晰的平面圖,以及同一建築物或其類型與時期的照片。完整閱讀
references/read-plan.md:來源、校準、閱讀順序、可推斷的表格。 - 撰寫
plan.json。references/plan-format.md包含所有鍵值。閱讀您需要的部分。所有未從圖紙讀取的資訊都放在provenance.inferred中,最終報告會列出這份清單。 - 建造前檢查。 任何失敗都應停止並修正:
uv run --no-project --with pillow --with numpy --with scipy python scripts/plan_check.py check plan.json uv run --no-project --with pillow --with numpy --with scipy python scripts/plan_check.py overlay plan.json - 建造。 一次一個 Blender 實例:
它會在 blend 檔案旁寫入「as-built」部分。使用blender -b --factory-startup -t 6 -P scripts/build_house.py -- plan.json out/house.blendplan_check.py asbuilt <section.json>進行評分。 - 小預覽。
--samples 48 --scale 50,然後將每個鏡頭與參考照片並排檢視:blender -b out/house.blend -t 6 -P scripts/render_house.py -- plan.json out/preview --samples 48 --scale 50 - 找出看起來假的地方。 在判斷前先閱讀
references/realism-faults.md:此管線實際產生的缺陷、每個缺陷的外觀以及修復方法。每次發現新缺陷時都應添加到該文件中。 - 最終輸出。 1920x1080,約 512 個取樣,每張靜態圖以全尺寸與真實照片並排。逐一檢查。
- 影片。
--film <name>。build_up影片會讓牆壁從圖紙本身升起。街道:請參閱references/plan-format.md中的 "Streets"。
嚴格規則
- 門檻: 至少 70% 的牆面與墨線的偏差在 7 公分以內,最佳擬合偏移最多 16 公分,並且明顯優於 50 公分偏移的控制組,同時在平面圖和「as-built」部分上都需滿足。失敗表示平面圖或建築有誤。切勿放寬標準。
- 尺寸: 必須測量或列印,不得憑眼估計:牆壁厚度、天花板高度、窗臺和窗頂高度。圖紙未提供的高度則根據類型和時期推斷,並標記為「inferred」。
- 屋頂和立面: 若無立面圖則為推斷。請在報告中說明。
- 僅使用真實材質: 僅使用來自 Poly Haven 或 ambientCG 的掃描材質,並保持其真實瓷磚尺寸。可見表面上不得使用純色。
- 傢俱: 來自真實 PBR 模型,根據房間用途擺放,保留走動空間,正面朝向房間。
scripts/fetch_assets.py下載 CC0 掃描材質,scripts/find_objaverse.py和scripts/fetch_objaverse.py尋找並下載 CC BY 模型。 - 信用標示: 在平面圖旁的
CREDITS.md中標示每個 CC BY 模型和每個來源圖紙。 - 檢查方向: 在放置新模型之前,先在網格上檢查方向(
scripts/preview_assets.py)。同時檢查原生尺寸,因為 Objaverse 模型的單位可能不一致。
速度
glTF 導入是瓶頸,因此 build_house.py 會將每個模型快取為連結的 .blend 檔案,存放在素材庫中(HOUSE_ASSET_LIBRARY,預設為 ~/house-assets)。避免使用掃描的松樹和冷杉,因為其導入器需要數分鐘。草和樹木同步時間長,因此渲染會在鏡頭之間保留持久數據。任何超過 5 分鐘的步驟都會被分析並修正。
完成標準
檢查、疊加和「as-built」門檻均通過,並附上數值。室內和室外靜態圖在與真實照片並排比較時,全尺寸下仍然真實。報告應說明哪些是來源資料、哪些是推斷,以及哪些部分仍然看起來較弱。