glTF JSON (.gltf)
ISO/IEC StandardGL Transmission Format (glTF) er den åpne, royaltyfrie JSON-spesifikasjonen for effektiv overføring og innlasting av 3D-scener og modeller i WebGL, WebGPU, spillmotorer og lokale applikasjoner.
Konverter GLTF til GLB
Gratis GLTF til GLB-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.
Inspeksjon og metadata
Operativsystemer og filanalysatorer identifiserer glTF-filer ved å undersøke den innledende binære bytesekvensen:
Filsignatur på bytenivå (magiske byte)
Operativsystemer og filanalysatorer identifiserer glTF-filer ved å undersøke den innledende binære bytesekvensen:
HEX-SIGNATUR (OFFSET 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII-REPRESENTASJON: {\n "asset"
Standardisering: ISO/IEC 12113:2022 / Khronos Open Standard
Tekniske spesifikasjoner
| Beholderarkitektur | Menneskelesbart JSON-dokument som beskriver scenegraph, noder, mesher, accessorer, materialer og animasjoner, med referanser til eksterne buffere |
| Komprimering | Eksterne teksturer (PNG, JPEG, WebP) og valgfri Draco-komprimering av geometri |
| Bytterekkefølge | UTF-8 JSON-tekst (refererer til Little-endian-.bin-buffere) |
| Fargerom | sRGB-grunnfarge, Lineær ruhet/metallisitet |
| Kanaler og struktur | Scenehierarki, noder, kameraer, PBR-materialer, skjelett for skinning og morfmål |
| Maks. dimensjoner | Ubegrenset koordinatrom og antall trekanter |
| Gjennomsiktighet | Alfamodus BLEND, MASK med terskelverdi for avkutting eller volumetrisk transmisjon |
| Strømming og progressiv visning | glTF skiller scenebeskrivelser fra binære geometri- og teksturdata, slik at en visningsløsning kan laste inn komponenter etter behov i stedet for å vente på én stor fil. |
Teknisk sammenligningsmatrise: glTF sammenlignet med konkurrenter
| Teknisk attributt | glTF (Gjeldende) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Filarkitektur | JSON-scenetekst + tilhørende .bin / teksturer | Én selvstendig binærfil | Ren tekst med toppunkter og flater + .mtl | Proprietær binær-/ASCII-beholder |
| PBR-materialstandarder | Standardisert Metallic-Roughness PBR | Standardisert Metallic-Roughness PBR | Eldre Phong/Lambert-materialer | Tilpassede proprietære materialer |
| Animasjonsstøtte | Skjelett-skinning & morf-mål (morph targets) | Skjelett-skinning & morf-mål (morph targets) | Ingen (kun statisk geometri) | Komplekse animasjoner og bein |
| Kjøretidsytelse | Optimalisert for WebGL & sanntidsmotorer | Optimalisert for WebGL & sanntidsmotorer | Krever langsom innlesing og gjenoppbygging | Krever kompleks analyse via stasjonær SDK |
Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning
3D-motorfeil: 'Failed to load buffer: URI not found'.
Underliggende årsak: Den medfølgende .bin-binærfilen eller teksturbildene ble ikke lastet opp sammen med .gltf-filen.
Utbedring: Pakk alle tilhørende filer sammen, eller konverter dem direkte til én GLB-fil med File2File.app.
Sikkerhetsanalyse og angrepsvektorer mot parsere
glTF JSON-filer refererer til URI-er (data-URI-er eller eksterne nettadresser) som kan føre til Server-Side Request Forgery (SSRF) eller banegjennomgang (path traversal).
Kjente angrepsvektorer
- Banegjennomgang via relative buffer-URI-er (f.eks. 'uri: ../../../etc/passwd').
- SSRF via henting av eksterne nettverksbuffere i serverbaserte generatorer for 3D-miniatyrbilder.
- Tjenestenekt gjennom feilformede, rekursive sykluser i nodehierarkiet.
Anbefalte sikkerhetstiltak: Ikke tillat eksterne nettadresser og normaliser alle lokale buffer-URI-baner før lasting.
Historisk opprinnelse og milepæler
Viktige fordeler
- Menneskelig lesbar JSON-struktur tillater programmatisk redigering, skripting av pipelines og visuell inspeksjon.
- Modulær design: skiller mellom lettvekts scenemetadata og tung binær geometri (.bin) og teksturer.
- PBR-materialer kan gi mer konsistent visning, men resultatet avhenger av rendereren, belysningen og innstillingene.
Tekniske begrensninger og ulemper
- Flerfilskompleksitet: deling av en modell krever zip-pakking eller bunting av .gltf, .bin og bildeteksturer sammen.
- Litt tregere innledende nettverksoppstart enn enfils GLB på grunn av flere HTTP-forespørsler.
- Relative stiavhengigheter kan brytes hvis tilhørende teksturfiler endrer navn eller flyttes.
Interessante tekniske fakta
- glTF har formelt kallenavnet '3D-ens JPEG' fordi det fokuserer strengt på overføring og visning ved kjøretid i stedet for redigering og opprettelse.
- Khronos Group introduserte glTF for å effektivisere overføring av 3D-ressurser til web- og mobilapper.
- NASA tilbyr 3D-modeller av rovere, satellitter og astronauter for offentlig nedlasting i glTF-format.
Ofte stilte tekniske spørsmål
Hvorfor mangler fargene eller formene i glTF-filen min?
En .gltf-fil inneholder bare JSON-sceninstruksjonene. Den er avhengig av medfølgende .bin-filer for 3D-formene og .png/.jpg-filer for farger. Forsikre deg om at alle medfølgende filer er i samme mappe.
Hvordan gjør jeg om en glTF-fil til en enkelt GLB-fil?
Last opp .gltf-filen din og dens medfølgende .bin- og teksturfiler til File2File.app for å slå dem sammen til en enkelt, selvstendig .glb-fil umiddelbart.
Hvilke programmer støtter glTF?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot og Windows 3D Viewer støtter glTF rett ut av esken.
Relaterte konverteringspar for glTF
Konvertering av glTF JSON-ressurser til glTF Binary-beholdere pakker separate tekstdokumenter, binære buffere og teksturer inn i en enkelt fil for raskere levering på nett.
Konvertering av GLB til GLTF pakker ut en enkel binærbeholder til separate tekst- og ressursfiler slik at utviklere enkelt kan redigere teksturer og 3D-geometrikode.
Konvertering av Wavefront OBJ-geometrifiler til glTF JSON-manifest moderniserer statiske 3D-modeller til nettoklare ressurser som lastes inn umiddelbart i standard nettlesere.