glTF JSON (.gltf)
ISO/IEC 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.
Inspectează ș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 (Magic Bytes)
Sistemele de operare și analizatoarele de fișiere identifică fișierele glTF prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEX (OFFSET 0):
7B 0A 20 20 22 61 73 73 65 74 22REPREZENTARE ASCII: {\n "asset"
Standardizare: ISO/IEC 12113:2022 / Khronos Open Standard
Specificații tehnice
| Arhitectură container | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| Compresie | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| Endianitatea octeților | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| Spații de culoare | sRGB base color, Linear roughness/metallic |
| Canale și structură | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| Dimensiuni maxime | Unbounded coordinate space and triangle count |
| Transparență | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| Streaming și progresiv | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
Matrice de comparație tehnică: glTF vs Competitori
| 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: „Failed to load buffer: URI not found".
Cauză principală: Fișierul binar însoțitor .bin sau imaginile textură nu au fost încărcate alături de fișierul .gltf.
Recuperare: Împachetați toate fișierele însoțitoare împreună sau convertiți-le direct într-un singur fișier GLB cu File2File.
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 de buffere de rețea la distanță în generatorii de miniaturi 3D rulați pe server.
- Refuz de serviciu prin cicluri malformate în ierarhia recursivă de noduri.
Cele mai bune practici de securitate:
Origini istorice și repere
Avantaje cheie și beneficii
- Structura JSON citibilă de către om permite editarea programatică, scriptingul pentru fluxul de lucru și inspecția vizuală.
- Design modular: separă metadatele ușoare ale scenei de geometria binară grea (.bin) și de texturi.
- Definiția materialului bazat fizic (PBR) asiguă că activele 3D arată identic în toate motoarele de randare.
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 rulaării, mai degrabă decât pe creare.
- Formatul a fost co-fondat de Tony Parisi, care a co-creat VRML (Virtual Reality Modeling Language) în 1994.
- 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 de scenă JSON. El se bazează pe fișiere .bin însoțitoare pentru formele 3D și pe fișiere .png/.jpg pentru culori. Asigurați-vă că toate fișierele însoțitoare sunt în același folder.
Cum transform un fișier glTF într-un singur fișier GLB?
Încărcați fișierul .gltf împreună cu fișierele însoțitoare .bin și de texturi în File2File.app pentru a le îmbina instantaneu î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 din cutie.
Perechi de conversie glTF conexe
Conversia activelor glTF JSON în containere glTF Binary împachetează manifeste text separate, tampoane 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 de active separate, permițând dezvoltatorilor să editeze cu ușurință texturile și codul geometriei 3D.
Conversia fișierelor geometrice Wavefront OBJ în manifeste glTF JSON modernizează modelele 3D statice în active pregătite pentru web, care se încarcă instantaneu în browserele web standard.