glTF JSON (.gltf)
ISO/IEC StandaardGL Transmission Format (glTF) is een royaltyvrije JSON-specificatie volgens een open standaard voor efficiënte overdracht en het laden van 3D-scènes en -modellen door WebGL, WebGPU, game-engines en native toepassingen.
GLTF naar GLB converteren
Gratis GLTF-naar-GLB-converter in uw browser. Converteer bestanden direct op uw apparaat.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen glTF-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen glTF-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII-WEERGAVE: {\n "asset"
Standaardisatie: ISO/IEC 12113:2022 / Khronos Open Standard
Technische specificaties
| Containerarchitectuur | Voor mensen leesbaar JSON-document dat scènegraaf, knooppunten, meshes, accessors, materialen en animaties beschrijft en verwijst naar externe buffers |
| Compressie | Externe texturen (PNG, JPEG, WebP) en optionele Draco-geometriecompressie |
| Bytevolgorde (endianness) | UTF-8 JSON-tekst (met verwijzing naar Little-Endian .bin-buffers) |
| Kleurruimten | sRGB-basiskleur, Lineaire ruwheid/metallic |
| Kanalen en structuur | Scènehiërarchie, knooppunten, camera's, PBR-materialen, skinning-skeletten en morphtargets |
| Maximale afmetingen | Onbegrensde coördinatenruimte en aantal driehoeken |
| Transparantie | Alfamodus BLEND, MASK met een afkapdrempel of volumetrische transmissie |
| Streaming en progressief | glTF scheidt scènebeschrijvingen van binaire geometrie- en textuurgegevens. Daardoor kan een viewer onderdelen laden zodra dat nodig is, zonder te wachten op één monolithisch bestand. |
Technische vergelijkingsmatrix: glTF versus concurrenten
| Technisch kenmerk | glTF (Huidig) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Bestandsarchitectuur | JSON-scènetekst + bijbehorende .bin-bestanden en texturen | Enkel op zichzelf staand binair bestand | Hoekpunten en vlakken in platte tekst + .mtl | Propriëtaire binaire/ASCII-container |
| PBR-materiaalstandaarden | Gestandaardiseerde Metallic-Roughness-PBR | Gestandaardiseerde Metallic-Roughness-PBR | Verouderde Phong/Lambert-materialen | Aangepaste propriëtaire materialen |
| Animatie-ondersteuning | Skeletanimatie met skinning en morph targets | Skeletanimatie met skinning en morph targets | Geen (alleen statische geometrie) | Complexe animatie en botten |
| Runtime-prestaties | Geoptimaliseerd voor WebGL en realtime-engines | Geoptimaliseerd voor WebGL en realtime-engines | Vereist trage verwerking en heropbouw | Vereist complexe verwerking met een desktop-SDK |
Veelvoorkomende beschadigingen en gids voor hex-herstel
3D-enginefout: 'Failed to load buffer: URI not found'.
Oorzaak: Het bijbehorende binaire .bin-bestand of de textuurafbeeldingen zijn niet samen met het .gltf-bestand geüpload.
Herstel: Verpak alle bijbehorende bestanden samen of converteer ze rechtstreeks naar één GLB-bestand met File2File.app.
Beveiligingsanalyse en aanvalsvectoren voor parsers
glTF-JSON-bestanden verwijzen naar externe URI's (data-URI's of externe URL's) die kunnen leiden tot Server-Side Request Forgery (SSRF) of path traversal.
Bekende aanvalsvectoren
- Path traversal via relatieve buffer-URI's (bijv. 'uri: ../../../etc/passwd').
- SSRF via het ophalen van buffers van externe netwerken in server-side 3D-miniatuurgeneratoren.
- Denial of service door verkeerd gevormde, cyclische knooppunthiërarchieën.
Aanbevolen beveiligingspraktijken: Sta externe URL's niet toe en normaliseer alle lokale buffer-URI-paden voordat u ze laadt.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Dankzij de voor mensen leesbare JSON-structuur zijn programmatische bewerking, scripts voor pijplijnen en visuele inspectie mogelijk.
- Modulair ontwerp: scheidt lichtgewicht scènemetadata van omvangrijke binaire geometrie (.bin) en texturen.
- Physically Based Rendering (PBR)-materialen kunnen de visuele consistentie verbeteren, maar resultaten variëren nog steeds per renderer, belichting en instellingen.
Technische beperkingen
- Complexiteit door meerdere bestanden: om een model te delen, moeten de .gltf-, .bin- en afbeeldingsbestanden met texturen samen worden ingepakt in een ZIP-bestand of bundel.
- Iets langzamere initiële netwerkopstart dan een enkel GLB-bestand vanwege meerdere HTTP-verzoeken.
- Afhankelijkheden van relatieve paden kunnen breken als bijbehorende textuurbestanden worden hernoemd of verplaatst.
Interessante technische weetjes
- glTF heeft officieel de bijnaam 'de JPEG van 3D', omdat het zich strikt richt op overdracht en weergave tijdens runtime in plaats van op het maken van modellen.
- De Khronos Group introduceerde glTF om de overdracht van 3D-assets voor web- en mobiele applicaties te stroomlijnen.
- NASA biedt 3D-modellen van rovers, satellieten en astronauten aan om te downloaden in glTF-formaat.
Veelgestelde technische vragen
Waarom ontbreken de kleuren of vormen in mijn glTF-bestand?
Een .gltf-bestand bevat alleen de JSON-scène-instructies. Het is afhankelijk van bijbehorende .bin-bestanden voor de 3D-vormen en .png/.jpg-bestanden voor de kleuren. Zorg ervoor dat alle bijbehorende bestanden zich in dezelfde map bevinden.
Hoe zet ik een glTF-bestand om naar een enkel GLB-bestand?
Open uw .gltf-bestand en de bijbehorende .bin- en textuurbestanden in File2File.app om ze direct samen te voegen tot één zelfstandig .glb-bestand.
Welke programma's ondersteunen glTF?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot en Windows 3D Viewer ondersteunen glTF standaard.
Gerelateerde conversieparen voor glTF
Het converteren van glTF JSON-assets naar glTF Binary-containers verpakt afzonderlijke tekstmanifesten, binaire buffers en texturen in één bestand voor snellere levering via het web.
Het converteren van GLB naar GLTF pakt één binaire container uit in afzonderlijke tekst- en assetbestanden, zodat ontwikkelaars eenvoudig texturen en 3D-geometriecode kunnen bewerken.
Het converteren van Wavefront OBJ-geometriebestanden naar glTF JSON-manifesten maakt statische 3D-modellen klaar voor het web, zodat ze snel laden in standaardwebbrowsers.