glTF JSON (.gltf)

ISO/IEC Standard

GL Transmission Format (glTF) er den åbne standard, royaltyfri JSON-specifikation til effektiv overførsel og indlæsning af 3D-scener og -modeller i WebGL, WebGPU, spilmotorer og indfødte applikationer.

Konverter GLTF til GLB

Gratis GLTF til GLB-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer glTF-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer glTF-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

7B 0A 20 20 22 61 73 73 65 74 22

ASCII-REPRÆSENTATION: {\n "asset"

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

Tekniske specifikationer

ContainerarkitekturMenneskeligt læsbart JSON-dokument, der beskriver scenegraph, noder, meshes, accessors, materialer og animationer med referencer til eksterne buffere
KomprimeringEksterne teksturer (PNG, JPEG, WebP) og valgfri Draco-geometrikomprimering
Byte-rækkefølgeUTF-8-kodet JSON-tekst (med referencer til Little-Endian .bin-buffere)
FarverumsRGB-grundfarve, Lineær ruhed/metalliskhed
Kanaler og strukturScenehierarki, noder, kameraer, PBR-materialer, skeletter med skinning og morph targets
Maks. dimensionerUbegrænset koordinatrum og antal trekanter
GennemsigtighedAlfatilstand BLEND, MASK med afskæringstærskel eller volumetrisk transmission
Streaming og progressivglTF adskiller scene beskrivelser fra binære geometri- og teksturdata, så en fremviser kan indlæse komponenter efter behov i stedet for at vente på én samlet fil.

Teknisk sammenligningsmatrix: glTF sammenlignet med konkurrenterne

Teknisk attributglTF (Aktuel)GLBOBJFBX
FilarkitekturJSON-scenetekst + tilhørende .bin / teksturerEn enkelt selvstændig binær filVertices og flader i ren tekst + .mtlProprietær binær/ASCII-beholder
PBR-materialestandarderStandardiseret Metallic-Roughness PBRStandardiseret Metallic-Roughness PBRÆldre Phong/Lambert-materialerBrugerdefinerede proprietære materialer
AnimationsunderstøttelseSkeletskinning og morph-målSkeletskinning og morph-målIngen (kun statisk geometri)Kompleks animation og knogler
KørselsydelseOptimeret til WebGL og realtidsmotorerOptimeret til WebGL og realtidsmotorerKræver langsom parsing og genopbygningKræver kompleks desktop SDK-parsing

Almindelige korruptionstilstande og hex-gendannelsesvejledning

3D-motorfejl: 'Failed to load buffer: URI not found'.

Grundlæggende årsag: Den tilhørende .bin-binærfil eller teksturbilleder blev ikke uploadet sammen med .gltf-filen.

Gendannelse: Pak alle tilhørende filer sammen eller konverter direkte til en enkelt GLB-fil med File2File.app.

Sikkerhedsanalyse og parser-angrebsvektorer

glTF JSON-filer refererer til eksterne URI'er (data-URI'er eller fjern-URL'er), som kan udløse Server-Side Request Forgery (SSRF) eller path traversal.

Kendte angrebsvektorer

  • Sti-gennemløb via relative buffer-URI'er (f.eks. 'uri: ../../../etc/passwd').
  • SSRF via hentning af buffere fra eksterne netværk i serversidede 3D-miniaturegeneratorer.
  • Nægtelse af tjeneste gennem fejlformede cyklusser i rekursive nodehierarkier.

Defensive bedste praksisser: Tillad ikke eksterne URL'er og normaliser alle lokale buffer-URI-stier før indlæsning.

Historisk oprindelse og milepæle

2022glTF 2.0 opnår international ratificering som ISO/IEC 12113:2022.
2017Khronos Group frigiver glTF 2.0, som standardiserer Physically Based Rendering (PBR) som en kernefunktion.
2015glTF 1.0 annonceres på SIGGRAPH, udtænkt af Fabrice Robinet, Neil Trevett og Tony Parisi.

Vigtige fordele og styrker

  • Menneskelæsbar JSON-struktur muliggør programmerbar redigering, pipelineskripting og visuel inspektion.
  • Modulært design: adskiller lette sceneoplysninger fra tunge binære geometri- (.bin) og teksturdata.
  • PBR-materialer kan give mere ensartet visning, men resultatet afhænger af rendereren, belysningen og indstillingerne.

Tekniske begrænsninger og ulemper

  • Flerfilskompleksitet: Deling af en model kræver komprimering eller bundtning af .gltf-, .bin- og billedteksturer sammen.
  • Lidt langsommere indledende netværksopstart end enkeltfils GLB på grund af flere HTTP-anmodninger.
  • Relative stiforbindelser kan gå i stykker, hvis tilhørende teksturfiler omdøbes eller flyttes.

Interessante tekniske fakta

  • glTF har formelt fået kælenavnet 'JPEG for 3D', fordi det udelukkende fokuserer på kørselsfasens overførsel og visning frem for redigering.
  • Khronos Group introducerede glTF for at gøre overførsel af 3D-aktiver til web- og mobilapps enklere.
  • NASA leverer 3D-modeller af rovere, satellitter og astronauter til offentlig download i glTF-format.

Ofte stillede tekniske spørgsmål

Hvorfor mangler min glTF-fil sine farver eller former?

En .gltf-fil indeholder kun JSON-sceneinstruktionerne. Den er afhængig af tilhørende .bin-filer til de 3D-former og .png/.jpg-filer til farverne. Sørg for, at alle tilhørende filer er i den samme mappe.

Hvordan laver jeg en glTF-fil om til en enkelt GLB-fil?

Upload din .gltf-fil samt dens tilhørende .bin- og teksturfiler til File2File.app for at flette dem til en enkelt, selvstændig .glb-fil med det samme.

Hvilke programmer understøtter glTF?

Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot og Windows 3D Viewer understøtter glTF direkte ud af boksen.