Community코딩 & 개발github.com

codepawl/build-house-from-plan

2D 평면도를 사실적인 3D 주택으로 Blender Cycles에서 렌더링합니다. 도면 위에 건물을 오버레이하여 확인하며, 스틸 이미지, 벽이 도면에서 솟아오르는 애니메이션, 여러 채의 거리까지 제작합니다. 평면도, 주택 도면, 청사진에 활용하세요.

build-house-from-plan란 무엇인가요?

이 스킬은 2D 건축 평면도나 청사진을 입력받아 Blender Cycles에서 사실적인 3D 주택 모델을 생성합니다. 실제 벽 두께와 창틀을 반영하고, Poly Haven 또는 ambientCG의 실제 재질 스캔 데이터를 사용하며, Objaverse의 CC 라이선스 가구 모델을 배치합니다. 7cm 이내의 벽 정렬 정확도(잉크 대비)와 16cm 이하의 최적 오프셋을 통과해야 결과물이 승인됩니다. Claude Code, Cursor, Codex 등 AI 에이전트 환경과 호환되며, Python 스크립트를 통해 평면도 검증, 블렌더 모델링, 렌더링을 자동화합니다. 최종 출력물은 실측 사진과 비교하여 품질을 검증하며, 도면이 명시하지 않은 높이나 지붕 형태는 건축 유형과 시대를 바탕으로 추론하여 투명하게 보고합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/codepawl/viz3d/tree/HEAD/plugins/build-house-from-plan/skills/build-house-from-plan

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

2D 평면도로 사실적인 3D 주택 만들기 (Dựng nhà 3D siêu chân thật từ bản vẽ 2D)

references/local.md 파일이 존재하면 먼저 읽으십시오. 이 파일은 이 시스템의 폴더와 규칙을 설정합니다.

평면도 파일은 도면에서 읽혀지고, 도면과 비교 검증된 후, 실제 벽 두께와 실제 프레임으로 건설되며, 스캔된 재질과 모델로 장식되어 Cycles에서 렌더링됩니다. 도면이 심판입니다: 건축된 평면도가 잉크 위에 정확히 일치하지 않으면 아무것도 승인되지 않습니다.

작업 순서

  1. 시트와 출처 찾기. 라이선스가 명확한 평면도, 그리고 동일한 건물 또는 그 유형과 시대의 사진들. references/read-plan.md를 전체 읽기: 출처, 캘리브레이션, 읽기 순서, 추론할 수 있는 내용 표.
  2. plan.json 작성. references/plan-format.md에 모든 키가 있습니다. 필요한 섹션을 읽으십시오. 도면에서 읽지 못한 모든 내용은 provenance.inferred에 기록되며, 최종 보고서는 해당 목록을 반복합니다.
  3. 빌드 전 확인. 실패 시 중단하고 수정:
    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
    
  4. 빌드. 한 번에 하나의 Blender:
    blender -b --factory-startup -t 6 -P scripts/build_house.py -- plan.json out/house.blend
    
    빌드 섹션을 블렌드 파일 옆에 기록합니다. plan_check.py asbuilt <section.json>으로 점수를 매깁니다.
  5. 작게 미리보기. --samples 48 --scale 50, 그런 다음 모든 샷을 참조 사진 옆에서 확인:
    blender -b out/house.blend -t 6 -P scripts/render_house.py -- plan.json out/preview --samples 48 --scale 50
    
  6. 가짜처럼 보이는 부분 찾기. 판단하기 전에 references/realism-faults.md 읽기: 이 파이프라인이 실제로 생성한 결함, 각 결함이 어떻게 보였는지, 무엇이 수정했는지. 새로운 결함을 같은 턴에 추가하십시오.
  7. 최종. 약 512 샘플로 1920x1080, 각 스틸 이미지를 실제 사진 옆에 전체 크기로 놓고 확인합니다.
  8. 필름. --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분을 초과하는 단계는 프로파일링하여 수정합니다.

완료 조건

검사, 오버레이 및 건축 게이트를 통과하고 해당 수치가 인용됩니다. 실내 및 실외 스틸 이미지는 전체 크기에서 실제 사진 옆에 놓았을 때 견딜 수 있어야 합니다. 보고서에는 어떤 출처를 사용했는지, 무엇을 추론했는지, 여전히 약해 보이는 부분이 무엇인지 명시됩니다.

관련 스킬