glTF JSON (.gltf)

ISO/IEC Standard

GL 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:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

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 22

ASCII-REPRESENTASJON: {\n "asset"

Standardisering: ISO/IEC 12113:2022 / Khronos Open Standard

Tekniske spesifikasjoner

BeholderarkitekturMenneskelesbart JSON-dokument som beskriver scenegraph, noder, mesher, accessorer, materialer og animasjoner, med referanser til eksterne buffere
KomprimeringEksterne teksturer (PNG, JPEG, WebP) og valgfri Draco-komprimering av geometri
BytterekkefølgeUTF-8 JSON-tekst (refererer til Little-endian-.bin-buffere)
FargeromsRGB-grunnfarge, Lineær ruhet/metallisitet
Kanaler og strukturScenehierarki, noder, kameraer, PBR-materialer, skjelett for skinning og morfmål
Maks. dimensjonerUbegrenset koordinatrom og antall trekanter
GjennomsiktighetAlfamodus BLEND, MASK med terskelverdi for avkutting eller volumetrisk transmisjon
Strømming og progressiv visningglTF 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 attributtglTF (Gjeldende)GLBOBJFBX
FilarkitekturJSON-scenetekst + tilhørende .bin / teksturerÉn selvstendig binærfilRen tekst med toppunkter og flater + .mtlProprietær binær-/ASCII-beholder
PBR-materialstandarderStandardisert Metallic-Roughness PBRStandardisert Metallic-Roughness PBREldre Phong/Lambert-materialerTilpassede proprietære materialer
AnimasjonsstøtteSkjelett-skinning & morf-mål (morph targets)Skjelett-skinning & morf-mål (morph targets)Ingen (kun statisk geometri)Komplekse animasjoner og bein
KjøretidsytelseOptimalisert for WebGL & sanntidsmotorerOptimalisert for WebGL & sanntidsmotorerKrever langsom innlesing og gjenoppbyggingKrever 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

2022glTF 2.0 oppnår internasjonal ratifisering som ISO/IEC 12113:2022.
2017Khronos Group utgir glTF 2.0, som standardiserer fysisk basert rendering (PBR) som en kjernefunksjon.
2015glTF 1.0 kunngjøres på SIGGRAPH, utarbeidet av Fabrice Robinet, Neil Trevett og Tony Parisi.

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.