glTF JSON (.gltf)
ISO/IEC StandardGL Transmission Format (glTF) je odprt standardni specifikacijski format JSON brez licenčnin za učinkovit prenos in nalaganje 3D-prizorov ter modelov prek WebGL, WebGPU, igralnih pogonov in domačih aplikacij.
Pretvori GLTF v GLB
Brezplačen pretvornik iz GLTF v GLB v brskalniku. Pretvorite datoteke takoj v svoji napravi.
Pregled in metapodatki
Operacijski sistemi in analizatorji datotek identificirajo datoteke glTF s pregledom vodilnega binarnega zaporedja bajtov:
Podpis glave na ravni bajtov (Čarobni bajti)
Operacijski sistemi in analizatorji datotek identificirajo datoteke glTF s pregledom vodilnega binarnega zaporedja bajtov:
PODPIS HEX (ZAMIK 0):
7B 0A 20 20 22 61 73 73 65 74 22REPREZENTACIJA ASCII: {\n "asset"
Standardizacija: ISO/IEC 12113:2022 / Khronos Open Standard
Tehnične specifikacije
| Arhitektura vsebnika | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| Stiskanje | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| Vrstni red bajtov | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| Barvni prostori | sRGB base color, Linear roughness/metallic |
| Kanali in struktura | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| Največje dimenzije | Unbounded coordinate space and triangle count |
| Prosojnost | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| Pretočno in progresivno predvajanje | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
Tehnična primerjalna matrika: glTF proti konkurenci
| Tehnični atribut | glTF (Trenutno) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Arhitektura datoteke | Besedilo prizora JSON + spremljevalne datoteke .bin / teksture | Ena sama samodujoča binarna datoteka | Gola besedilna oglišča in ploskve + .mtl | Lastniški binarni/ASCII vsebnik |
| Standardi materialov PBR | Standardiziran Metallic-Roughness PBR | Standardiziran Metallic-Roughness PBR | Starejši materiali Phong/Lambert | Uporabniški lastniški materiali |
| Podpora za animacijo | Skeletno preoblikovanje (skinning) in cilji preoblikovanja (morph targets) | Skeletno preoblikovanje (skinning) in cilji preoblikovanja (morph targets) | Brez (samo statična geometrija) | Zapletena animacija in kosti |
| Zmogljivost med izvajanjem | Optimizirano za WebGL in pogone v realnem času | Optimizirano za WebGL in pogone v realnem času | Zahteva počasno razčlenjevanje in obnovo | Zahteva zapleteno razčlenjevanje namiznega SDK |
Pogosti načini okvar in vodič za heksadecimalno obnovo
Napaka 3D-pogona: 'Failed to load buffer: URI not found'.
Glavni vzrok: Spremljevalna binarna datoteka .bin ali slikovne teksture niso bile naložene poleg datoteke .gltf.
Sanacija: Zapakirajte vse spremljevalne datoteke skupaj ali jih neposredno pretvorite v eno samo datoteko GLB sorojem File2File.
Varnostna analiza in napadalni vektorji razčlenjevalnika
Datoteke glTF JSON se sklicujejo na zunanje naslove URI (podatkovni URI ali oddaljeni URL-ji), kar lahko sproži ponarejanje zahtevkov na strani strežnika (SSRF) ali prehod po poti (path traversal).
Znani vektorji napada
- Prehod po poti prek relativnih naslovov URI medpomnilnika (npr. 'uri: ../../../etc/passwd').
- SSRF prek oddaljenega pridobivanja medpomnilnika omrežja v generatorjih 3D-sličic na strani strežnika.
- Zavrnitev storitve prek nepravilnih rekurzivnih ciklov hiearhije vozlišč.
Obrambne najboljše prakse:
Zgodovinski izvor in mejniki
Ključne prednosti
- Berljiva struktura JSON omogoča programsko urejanje, pisanje skriptov za cevovode in vizualni pregled.
- Modularna zasnova: ločuje lahke metapodatke prizora od težke binarne geometrije (.bin) in tekstur.
- Definicija materiala s fizičnim upodabljanjem (PBR) zagotavlja, da so 3D-sredstva videti enako v vseh upodabljalnih pogonih.
Tehnične omejitve in slabosti
- Zapletenost več datotek: skupna raba modela zahteva arhiviranje v ZIP ali združevanje datotek .gltf, .bin in slikovnih tekstur skupaj.
- Nekoliko počasnejši začetni zagon omrežja kot pri enodatotečnem GLB zaradi več zahtev HTTP.
- Odvisnosti od relativnih poti se lahko pokvarijo, če so datoteke spremljevalnih tekstur preimenovane ali premaknjene.
Zanimive tehnične malenkosti
- glTF nosi uradni vzdevek 'JPEG za 3D', ker se osredotoča izključno na prenos in prikaz med izvajanjem namesto na samo ustvarjanje.
- Format je soustanovil Tony Parisi, ki je soustvaril tudi VRML (Virtual Reality Modeling Language) leta 1994.
- NASA ponuja 3D-modele roverjev, satelitov in astronavtov v javni prenos v formatu glTF.
Pogosta tehnična vprašanja
Zakaj v moji datoteki glTF manjkajo barve ali oblike?
Datoteka .gltf vsebuje samo navodila za prizore JSON. Za 3D oblike se zanaša na spremljevalne datoteke .bin, za barve pa na datoteke .png/.jpg. Prepričajte se, da so vse spremljevalne datoteke v isti mapi.
Kako spremenim datoteko glTF v eno samo datoteko GLB?
Naložite svojo datoteko .gltf ter njene spremljevalne datoteke .bin in teksture v File2File.app, da jih takoj združite v eno samo, samozadostno datoteko .glb.
Kateri programi podpirajo glTF?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot in Windows 3D Viewer podpirajo glTF že takoj po namestitvi.
Sorodni pari pretvorbe za glTF
Pretvorba virov glTF JSON v vsebnike glTF Binary združi ločene besedilne manifestne datoteke, binarne medpomnilnike in teksture v eno samo datoteko za hitrejšo spletno dostavo.
Pretvorba iz GLB v GLTF razdeli enoten binarni vsebnik v ločene datoteke z besedilom in sredstvi, kar razvijalcem omogoča enostavno urejanje tekstur in kode 3D-geometrije.
Pretvorba datotek z geometrijo Wavefront OBJ v manifeste glTF JSON posodablja statične 3D-modele v sredstva, pripravljena za splet, ki se takoj naložijo v standardnih spletnih brskalnikih.