웹BIMBIM시각화개발자
3D의 JPEG라 불리는 glTF: BIM 모델을 1/10 용량으로 웹에 올리는 실전 워크플로우
MADE IN WORKS·2025. 8. 8.·4분 읽기
클라이언트에게 BIM 모델을 보여주려고 IFC 파일을 그대로 웹에 올려본 적이 있다면 알 것이다 — 로딩바가 한참 돌아가고, 브라우저 탭이 버벅이고, 결국 "그냥 캡처 이미지로 보내드릴게요"로 후퇴하게 된다. 문제는 IFC 자체가 나쁜 포맷이라서가 아니라, 애초에 웹 실시간 렌더링을 염두에 두고 설계된 포맷이 아니기 때문이다.
"그냥 IFC를 웹에 올리면 안 되나요?"안 되는 건 아니지만 비효율적이다. IFC는 BIM 데이터를 "정확하고 완전하게" 표현하도록 설계됐지, "빠르게 전송하고 즉시 렌더링"하도록 설계되지 않았다. 그래서 웹 전송 직전에 IFC를 glTF로 변환하는 단계가 필요하다.
"3D의 JPEG"라 불리는 이유
JPEG이 사진을 웹에서 빠르게 주고받기 위한 압축 포맷이듯, glTF(GL Transmission Format)는 3D 모델을 웹에서 빠르게 주고받기 위해 설계된 포맷이다. 브라우저의 WebGL/WebGPU가 곧바로 읽을 수 있는 구조라, 별도의 무거운 변환 과정 없이 화면에 그릴 수 있다.
Draco 압축이 실제로 하는 일
glTF 자체도 가볍지만, 여기에 Draco 압축을 얹으면 한 단계 더 작아진다. 원리를 단순화하면 이렇다 — 3D 메시는 결국 좌표값(정점)과 그 좌표들을 잇는 순서(인덱스)의 나열인데, Draco는 이 값들을 더 적은 비트로 표현하도록 양자화하고, 반복되는 패턴을 압축한다. 사람 눈에는 거의 티가 안 나는 정밀도 손실을 대가로, 파일 크기를 크게 줄이는 방식이다.
glTF의 핵심 특징
- Draco 압축: 메시 데이터를 대폭 압축(체감상 원본의 10~20% 수준까지)
- PBR 재질: 물리 기반 렌더링 재질을 표준으로 지원해 실사에 가까운 표현 가능
- 애니메이션: 4D 공정 시뮬레이션(시간에 따른 시공 순서 표현)에도 활용 가능
- 확장성(Extras): 형상뿐 아니라 BIM 속성 데이터를 함께 담을 수 있음
실전 변환 워크플로우
- Revit 모델을 FBX 또는 IFC로 내보내기
- Blender(또는 전용 변환 도구)에서 임포트
- 재질 최적화 — PBR 변환, 텍스처 해상도·포맷 정리
- Draco 압축을 적용해 glTF(.glb)로 익스포트
- 웹 뷰어에서 로딩 및 렌더링
형상만 옮기지 말고 속성도 같이 옮겨라glTF의 Extras 필드를 활용하면 "이 객체는 무슨 자재인지, 물량이 얼마인지" 같은 BIM 속성을 형상과 함께 웹으로 넘길 수 있다. 이 작업을 빼먹으면 웹 뷰어는 "예쁜 3D 모형"에 그치고, BIM 모델 고유의 강점인 데이터 조회 기능을 잃어버리게 된다.
압축은 손실 압축이다Draco 압축은 정밀도를 일부 희생하는 손실 압축이다. 시각화·프레젠테이션용이면 문제없지만, 정밀 측정이나 정확한 물량 산출이 필요한 용도라면 압축률을 낮추거나 원본 데이터와 병행 관리해야 한다.
포맷 비교
| 포맷 | 용도 | 웹 실시간 렌더링 |
|---|---|---|
| RVT (Revit 네이티브) | 데스크탑 편집, 완전한 파라메트릭 정보 | 불가 |
| IFC | 표준화된 데이터 교환 | 가능하나 무겁고 느림 |
| OBJ/FBX | 범용 3D 교환 | 가능하나 최적화 안 됨 |
| glTF(+Draco) | 웹/실시간 전송 전용 | 최적화됨 |
흔히 하는 실수원본 텍스처 해상도를 그대로 둔 채 메시만 압축하는 것. 메시는 Draco로 90% 줄여놓고 4K 텍스처를 그대로 쓰면, 결국 병목은 텍스처 용량으로 옮겨갈 뿐이다. 메시 압축과 텍스처 최적화는 항상 세트로 진행해야 한다.
마무리
glTF는 BIM 데이터를 웹에서 표현하는 가장 효율적인 포맷이고, Draco 압축을 더하면 원본 대비 10~20% 수준의 용량으로 전송이 가능하다. BIM 데이터를 웹에서 공유하는 일이 늘어날수록, "어떤 포맷으로 변환해서 보낼 것인가"는 렌더링 기법 못지않게 중요한 결정이 된다.