3단계 · IfcConvert + 3d-tiles-tools 레시피

웹 형태 변환

브라우저가 바로 읽는 포맷으로 변환. 뷰어별 처리 방식.

방식·도구 고르기

카드 안 도구 선택 → 아래 단계·결과 전환. ?: 고르는 기준·장단점.

파일 방식

결과를 파일로 구워 정적 호스팅. 브라우저가 파일을 직접 읽음.

도구

엔진 (Cesium for Unreal)

같은 결과 파일(3D Tiles·quantized-mesh)을 언리얼에서 읽음. 엔진 전용 변환 없음.

엔진이 읽는 결과를 만드는 도구

IfcConvert + 3d-tiles-tools 요약 파일 방식

걸린 시간
-
결과 용량
-
파일 수
-
그릴 수 있는 뷰어
2 / 4

변환 단계

  1. 1형상만 glb 추출IfcConvert (IfcOpenShell) C++, LGPL-3.0, v0.9.0BIM 표준 IFC → glTF·OBJ 등 일반 3D 포맷.자세히 보기

    IfcConvert -q -y --y-up --use-element-names --site-local-placement /raw/Building-Architecture-IFC4.ifc /work/building.glb

    벽·문 등 요소 → 삼각형 메시. --y-up: glTF 웹용 3D 모델 표준. .gltf: JSON + 외부 파일, .glb: 파일 하나로 묶은 이진 형태. 자세히 규칙대로 위쪽 축 Y. --use-element-names: 요소 이름 유지. --site-local-placement: 대지 기준 좌표.

  2. 2웹용 압축glTF Transform TypeScript, MIT, v4.5.1glTF 웹용 최적화 도구. 묶기, 압축, 텍스처 축소.자세히 보기

    gltf-transform optimize /work/building.glb /out/model/building.glb --compress meshopt

    --compress meshopt: 형상 압축, 용량 감소.

  3. 3서울시청 앞 배치 타일셋 생성3d-tiles-tools TypeScript, Apache-2.0, v0.5.4Cesium의 3D Tiles 손질 도구. glb 타일셋 감싸기, 버전 올리기.자세히 보기

    3d-tiles-tools createTilesetJson -i /out/model/building.glb -o /out/model/tileset.json --cartographicPositionDegrees 126.9783 37.5659 0 -f

    --cartographicPositionDegrees: 위치(경위도·높이) → tileset.json, Cesium 바로 배치.

결과물

  • GLB + 놓을 위치glTF (GLB)

    형상만 남은 모델, 벽·문 속성 제외. Deck.gl용.

  • 3D Tiles (glb 감싸기)3D Tiles

    위치 내장 타일셋. Cesium용.

뷰어별 처리 · IfcConvert + 3d-tiles-tools

  • OpenLayers 2D미지원

    2D 지도 — 3D 건물 모델 미지원.

  • MapLibre 2.5D미지원

    glTF·3D Tiles 기본 레이어 없음.

  • MapLibre + Deck.gl 3D미검증

    결과물
    GLB + 놓을 위치 (model/building.glb)
    처리
    ScenegraphLayer
  • CesiumJS 3D미검증

    결과물
    3D Tiles (glb 감싸기) (model/tileset.json)
    처리
    Cesium3DTileset

직접 처리: 원본과 같은 형식을 그대로 읽음. 변환 후 처리: 바꾼 결과물을 읽음. 일부 기능만: 그리지만 빠지는 기능 있음(카드의 주의). 미검증: 성공한 실행 기록 없음.