glTF 바이너리에서 glTF JSON으로 변환기
GLB를 GLTF로 변환하면 단일 바이너리 컨테이너가 별도의 텍스트 및 에셋 파일로 해제되어 개발자가 텍스트와 3차원 지오메트리 코드를 간편하게 편집할 수 있습니다.
형식 비교 및 기술 사양
| 사양 | GLB | GLTF |
|---|---|---|
| MIME 유형 | model/gltf-binary | model/gltf+json |
| 유형 | self-contained binary 3D container | runtime 3D asset transmission |
| 압축 | binary packaged JSON, buffers, and textures | lossless JSON manifest + external binary buffers |
| 표준 사양 | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| 매직 바이트 헤더 | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
형식 개요 및 응용 프로그램
GLB 형식은 3차원 장면, 애니메이션, 재질, 텍스처를 하나의 깔끔한 바이너리 패키지로 묶어줍니다. 웹페이지나 게임에 개체를 빠르게 불러오는 데는 유리하지만, 원본 데이터를 직접 수정하기는 어렵습니다. 장면 구조를 확인하고, 텍스트 편집기에서 재질 속성을 미세 조정하거나, 포함된 셰이더 매개변수를 변경하고자 할 때 개발자는 GLB 파일을 GLTF 형식으로 해제해야 하는 경우가 많습니다. 해제된 GLTF 에셋을 다루면 엔지니어링 팀은 표준 깃 워크플로우를 사용하여 특정 3차원 메시 구성 요소를 버전 관리할 수 있습니다. 거대한 바이너리 블롭을 추적하는 대신, 개발자는 별도의 바이너리 버퍼 파일을 관리하면서 JSON 매니페스트에 대한 작은 텍스트 변경 사항만 커밋할 수 있습니다. 이 변환 프로세스는 런타임 배포 전에 3차원 에셋에 사용자 지정 셰이더 주입이나 동적 텍스처 스와핑이 필요한 고급 웹 개발 파이프라인을 지원합니다.
기술 사양 및 코덱 분석
GLB는 model/gltf-binary MIME 유형을 사용하며 4바이트 매직 넘버(0x46546C67), 4바이트 버전 정수, 4바이트 전체 파일 길이를 포함하는 12바이트 헤더로 시작합니다. 이 헤더 뒤에는 JSON 매니페스트와 바이너리 버퍼를 포함하는 청크가 이어집니다. model/gltf+json MIME 유형을 사용하는 GLTF로 변환하면 매니페스트가 .gltf 확장자를 가진 사람이 읽을 수 있는 텍스트 파일로 분리됩니다. 지오메트리 데이터와 픽셀 맵은 .bin 및 .png와 같은 별도의 외부 파일로 기록됩니다. 기본적으로 두 형식 모두 손실 압축을 사용하지 않습니다. 두 형식 모두 정점 위치, 법선, UV 좌표를 완전한 수학적 정밀도로 보존합니다.
OS 및 브라우저 호환성
해제된 GLTF 파일은 WebGL 및 WebGPU 렌더러를 사용하여 구글 크롬, 모질라 파이어폭스, 애플 사파리, 마이크로소프트 엣지를 포함한 모든 최신 웹 브라우저에서 원활하게 실행됩니다. 윈도우 10 및 11, 맥OS, 리눅스와 같은 데스크톱 운영 체제는 윈도우 3D 뷰어 및 블렌더 같은 기본 도구를 통해 GLTF 보기를 지원합니다. iOS 및 Android의 모바일 운영 체제는 네이티브 증강 현실 환경 및 웹 응용 프로그램 내에서 GLTF 에셋을 렌더링하지만, 개발자는 교차 출처 리소스 공유 오류를 방지하기 위해 서버에 별도의 .bin 및 .gltf 파일을 올바르게 호스팅해야 합니다.
💡 유용한 정보
변환 후 JSON 매니페스트가 깨진 경로 오류 없이 외부 종속성을 찾을 수 있도록 텍스트 맵을 항상 기본 .gltf 파일과 같은 폴더에 유지하세요.
형식 비교 및 기술 사양
GLB 형식으로 15메가바이트 크기의 복잡한 3차원 캐릭터 모델은 .gltf 매니페스트와 외부 .bin 파일로 분할될 때 유사한 총 데이터 용량을 생성합니다. 초당 30메가비트로 실행되는 표준 4G 연결에서 이 에셋을 다운로드하는 데 약 4초가 소요됩니다. 5G 네트워크 또는 300메가비트 광랜 연결로 업그레이드하면 전송 시간이 1초 미만으로 단축되어 다중 파일 웹 로딩이 거의 즉각적으로 이루어집니다.
자주 묻는 질문
품질 저하 없이 glTF 바이너리를 glTF JSON으로 변환하려면 어떻게 해야 하나요?
GLB에서 GLTF로의 변환은 두 형식 모두 동일한 기본 수학적 구조를 사용하므로 완전히 무손실입니다. 이 프로세스는 단지 단일 바이너리 컨테이너에서 JSON 청크와 바이너리 버퍼를 추출하여 정점 데이터나 픽셀 압축을 변경하지 않고 디스크에 별도의 파일로 기록합니다.
glTF 바이너리(GLB)와 glTF JSON(GLTF)의 차이점은 무엇인가요?
GLB는 장면 설명, 지오메트리, 텍스처를 단일 다운로드로 묶는 자체 포함 바이너리 파일입니다. GLTF는 읽을 수 있는 텍스트 파일에 장면 그래프를 저장하는 동시에 지오메트리와 텍스처를 외부 바이너리 및 이미지 파일로 유지하여 이러한 요소를 분리합니다.