Construire une maison 3D photoréaliste à partir d'un plan 2D (Dựng nhà 3D siêu chân thật từ bản vẽ 2D)
Si references/local.md existe, lisez-le d'abord : il définit les dossiers et les règles de la machine.
Un fichier plan est lu à partir du dessin, vérifié par rapport au dessin, construit avec une épaisseur de mur réelle et des cadres réels, puis habillé de matériaux et modèles scannés et rendu dans Cycles. Le dessin reste le juge : rien n'est livré tant que le plan d'étage construit n'atterrit pas sur son encre.
Ordre de travail
- Trouver la feuille et ses sources. Plan libre de droits, plus des photos du même bâtiment ou de son type et époque. Lisez
references/read-plan.mden entier : sources, calibration, ordre de lecture, le tableau de ce qui peut être déduit. - Écrire
plan.json.references/plan-format.mdcontient toutes les clés. Lisez les sections dont vous avez besoin. Tout ce qui n'est pas lu du dessin va dansprovenance.inferred, et le rapport final répète cette liste. - Vérifier avant de construire. Arrêtez-vous et corrigez toute erreur :
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 - Construire. Un Blender à la fois :
Il écrit la section « as-built » à côté du fichier blend. Évaluez-la avecblender -b --factory-startup -t 6 -P scripts/build_house.py -- plan.json out/house.blendplan_check.py asbuilt <section.json>. - Aperçu en petit.
--samples 48 --scale 50, puis regardez chaque prise à côté des photos de référence :blender -b out/house.blend -t 6 -P scripts/render_house.py -- plan.json out/preview --samples 48 --scale 50 - Traquer ce qui semble faux. Lisez
references/realism-faults.mdavant de juger : les défauts que ce pipeline a réellement produits, à quoi chacun ressemblait et ce qui l'a corrigé. Ajoutez chaque nouveau défaut au même tour. - Final. 1920x1080 à environ 512 échantillons, chaque image fixe en pleine taille à côté d'une vraie photo. Regardez chacune.
- Films.
--film <nom>. Un filmbuild_upfait s'élever les murs de la feuille elle-même. Rues : « Streets » dansreferences/plan-format.md.
Règles strictes
- Seuil : au moins 0,70 des faces de mur à moins de 7 cm de l'encre, décalage de meilleur ajustement d'au plus 16 cm, une nette victoire sur un contrôle décalé de 50 cm, à la fois sur le plan et sur la section construite. Un échec signifie que le plan ou la construction est erroné. Ne jamais assouplir cette règle.
- Les dimensions sont mesurées ou imprimées, jamais devinées à l'œil : épaisseur de mur, hauteur sous plafond, appui et linteau. Une hauteur que le dessin ne donne pas est déduite du type et de l'époque et listée comme déduite.
- Toit et façade sans dessins d'élévation sont déduits. Dites-le dans le rapport.
- Matériaux réels uniquement : scannages Poly Haven ou ambientCG avec leur vraie taille de tuile. Pas de couleur unie sur une surface visible.
- Le mobilier provient de modèles PBR réels placés selon l'usage de la pièce, en gardant l'espace de circulation et les faces avant tournées vers la pièce.
scripts/fetch_assets.pytélécharge les scannages CC0,scripts/find_objaverse.pyetscripts/fetch_objaverse.pytrouvent et téléchargent les modèles CC BY. - Créditez chaque modèle CC BY et chaque feuille source dans
CREDITS.mdà côté du plan. - Vérifiez l'orientation sur une grille (
scripts/preview_assets.py) avant de placer un nouveau modèle. Vérifiez aussi la taille native, car les modèles Objaverse viennent dans des unités étranges.
Vitesse
Une importation glTF est l'étape lente, donc build_house.py met en cache chaque modèle sous forme d'un .blend lié dans la bibliothèque d'actifs (HOUSE_ASSET_LIBRARY, par défaut ~/house-assets). Évitez les pins et sapins scannés : leur importateur prend plusieurs minutes. L'herbe et les arbres prennent du temps à synchroniser, donc les rendus conservent les données persistantes entre les prises. Toute étape de plus de 5 minutes est profilée et corrigée.
Fini signifie
Les vérifications « check », « overlay » et « as-built » passent et sont citées avec leurs chiffres. Les images fixes intérieures et extérieures tiennent en pleine taille à côté de vraies photos. Le rapport indique ce qui a été sourcé, ce qui a été déduit et ce qui semble encore faible.