glTF JSON (.gltf)
ISO/IEC StandartinisGL perdavimo formatas (glTF) yra atviras standartinis, beautorinių honorarų reikalaujantis JSON specifikacijos formatas, skirtas efektyviam 3D scenų ir modelių perdavimui bei įkėlimui per WebGL, WebGPU, žaidimų variklius ir vietines programas.
Konvertuoti GLTF į GLB
Nemokamas GLTF į GLB konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.
Tikrinti ir metaduomenys
Operacinės sistemos ir failų analizatoriai atpažįsta glTF failus tikrindami pradinę dvejetainę baitų seką:
Baitų lygio antraštės parašas (magiškieji baitai)
Operacinės sistemos ir failų analizatoriai atpažįsta glTF failus tikrindami pradinę dvejetainę baitų seką:
ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII ATVAIZDAVIMAS: {\n "asset"
Standartizacija: ISO/IEC 12113:2022 / Khronos Open Standard
Techninės specifikacijos
| Konteinerio architektūra | Human-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers |
| Glaudinimas | External textures (PNG, JPEG, WebP) and optional Draco geometry compression |
| Baitų seka (Endianness) | UTF-8 JSON text (referencing Little-Endian .bin buffers) |
| Spalvų erdvės | sRGB base color, Linear roughness/metallic |
| Kanalai ir struktūra | Scene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets |
| Maksimalūs matmenys | Unbounded coordinate space and triangle count |
| Skaidrumas | Alpha mode BLEND, MASK with cutoff threshold, or volumetric transmission |
| Srautas ir progresyvusis įkėlimas | Asynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background |
Techninė palyginimo matrica: glTF vs konkurentai
| Techninis atributas | glTF (Dabartinis) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Failo architektūra | JSON scenos tekstas + gretutinis .bin / tekstūros | Vienas savaime sukomplektuotas dvejetainis failas | Paprasto teksto viršūnės ir briaunos + .mtl | Patentinis dvejetainis / ASCII konteineris |
| PBR medžiagų standartai | Standartizuota Metallic-Roughness PBR | Standartizuota Metallic-Roughness PBR | Pasenusios Phong/Lambert medžiagos | Pasirinktinės patentinės medžiagos |
| Animacijos palaikymas | Skeletinis odavimas ir morfologiniai taikiniai (morph targets) | Skeletinis odavimas ir morfologiniai taikiniai | Nėra (tik statinė geometrija) | Sudėtinga animacija ir kaulai |
| Našumas vykdymo metu | Optimizuota WebGL ir realiojo laiko varikliams | Optimizuota WebGL ir realiojo laiko varikliams | Reikalauja lėto analizavimo ir atstatymo | Reikalauja sudėtingo darbalaukio SDK analizavimo |
Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas
3D variklio klaida: „Nepavyko įkelti buferio: URI nerastas" (Failed to load buffer: URI not found).
Pirminė priežastis: Gretutinis .bin dvejetainis failas arba tekstūros vaizdai nebuvo įkelti kartu su .gltf failu.
Atkūrimas: Supakuokite visus gretutinius failus kartu arba tiesiogiai konvertuokite į vieną GLB failą naudodami „File2File".
Saugumo analizė ir analizatoriaus atakos vektoriai
glTF JSON failai nurodo išorinius URI (duomenų URI arba nuotolinius URL), kurie gali sukelti serverio pusės užklausų klastojimą (SSRF) arba kelio naršymo (path traversal) pažeidžiamumus.
Žinomi atakos vektoriai
- Kelio naršymas naudojant santykinius buferio URI (pvz., „uri: ../../../etc/passwd").
- SSRF ataka per nuotolinio tinklo buferio gavimą serverio pusėje veikiančiuose 3D miniatiūrų generatoriuose.
- Paslaugų trikdžiai (DoS) per suformuotas rekursyvias mazgų hierarchijos ciklų struktūras.
Geriausia apsaugos praktika:
Istorinė kilmė ir svarbiausi etapai
Pagrindiniai privalumai
- Žmogaus skaitoma JSON struktūra leidžia programuojamu būdu redaguoti, kurti konvejerio scenarijus ir vizualiai tikrinti.
- Modulinis dizainas: atskiria lengvus scenos metaduomenis nuo sunkios dvejetainės geometrijos (.bin) ir tekstūrų.
- Fiziškai pagrįsto atvaizdavimo (PBR) medžiagos apibrėžimas užtikrina, kad 3D elementai atrodytų identiškai visuose atvaizdavimo varikliuose.
Techniniai apribojimai ir trūkumai
- Kelių failų sudėtingumas: bendrinant modelį reikia suarchyvuoti į ZIP arba kartu sugrupuoti .gltf, .bin ir vaizdo tekstūras.
- Šiek tiek lėtesnis pradinis tinklo paleidimas nei vieno failo GLB atveju dėl daugybės HTTP užklausų.
- Santykinio kelio priklausomybės gali sugesti, jei gretutiniai tekstūrų failai pervadinami arba perkeliami.
Įdomūs techniniai faktai
- glTF formaliai pravardžiuojamas „3D formatų JPEG", nes jis griežtai orientuotas į perdavimą ir rodymą vykdymo metu, o ne į kūrimą.
- Formato bendraautorius yra Tony Parisi, 1994 metais kartu sukuręs VRML (Virtualiosios realybės modeliavimo kalbą).
- NASA viešam atsisiuntimui glTF formatu pateikia marsaeigių, palydovų ir astronautų 3D modelius.
Dažniausiai užduodami techniniai klausimai
Kodėl mano glTF faile trūksta spalvų arba formų?
.gltf faile yra tik JSON scenos instrukcijos. Jis remiasi papildomais .bin failais 3D formoms ir .png/.jpg failais spalvoms gauti. Įsitikinkite, kad visi papildomi failai yra tame pačiame aplanke.
Kaip paversti glTF failą į vieną GLB failą?
Įkelkite savo .gltf kartu su papildomais .bin ir tekstūros failais į File2File.app, kad akimirksniu sujungtumėte juos į vieną, autonominį .glb failą.
Kokios programos palaiko glTF?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot ir „Windows 3D Viewer“ palaiko glTF tiesiogiai.
Susijusios glTF konvertavimo poros
glTF JSON išteklių konvertavimas į glTF Binary konteinerius sujungia atskirus teksto manifestus, dvejetainius buferius ir tekstūras į vieną failą, kad būtų galima greičiau pristatyti žiniatinklyje.
GLB konvertavimas į GLTF išskleidžia vieną dveinarį konteinerį į atskirus teksto ir turto failus, kad kūrėjai galėtų lengvai redaguoti tekstūras ir 3D geometrijos kodą.
Wavefront OBJ geometrijos failų konvertavimas į glTF JSON manifestus modernizuoja statinius 3D modelius į internetui paruoštus išteklius, kurie akimirksniu įkeliami standartinėse naršyklėse.