glTF JSON (.gltf)
ISO/IEC StandardGL Transmission Format (glTF) on avatud standardiga, autoritasuta JSON-spetsifikatsioon 3D-stseenide ja -mudelite tõhusaks edastamiseks ning laadimiseks WebGL-i, WebGPU, mängumootorite ja omarakenduste poolt.
Teisenda formaadist GLTF formaati GLB
Tasuta GLTF -> GLB konverter brauseris. Teisenda faile koheselt oma seadmes.
Kontrolli ja metaandmed
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad glTF faile, kontrollides algset binaarset baidijada:
Baidi-taseme päise allkiri (maagilised baidid)
Operatsioonisüsteemid ja failianalüsaatorid tuvastavad glTF faile, kontrollides algset binaarset baidijada:
HEX-ALLKIRI (NIHE 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII-ESITUS: {\n "asset"
Standardiseerimine: ISO/IEC 12113:2022 / Khronos Open Standard
Tehnilised andmed
| Konteineri arhitektuur | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| Tihendamine | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| Baitide järjekord (Endianness) | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| Värviruumid | sRGB base color, Linear roughness/metallic |
| Kanalid ja struktuur | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| Max mõõtmed | Unbounded coordinate space and triangle count |
| Läbipaistvus | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| Voogedastus ja progressiivsus | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
Tehniline võrdlusmaatriks: glTF vs konkurendid
| Tehniline atribuut | glTF (Praegune) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Failiarhitektuur | JSON stseeni tekst + kaasnevad .bin / tekstuurid | Üks iseseisev binaarfail | Lihttekstina tipud ja tahud + .mtl | Omandil põhinev binaar- / ASCII-konteiner |
| PBR-materjali standardid | Standardiseeritud Metallic-Roughness PBR | Standardiseeritud Metallic-Roughness PBR | Pärand Phong/Lambert materjalid | Kohandatud omandil põhinevad materjalid |
| Animatsiooni tugi | Skeletiga nahastus ja morfeerimiskujud | Skeletiga nahastus ja morfeerimiskujud | Puudub (ainult staatiline geomeetria) | Keeruline animatsioon ja luud |
| Käitusaegne jõudlus | Optimeeritud WebGL-i ja reaalajas mootorite jaoks | Optimeeritud WebGL-i ja reaalajas mootorite jaoks | Nõuab aeglast parsimist ja ümberehitust | Nõuab keerulist lauaarvuti SDK parsimist |
Levinud riknemisvead ja heksataaste juhend
3D-mootori tõrge: „Failed to load buffer: URI not found" (Puhvri laadimine ebaõnnestus: URI-d ei leitud).
Juurpõhjus: Kaasnevat .bin binaarfaili või tekstuuripilte ei laaditud üles koos .gltf-failiga.
Taastamine: Pakendage kõik kaasnevad failid kokku või teisendage File2File abil otse üheks GLB-failiks.
Turvaanalüüs ja parsimisründevektorid
glTF JSON-failid viitavad välistele URI-dele (andmete URI-d või kaug-URL-id), mis võivad käivitada serveripoolse päringuvõltsimise (SSRF) või tee läbimise (path traversal).
Teadaolevad ründavektorid
- Tee läbimine suhteliste puhvri URI-de kaudu (nt 'uri: ../../../etc/passwd').
- SSRF kaugvõrgu puhvrite püüdmise kaudu serveripoolsetes 3D-pisipiltide generaatorites.
- Teenusetõkestusrünne vigaste rekursiivsete sõlmehierarhia tsüklite kaudu.
Kaitsealased parimad tavad:
Ajalooline taust ja verstapostid
Peamised eelised
- Inimloetav JSON-struktuur võimaldab programmiliselt redigeerida, skriptida konveiereid ja visuaalselt kontrollida.
- Modulaarne disain: eraldab kerge stseeni metaandmed raskest binaargeomeetriast (.bin) ja tekstuuridest.
- Füüsikalise renderduse (PBR) materjali määratlus tagab, et 3D-varad näevad kõigis renderdusmootorites identsed välja.
Tehnilised piirangud ja puudused
- Mitme faili keerukus: mudeli jagamine nõuab .gltf, .bin ja pilditekstuuride kokkupakkimist või komplekteerimist.
- Veidi aeglasem esialgne võrgukäivitus võrreldes ühefaililise GLB-ga mitme HTTP-päringu tõttu.
- Suhtelise tee sõltuvused võivad katkeda, kui kaasnevaid tekstuurifaile nimetatakse ümber või liigutatakse.
Huvitavaid tehnilisi fakte
- glTF-i kutsutakse ametliku hüüdnimega „3D-vormingu JPEG", kuna see keskendub rangelt käitusaegsele edastamisele ja kuvamisele, mitte loomisele.
- Vormingu kaasasutaja on Tony Parisi, kes lõi 1994. aastal koos VRML-i (Virtual Reality Modeling Language).
- NASA pakub avalikuks allalaadimiseks roverite, satelliitide ja astronautide 3D-mudeleid glTF-vormingus.
Korduma kippuvad tehnilised küsimused
Miks minu glTF-failil puuduvad värvid või kujundid?
.gltf-fail sisaldab ainult JSON-stseeni juhiseid. See tugineb 3D-kujundite puhul kaasnevatele .bin-failidele ja värvide puhul .png/.jpg-failidele. Veenduge, et kõik kaasnevad failid on samas kaustas.
Kuidas muuta glTF-fail üheks GLB-failiks?
Laadige oma .gltf ning selle kaasnevad .bin- ja tekstuurifailid üles lehele File2File.app, et liita need koheselt üheks iseseisvaks .glb-failiks.
Millised programmid toetavad glTF-i?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot ja Windows 3D Viewer toetavad glTF-i karbist välja.
Seotud glTF teisenduspaarid
glTF JSON-varade teisendamine glTF Binary konteineriteks pakendab eraldiseisvad tekstmanifestid, binaarpuhvrid ja tekstuurid üheks failiks, et tagada kiirem veebiedastus.
GLB teisendamine GLTF-vormingusse lahutab ühe binaarse konteineri eraldi teksti- ja varafailideks, et arendajad saaksid hõlpsasti tekstuure ja 3D-geomeetria koodi muuta.
Wavefront OBJ geomeetriliste failide teisendamine glTF JSON manifestideks kaasajastab staatilised 3D-mudelid veebivalmis varadeks, mis laadivad standardsetes veebibrauserites koheselt.