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:
빌드 섹션을 블렌드 파일 옆에 기록합니다.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읽기: 이 파이프라인이 실제로 생성한 결함, 각 결함이 어떻게 보였는지, 무엇이 수정했는지. 새로운 결함을 같은 턴에 추가하십시오. - 최종. 약 512 샘플로 1920x1080, 각 스틸 이미지를 실제 사진 옆에 전체 크기로 놓고 확인합니다.
- 필름.
--film <name>.build_up필름은 벽이 종이 자체에서 솟아오르는 모습을 보여줍니다. 거리:references/plan-format.md의 "Streets".
엄격한 규칙
- 게이트: 벽 면의 최소 70%가 잉크로부터 7cm 이내에 있어야 하며, 최적 오프셋은 최대 16cm, 50cm 이동된 제어보다 명확히 우수해야 합니다(평면도 및 건축 섹션 모두). 실패는 평면도나 빌드가 잘못되었음을 의미합니다. 절대 완화하지 마십시오.
- 크기: 측정하거나 인쇄된 값으로 추정하지 않음: 벽 두께, 천장 높이, 창턱 및 상인방 높이. 도면이 제공하지 않은 높이는 유형과 시대에서 추론하여 추론됨으로 표시합니다.
- 입면도 없는 지붕과 파사드: 추론됨으로 표시하고 보고서에 명시합니다.
- 실제 재질만 사용: 실제 타일 크기의 Poly Haven 또는 ambientCG 스캔. 보이는 표면에 단색 사용 금지.
- 가구: 실제 PBR 모델을 방 사용 방식에 따라 배치하며, 보행 공간을 확보하고 앞면이 방을 향하도록 함.
scripts/fetch_assets.py는 CC0 스캔을 다운로드하고,scripts/find_objaverse.py와scripts/fetch_objaverse.py는 CC BY 모델을 찾아 가져옵니다. - 모든 CC BY 모델과 출처 시트를
CREDITS.md에 기록 (평면도 옆). - 새 모델을 배치하기 전에 그리드에서 방향 확인 (
scripts/preview_assets.py). Objaverse 모델은 비정상 단위로 제공되므로 기본 크기도 확인합니다.
속도
glTF 가져오기가 느린 단계이므로 build_house.py는 각 모델을 연결된 .blend 파일로 에셋 라이브러리(HOUSE_ASSET_LIBRARY, 기본값 ~/house-assets)에 캐시합니다. 소나무와 전나무 스캔은 가져오는 데 수 분이 걸리므로 피하십시오. 잔디와 나무는 동기화에 오래 걸리므로 렌더는 샷 사이에 영구 데이터를 유지합니다. 5분을 초과하는 단계는 프로파일링하여 수정합니다.
완료 조건
검사, 오버레이 및 건축 게이트를 통과하고 해당 수치가 인용됩니다. 실내 및 실외 스틸 이미지는 전체 크기에서 실제 사진 옆에 놓았을 때 견딜 수 있어야 합니다. 보고서에는 어떤 출처를 사용했는지, 무엇을 추론했는지, 여전히 약해 보이는 부분이 무엇인지 명시됩니다.