glTF JSON (.gltf)
Standard StandardGL Transmission Format (glTF) este specificația JSON standard deschisă, fără redevențe, pentru transmisia și încărcarea eficientă a scenelor și modelelor 3D de către WebGL, WebGPU, motoare de jocuri și aplicații native.
Convertește din GLTF în GLB
Convertor gratuit din GLTF în GLB direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectare și metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele glTF prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele glTF prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):
7B 0A 20 20 22 61 73 73 65 74 22REPREZENTARE ASCII: {\n "asset"
Standardizare: Standard deschis Khronos / ISO/IEC 12113:2022
Specificații tehnice
| Arhitectură container | Document JSON lizibil care descrie graful scenei, nodurile, rețelele, accessorii, materialele și animațiile și face referire la buffere externe |
| Compresie | Texturi externe (PNG, JPEG, WebP) și compresie opțională a geometriei cu Draco |
| Ordinea octeților | Text JSON UTF-8 (cu referințe la bufferele .bin Little-Endian) |
| Spații de culoare | Culoare de bază sRGB, Rugozitate/metallicitate liniară |
| Canale și structură | Ierarhia scenei, noduri, camere, materiale PBR, schelete cu skinning și ținte de morfologie |
| Dimensiuni maxime | Spațiu de coordonate și număr de triunghiuri nelimitate |
| Transparență | Mod alfa BLEND, MASK cu prag de tăiere sau transmisie volumetrică |
| Streaming și progresiv | glTF separă descrierile scenei de datele binare ale geometriei și texturilor, astfel încât vizualizatorul poate încărca componentele când este nevoie, fără să aștepte un singur fișier monolitic. |
Matrice de comparație tehnică: glTF vs. concurenți
| Atribut tehnic | glTF (Curent) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Arhitectura fișierului | Text scenă JSON + .bin / texturi însoțitoare | Un singur fișier binar autonom | Vârfuri și fețe text simplu + .mtl | Container binar/ASCII proprietar |
| Standarde de materiale PBR | Metallic-Roughness PBR standardizat | Metallic-Roughness PBR standardizat | Materiale clasice Phong/Lambert | Materiale personalizate proprietare |
| Suport pentru animație | Skinning scheletic și ținte de morfologie (morph targets) | Skinning scheletic și ținte de morfologie | Niciunul (doar geometrie statică) | Animație complexă și oase |
| Performanță la rulare | Optimizat pentru WebGL și motoare în timp real | Optimizat pentru WebGL și motoare în timp real | Necesită analiză și reconstrucție lentă | Necesită analiză complexă prin SDK desktop |
Moduri comune de corupție și ghid de recuperare hexazecimală
Eroare în motorul 3D: „Nu s-a putut încărca bufferul: URI-ul nu a fost găsit”.
Cauză principală: Fișierul binar însoțitor .bin sau imaginile textură nu au fost încărcate alături de fișierul .gltf.
Recuperare: Împachetează toate fișierele însoțitoare la un loc sau convertește-le direct într-un singur fișier GLB cu File2File.app.
Analiză de securitate și vectori de atac asupra parserului
Fișierele JSON glTF fac referire la URI-uri externe (URI-uri de date sau URL-uri la distanță) care pot declanșa falsificare de cereri pe server (SSRF) sau accesare neautorizată de directoare (path traversal).
Vectori de atac cunoscuți
- Accesare neautorizată de directoare prin URI-uri de buffer relative (de ex. 'uri: ../../../etc/passwd').
- SSRF prin preluarea la distanță a bufferelor de rețea în generatoarele de miniaturi 3D rulate pe server.
- Refuz de serviciu prin cicluri malformate în ierarhia recursivă de noduri.
Cele mai bune practici de securitate: Nu permite URL-uri la distanță și normalizează toate căile URI ale bufferelor locale înainte de încărcare.
Origini istorice și repere
Avantaje cheie și beneficii
- Structura JSON citibilă de către om permite editarea programatică, scrierea de scripturi pentru fluxul de lucru și inspecția vizuală.
- Design modular: separă metadatele ușoare ale scenei de geometria binară grea (.bin) și de texturi.
- Materialele PBR pot îmbunătăți consecvența, dar rezultatul depinde de motorul de randare, iluminare și setări.
Limitări tehnice și dezavantaje
- Complexitate cu fișiere multiple: partajarea unui model necesită arhivarea (zip) sau pachetarea fișierelor .gltf, .bin și a texturilor imagine împreună.
- Pornire inițială în rețea ușor mai lentă decât în cazul fișierului unic GLB din cauza multiplelor solicitări HTTP.
- Dependențele de căi relative se pot întrerupe dacă fișierele de textură însoțitoare sunt denumite diferit sau mutate.
Curiozități tehnice interesante
- glTF este poreclit oficial „JPEG-ul 3D" deoarece se concentrează strict pe transmisia și afișarea în timpul rulării, mai degrabă decât pe creare.
- Grupul Khronos a introdus glTF pentru a simplifica transmiterea resurselor 3D în aplicații web și mobile.
- NASA oferă modele 3D de rovere, sateliți și astronauți pentru descărcare publică în format glTF.
Întrebări tehnice frecvente
De ce îi lipsesc fișierului meu glTF culorile sau formele?
Un fișier .gltf conține doar instrucțiunile JSON ale scenei. Pentru formele 3D are nevoie de fișiere .bin însoțitoare, iar pentru culori, de fișiere .png/.jpg. Asigură-te că toate fișierele însoțitoare se află în același dosar.
Cum transform un fișier glTF într-un singur fișier GLB?
Încarcă fișierul .gltf și fișierele .bin și de texturi însoțitoare în File2File.app ca să le îmbini imediat într-un singur fișier .glb autonom.
Ce programe acceptă glTF?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot și Windows 3D Viewer acceptă glTF nativ.
Perechi de conversie glTF conexe
Conversia activelor glTF JSON în containere glTF Binary împachetează manifeste text separate, zone tampon binare și texturi într-un singur fișier pentru o livrare web mai rapidă.
Conversia din GLB în GLTF descompune un singur container binar în fișiere text și fișiere cu active separate, permițând dezvoltatorilor să editeze cu ușurință texturile și codul geometriei 3D.
Conversia geometriei din fișiere Wavefront OBJ în manifeste glTF JSON modernizează modelele 3D statice, transformându-le în resurse web care se încarcă rapid în browserele obișnuite.