3단계 · 그대로 올리기 레시피
웹 형태 변환
브라우저가 바로 읽는 포맷으로 변환. 뷰어별 처리 방식.
방식·도구 고르기
3D 모델 · 데이터 상태별 (크기 기준은 어림)
| 데이터 상태 | 방식 | 고르는 이유 · 형태 |
|---|---|---|
| 단일 모델 수 MB (glb·gltf) | 파일 | glb 통째 + 위치·방향 지정. 가장 단순. |
| 여러 동 · 고해상 텍스처 (수십 MB 이상) | 파일 | 3D Tiles: 타일 분할·LOD. 보이는 것만. |
| 같은 모델 반복 배치 (가로수·가로등) | 파일 | i3dm(1.0)·EXT_mesh_gpu_instancing(1.1): 모델 한 벌 + 위치 목록. |
| CityGML 속성 조회·갱신 | 파일 | 3DCityDB(PostGIS)에 적재 → pg2b3dm으로 3D Tiles 굽기. 원본은 DB, 결과는 파일 → 갱신 시 다시 굽기. |
| 고화질 · 시뮬레이션 · VR | 엔진 | Cesium for Unreal: 같은 3D Tiles. 재질·조명·그림자. |
카드 안 도구 선택 → 아래 단계·결과 전환. ?: 고르는 기준·장단점.
파일 방식
맞는 경우
- 갱신 드문 데이터 (연 1회 공개 등)
- 서버 운영 없는 배포: 정적 호스팅·CDN
- 미리 구운 타일 → 요청마다 연산 없음, 동시 접속에 강함
한계
- 원본이 바뀌면 다시 굽기
- 속성 조건 조회 불가 → 받은 범위 안 클라이언트 필터만
- 타일 수만~수백만 개 → 올리기·저장 부담 (PMTiles 한 파일로 완화)
결과를 파일로 구워 정적 호스팅. 브라우저가 파일을 직접 읽음.
도구
그대로 올리기 · 장점
- 변환 없음 → 손실 없음
- 모델 한 벌 + 위치 목록 → 반복 배치에 가벼움
단점
- i3dm(1.0) → CesiumJS만 표시
- 모델 상대 경로 → 폴더 구조 유지 필요
3d-tiles-tools (1.1로 올리기) · 장점
- 타일 전부 glb → 뷰어의 i3dm 전용 해석 불필요
- EXT_mesh_gpu_instancing: 1.1 표준 인스턴싱
단점
- Deck.gl은 인스턴싱 확장 미지원 → CesiumJS만
- 외부 모델 경로 정리 필요 (도구 0.5.4 경로 해석)
엔진 (Cesium for Unreal)
맞는 경우
- 화질: 조명·그림자·재질·후처리
- 시뮬레이션·VR·다른 3D 에셋과 합성
- 브라우저 메모리 한계를 넘는 장면 (데스크톱 GPU)
한계
- 브라우저 밖: 설치형 앱 빌드 또는 Pixel Streaming
- GPU 필요, 화면 확인 수동
- 3D Tiles·지형만. 2D 벡터·영상은 지형 위 덧씌움(WMS·WMTS·XYZ)
같은 결과 파일(3D Tiles·quantized-mesh)을 언리얼에서 읽음. 엔진 전용 변환 없음.
엔진이 읽는 결과를 만드는 도구
그대로 올리기 · 장점
- 변환 없음 → 손실 없음
- 모델 한 벌 + 위치 목록 → 반복 배치에 가벼움
단점
- i3dm(1.0) → CesiumJS만 표시
- 모델 상대 경로 → 폴더 구조 유지 필요
3d-tiles-tools (1.1로 올리기) · 장점
- 타일 전부 glb → 뷰어의 i3dm 전용 해석 불필요
- EXT_mesh_gpu_instancing: 1.1 표준 인스턴싱
단점
- Deck.gl은 인스턴싱 확장 미지원 → CesiumJS만
- 외부 모델 경로 정리 필요 (도구 0.5.4 경로 해석)
그대로 올리기 요약 파일 방식
- 걸린 시간
- -
- 결과 용량
- -
- 파일 수
- -
- 그릴 수 있는 뷰어
- 1 / 4
변환 단계
결과물
3D Tiles 1.0 (i3dm)3D Tiles원본과 같은 형식
원본 그대로 — 이미 웹용 3D Tiles 3D 데이터를 공간별 나무 구조로 묶은 OGC 표준. 멀리서는 단순하게, 가까이서는 자세하게. 자세히. 나무 모델은 별도 glb 몇 개, 타일엔 위치·방향·크기 목록만. Cesium용.
뷰어별 처리 · 그대로 올리기
OpenLayers 2D미지원
2D 지도 — 3D 모델 미지원.
MapLibre 2.5D미지원
3D Tiles 기본 레이어 없음.
MapLibre + Deck.gl 3D미지원
loaders.gl: i3dm 외부 모델 경로를 타일 아닌 페이지 기준으로 탐색, 인스턴스 방향(NORMAL_UP·NORMAL_RIGHT) 미적용 → 나무 위치 오류.
CesiumJS 3D미검증
- 결과물
- 3D Tiles 1.0 (i3dm) (tiles/tileset.json)
- 처리
Cesium3DTileset
직접 처리: 원본과 같은 형식을 그대로 읽음. 변환 후 처리: 바꾼 결과물을 읽음. 일부 기능만: 그리지만 빠지는 기능 있음(카드의 주의). 미검증: 성공한 실행 기록 없음.