glTF JSON (.gltf)

ISO/IEC Standard

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

Vali või lohista failid siia

100% privaatne konversioon brauseris - failid ei lahku kunagi sinu seadmest

või kleebi Ctrl+V
Null-võrguülekande privaatsusgarantii: 0 baiti laaditakse üles välistesse serveritesse. Kogu töötlemine toimub lokaalselt sinu brauseri liivakastis.

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 22

ASCII-ESITUS: {\n "asset"

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

Tehnilised andmed

Konteineri arhitektuurHuman-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers
TihendamineExternal textures (PNG, JPEG, WebP) and optional Draco geometry compression
Baitide järjekord (Endianness)UTF-8 JSON text (referencing Little-Endian .bin buffers)
VärviruumidsRGB base color, Linear roughness/metallic
Kanalid ja struktuurScene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets
Max mõõtmedUnbounded coordinate space and triangle count
LäbipaistvusAlpha mode BLEND, MASK with cutoff threshold, or volumetric transmission
Voogedastus ja progressiivsusAsynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background

Tehniline võrdlusmaatriks: glTF vs konkurendid

Tehniline atribuutglTF (Praegune)GLBOBJFBX
FailiarhitektuurJSON stseeni tekst + kaasnevad .bin / tekstuuridÜks iseseisev binaarfailLihttekstina tipud ja tahud + .mtlOmandil põhinev binaar- / ASCII-konteiner
PBR-materjali standardidStandardiseeritud Metallic-Roughness PBRStandardiseeritud Metallic-Roughness PBRPärand Phong/Lambert materjalidKohandatud omandil põhinevad materjalid
Animatsiooni tugiSkeletiga nahastus ja morfeerimiskujudSkeletiga nahastus ja morfeerimiskujudPuudub (ainult staatiline geomeetria)Keeruline animatsioon ja luud
Käitusaegne jõudlusOptimeeritud WebGL-i ja reaalajas mootorite jaoksOptimeeritud WebGL-i ja reaalajas mootorite jaoksNõuab aeglast parsimist ja ümberehitustNõ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

2022glTF 2.0 ratifitseeritakse rahvusvaheliselt standardina ISO/IEC 12113:2022.
2017Khronos Group annab välja glTF 2.0, mis standardiseerib füüsikalise renderduse (PBR) põhifunktsioonina.
2015glTF 1.0 kuulutatakse välja SIGGRAPH-il, mille lõid Fabrice Robinet, Neil Trevett ja Tony Parisi.

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.