glTF JSON (.gltf)
ISO/IEC 표준GL Transmission Format(glTF)은 WebGL, WebGPU, 게임 엔진 및 네이티브 애플리케이션에서 3D 장면과 모델을 효율적으로 전송하고 로드하기 위한 개방형 표준 로열티 프리 JSON 사양입니다.
GLTF을(를) GLB(으)로 변환
무료 브라우저 내 GLTF-GLB 변환기. 기기에서 파일을 즉시 변환하세요.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 glTF 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 glTF 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII 표현: {\n "asset"
표준화: ISO/IEC 12113:2022 / Khronos Open Standard
기술 사양
| 컨테이너 아키텍처 | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| 압축 | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| 바이트 엔디안 | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| 색 공간 | sRGB base color, Linear roughness/metallic |
| 채널 및 구조 | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| 최대 크기 | Unbounded coordinate space and triangle count |
| 투명도 | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| 스트리밍 및 프로그레시브 | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
기술 비교 매트릭스: glTF 대 경쟁사
| 기술적 속성 | glTF (현재) | GLB | OBJ | FBX |
|---|---|---|---|---|
| 파일 아키텍처 | JSON 장면 텍스트 + 동반 .bin / 텍스처 | 단일 자체 포함 바이너리 파일 | 일반 텍스트 정점 및 면 + .mtl | 독점 바이너리/ASCII 컨테이너 |
| PBR 재질 표준 | 표준화된 금속성-거칠기 PBR | 표준화된 금속성-거칠기 PBR | 레거시 퐁/람베르트 재질 | 사용자 정의 독점 재질 |
| 애니메이션 지원 | 스켈레탈 스키닝 및 모프 타겟 | 스켈레탈 스키닝 및 모프 타겟 | 없음(정적 지오메트리 전용) | 복잡한 애니메이션 및 뼈대 |
| 런타임 성능 | WebGL 및 실시간 엔진에 최적화됨 | WebGL 및 실시간 엔진에 최적화됨 | 느린 구문 분석 및 재구축 필요 | 복잡한 데스크톱 SDK 구문 분석 필요 |
일반적인 손상 모드 및 헥스 복구 가이드
3D 엔진 오류: '버퍼를 로드하지 못했습니다: URI를 찾을 수 없습니다(Failed to load buffer: URI not found)'.
근본 원인: 동반 .bin 바이너리 파일 또는 텍스처 이미지가 .gltf 파일과 함께 업로드되지 않았습니다.
복구: 모든 동반 파일을 함께 패키징하거나 File2File을 사용하여 단일 GLB 파일로 직접 변환하세요.
보안 분석 및 파서 공격 벡터
glTF JSON 파일은 SSRF(서버 측 요청 위조) 또는 경로 순회를 유발할 수 있는 외부 URI(데이터 URI 또는 원격 URL)를 참조합니다.
알려진 공격 벡터
- 상대 버퍼 URI를 통한 경로 순회 (예: 'uri: ../../../etc/passwd').
- 서버 측 3D 썸네일 생성기에서의 원격 네트워크 버퍼 가져오기를 통한 SSRF.
- 잘못된 형식의 재귀 노드 계층 주기(cycles)를 통한 서비스 거부.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 사람이 읽을 수 있는 JSON 구조를 통해 프로그래밍 방식의 편집, 파이프라인 스크립팅, 시각적 검사가 가능합니다.
- 모듈식 설계: 가벼운 장면 메타데이터를 무거운 바이너리 지오메트리(.bin) 및 텍스처와 분리합니다.
- PBR(물리 기반 렌더링) 재질 정의를 통해 모든 렌더링 엔진에서 3D 에셋이 동일하게 표시되도록 보장합니다.
기술적 제한 사항 및 단점
- 다중 파일 복잡성: 모델을 공유하려면 .gltf, .bin, 이미지 텍스처를 함께 압축하거나 번들로 묶어야 합니다.
- 여러 HTTP 요청으로 인해 단일 파일 GLB보다 초기 네트워크 시작 속도가 약간 느립니다.
- 동반 텍스처 파일의 이름을 변경하거나 이동하면 상대 경로 종속성이 깨질 수 있습니다.
흥미로운 기술적 상식
- glTF는 저작보다는 런타임 전송 및 표시에 엄격하게 초점을 맞추기 때문에 공식적으로 '3D의 JPEG'라는 별칭이 붙어 있습니다.
- 이 형식은 1994년에 VRML(가상 현실 모델링 언어)을 공동 제작한 Tony Parisi가 공동 창립했습니다.
- 나사(NASA)는 로버, 위성, 우주 비행사의 3D 모델을 glTF 형식으로 대중에 무료 다운로드 제공합니다.
자주 묻는 기술 질문
내 glTF 파일의 색상이나 모양이 누락된 이유는 무엇인가요?
.gltf 파일에는 JSON 장면 지침만 포함되어 있습니다. 3D 모양을 위한 보조 .bin 파일과 색상을 위한 .png/.jpg 파일에 의존합니다. 모든 보조 파일이 동일한 폴더에 있는지 확인하세요.
glTF 파일을 단일 GLB 파일로 어떻게 만드나요?
.gltf 파일과 보조 .bin 및 텍스처 파일을 File2File.app에 업로드하여 즉시 단일 자체 포함 .glb 파일로 병합하세요.
어떤 프로그램이 glTF를 지원하나요?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot, Windows 3D Viewer가 기본적으로 glTF를 지원합니다.
관련 glTF 변환 쌍
glTF JSON 에셋을 glTF 바이너리 컨테이너로 변환하여 별도의 텍스트 매니페스트, 바이너리 버퍼, 텍스처를 단일 파일로 패키징하여 더 빠른 웹 전송을 달성합니다.
GLB를 GLTF로 변환하면 단일 바이너리 컨테이너가 별도의 텍스트 및 에셋 파일로 해제되어 개발자가 텍스트와 3차원 지오메트리 코드를 간편하게 편집할 수 있습니다.
Wavefront OBJ 지오메트리 파일을 glTF JSON 매니페스트로 변환하면 정적 3차원 모델이 표준 웹 브라우저 내에서 즉시 로드되는 웹용 에셋으로 현대화됩니다.