glTF 바이너리 (.glb)
ISO/IEC 표준Binary glTF(GLB)는 glTF 2.0 표준을 단일 파일의 자체 완결형 바이너리 패키지로 만든 형식입니다. 웹 3D 그래픽, 증강 현실(AR) 및 실시간 게임 엔진에서 “3D의 JPEG”라 불릴 만큼 널리 사용됩니다.
GLTF을(를) GLB(으)로 변환
무료 브라우저 내 GLTF에서 GLB로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 GLB 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 GLB 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
67 6C 54 46ASCII 표현: glTF
표준화: ISO/IEC 12113:2022 / Khronos Open Standard
기술 사양
| 컨테이너 아키텍처 | 12바이트 이진 헤더('glTF', 버전, 길이) 뒤에 JSON 청크(CHUNK 0)와 이진 버퍼 청크(CHUNK 1)가 이어짐 |
| 압축 | DRACO 메시 지오메트리 압축, KHR_texture_basisu(KTX2/Basis Universal GPU 텍스처) 및 ExtMeshopt |
| 바이트 엔디안 | Little-Endian (Intel x86 / WebGL standard) |
| 색 공간 | sRGB 텍스처, 선형 PBR 러프니스/메탈릭 채널 |
| 채널 및 구조 | PBR 재질(Metallic-Roughness), 스켈레탈 메시, 모프 타깃, 애니메이션, 카메라 및 조명 |
| 최대 크기 | 정점 및 삼각형 개수 제한 없음(수 GB 규모 모델 지원) |
| 투명도 | 알파 커버리지(MASK), 알파 블렌딩(BLEND) 및 체적 투과 |
| 스트리밍 및 프로그레시브 | 바이너리 오프셋 테이블이 포함된 단일 파일로, GPU VBO를 바로 불러올 수 있음 |
기술 비교 매트릭스: GLB 대 경쟁사
| 기술적 속성 | GLB (현재) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| 패키징 모델 | 단일 자체 완결형 바이너리 파일 | JSON + 외부 .bin 및 텍스처 파일 | USD 스키마 및 텍스처의 ZIP 아카이브 | 독자적인 Autodesk 바이너리/ASCII |
| 웹 및 AR 표준 | 소프트웨어에 따라 지원 여부가 다릅니다. | 소프트웨어에 따라 지원 여부가 다릅니다. | 애플 iOS Quick Look AR 표준 | 데스크톱 게임 엔진 임포트 표준 |
| 머티리얼 모델 | 표준화된 glTF PBR Metallic-Roughness | 표준화된 glTF PBR | 소프트웨어에 따라 지원 여부가 다릅니다. | 독자적인 Phong/Lambert/PBR 셰이더 |
| GPU 읽기 성능 | 즉시 처리 (직접 메모리 매핑) | 빠름 (다수의 네트워크 요청) | 빠름 (압축되지 않은 ZIP 엔트리) | 느림 (복잡한 파싱 필요) |
일반적인 손상 모드 및 헥스 복구 가이드
3D 모델이 텍스처가 누락되었거나 완전한 검은색 표면으로 렌더링됨.
근본 원인: 내장된 텍스처 청크 손상 또는 PBR metallic-roughness 텍스처 참조 누락.
복구: File2File.app 3D Converter 또는 glTF-Transform으로 청크 오프셋을 검사하고 복구하십시오.
보안 분석 및 파서 공격 벡터
GLB 파서는 JSON 텍스트 청크와 임의 바이너리 버퍼를 함께 처리하므로 버퍼 길이가 맞지 않으면 버퍼 오버플로가 발생할 수 있습니다.
알려진 공격 벡터
- bufferView.byteOffset + bufferView.byteLength가 바이너리 청크 길이를 초과할 때 발생하는 버퍼 초과 읽기
- WebGL drawElements 실행 중 범위를 벗어난 정점 인덱스 읽기
- 병리적인 Draco 압축 해제 루프를 통한 서비스 거부(DoS) 공격.
방어적 모범 사례: 모든 accessor 및 bufferView 바이트 범위가 선언된 바이너리 청크 안에 있는지 엄격하게 검증하십시오.
역사적 배경 및 주요 이력
주요 장점
- 완벽한 자체 완결성: 3D 지오메트리, PBR 머티리얼, 텍스처(PNG/JPEG/KTX2), 스켈레탈 애니메이션을 하나의 파일로 패키징합니다.
- GPU에 직접 업로드: 바이너리 지오메트리 버퍼가 WebGL/Vulkan 메모리 레이아웃과 일치해 CPU 파싱 오버헤드가 없습니다.
- WebGL, WebGPU, 이커머스 3D 제품 미리보기, 모바일 증강현실 분야의 명실상부한 표준입니다.
기술적 제한 사항 및 단점
- 바이너리 특성상 전문 3D 도구 없이는 수동 텍스트 검사나 편집이 어렵습니다.
- 고급 압축 확장 기능을 사용할 때 Draco 또는 Basis Universal 압축 해제 라이브러리가 필요합니다.
- Apple 플랫폼은 네이티브 iOS Quick Look AR을 위해 USDZ를 선호하므로 GLB에서 포맷 변환이 필요합니다.
흥미로운 기술적 상식
- 모든 GLB 파일의 처음 4바이트는 0x67 0x6C 0x54 0x46이며, ASCII 'glTF'를 나타냅니다.
- 스마트폰 웹 브라우저에서 3D 운동화를 보고 있다면, 거의 확실히 인터랙티브 GLB 모델을 보고 있는 것입니다.
- GLB는 그래픽 하드웨어가 변환 과정 없이 디스크에서 VRAM으로 정점 버퍼를 직접 읽을 수 있도록 특별히 설계되었습니다.
자주 묻는 기술 질문
glTF와 GLB는 어떻게 다릅니까?
glTF는 외부 .bin 지오메트리 및 별도의 이미지 텍스처 파일을 참조하는 JSON 파일입니다. GLB는 해당 전체 번들을 하나의 작고 간결한 바이너리 파일로 묶습니다.
Apple AR용 GLB를 USDZ로 어떻게 변환할 수 있습니까?
웹 브라우저에서 직접 File2File.app을 사용하여 한 번의 클릭으로 GLB 모델을 Apple용 USDZ 파일로 변환할 수 있습니다.
Blender에서 GLB 파일을 열 수 있습니까?
네. Blender에는 소프트웨어에 직접 내장된 고성능 기본 glTF/GLB 가져오기 및 내보내기 기능이 포함되어 있습니다.