glTF JSON (.gltf)

ISO/IEC Standartinis

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

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

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 22

ASCII ATVAIZDAVIMAS: {\n "asset"

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

Techninės specifikacijos

Konteinerio architektūraHuman-readable JSON document describing scene graph, nodes, meshes, accessors, materials, and animations, referencing external buffers
GlaudinimasExternal textures (PNG, JPEG, WebP) and optional Draco geometry compression
Baitų seka (Endianness)UTF-8 JSON text (referencing Little-Endian .bin buffers)
Spalvų erdvėssRGB base color, Linear roughness/metallic
Kanalai ir struktūraScene hierarchy, nodes, cameras, PBR materials, skinning skeletons, and morph targets
Maksimalūs matmenysUnbounded coordinate space and triangle count
SkaidrumasAlpha mode BLEND, MASK with cutoff threshold, or volumetric transmission
Srautas ir progresyvusis įkėlimasAsynchronous loading: scene JSON loads instantly while heavy binary buffers stream in background

Techninė palyginimo matrica: glTF vs konkurentai

Techninis atributasglTF (Dabartinis)GLBOBJFBX
Failo architektūraJSON scenos tekstas + gretutinis .bin / tekstūrosVienas savaime sukomplektuotas dvejetainis failasPaprasto teksto viršūnės ir briaunos + .mtlPatentinis dvejetainis / ASCII konteineris
PBR medžiagų standartaiStandartizuota Metallic-Roughness PBRStandartizuota Metallic-Roughness PBRPasenusios Phong/Lambert medžiagosPasirinktinės patentinės medžiagos
Animacijos palaikymasSkeletinis odavimas ir morfologiniai taikiniai (morph targets)Skeletinis odavimas ir morfologiniai taikiniaiNėra (tik statinė geometrija)Sudėtinga animacija ir kaulai
Našumas vykdymo metuOptimizuota WebGL ir realiojo laiko varikliamsOptimizuota WebGL ir realiojo laiko varikliamsReikalauja lėto analizavimo ir atstatymoReikalauja 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

2022glTF 2.0 sulaukia tarptautinio patvirtinimo kaip ISO/IEC 12113:2022.
2017„Khronos Group" išleidžia glTF 2.0, standartizuodama fiziškai pagrįstą atvaizdavimą (PBR) kaip pagrindinę funkciją.
2015SIGGRAPH konferencijoje anonsuojamas glTF 1.0, kurį sugalvojo Fabrice Robinet, Neil Trevett ir Tony Parisi.

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.