glTF JSON (.gltf)

ISO/IEC Standard

GL Transmission Format (glTF) je otvorena, besplatna JSON specifikacija za efikasan prenos i učitavanje 3D scena i modela u WebGL-u, WebGPU-u, gejming endžinima i izvornim aplikacijama.

Konvertujte GLTF u GLB

Besplatan konvertor GLTF u GLB u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju glTF datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju glTF datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

7B 0A 20 20 22 61 73 73 65 74 22

ASCII REPREZENTACIJA: {\n "asset"

Standardizacija: ISO/IEC 12113:2022 / otvoreni standard Khronos grupe

Tehničke specifikacije

Arhitektura kontejneraČitljiv JSON dokument koji opisuje graf scene, čvorove, mreže, accessors, materijale i animacije, a upućuje na spoljne bafere
KompresijaSpoljne teksture (PNG, JPEG, WebP) i opciona Draco kompresija geometrije
Bajtni redosled (Endianness)UTF-8 JSON tekst (koji upućuje na .bin bafere sa little-endian redosledom bajtova)
Prostori bojasRGB osnovna boja, Linearna hrapavost/metalnost
Kanali i strukturaHijerarhija scene, čvorovi, kamere, PBR materijali, skeleti za skinning i ciljevi morfinga
Maksimalne dimenzijeNeograničen koordinatni prostor i broj trouglova
TransparentnostAlfa režim BLEND, MASK sa pragom odsecanja ili volumetrijski prenos
Strimovanje i progresivno učitavanjeglTF razdvaja opise scene od binarnih podataka geometrije i tekstura, pa pregledač može da učitava komponente po potrebi umesto da čeka jednu veliku datoteku.

Tehnička matrica poređenja: glTF u odnosu na konkurente

Tehnički atributglTF (Trenutno)GLBOBJFBX
Arhitektura datotekeJSON tekst scene + prateći .bin / tekstureJedna samodovoljna binarna datotekaObičan tekst verteksa i lica + .mtlVlasnički binarni/ASCII kontejner
Standardi PBR materijalaStandardizovani Metallic-Roughness PBRStandardizovani Metallic-Roughness PBRNasleđeni Phong/Lambert materijaliPrilagođeni vlasnički materijali
Podrška za animacijuSkeletno bindovanje (skinning) i ciljevi morfingaSkeletno bindovanje (skinning) i ciljevi morfingaNema (samo statična geometrija)Kompleksna animacija i kosti
Performanse u toku izvršavanjaOptimizovano za WebGL i endžine u realnom vremenuOptimizovano za WebGL i endžine u realnom vremenuZahteva sporo parsiranje i ponovno građenjeZahteva složeno parsiranje pomoću desktop SDK-a

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Greška 3D endžina: „Failed to load buffer: URI not found“.

Osnovni uzrok: Prateća binarna .bin datoteka ili slike tekstura nisu otpremljene zajedno sa .gltf datotekom.

Oporavak: Zapakujte sve prateće datoteke zajedno ili ih konvertujte direktno u jednu GLB datoteku pomoću File2File.app-a.

Bezbednosna analiza i vektori napada parsera

glTF JSON datoteke upućuju na spoljne URI adrese (data URI adrese ili udaljene URL adrese) koje mogu da pokrenu falsifikovanje zahteva na strani servera (SSRF) ili prelazak preko putanja (path traversal).

Poznati vektori napada

  • Prelazak preko putanja putem relativnih URI adresa bafera (npr. 'uri: ../../../etc/passwd').
  • SSRF putem preuzimanja udaljenog mrežnog bafera u generatorima 3D sličica na strani servera.
  • Uskraćivanje usluge kroz neispravno formirane rekurzivne cikluse hijerarhije čvorova.

Najbolje prakse za zaštitu: Zabranite udaljene URL adrese i normalizujte sve putanje URI adresa lokalnih bafera pre učitavanja.

Istorijat i prekretnice

2022glTF 2.0 je međunarodno ratifikovan kao standard ISO/IEC 12113:2022.
2017Khronos Group izdaje glTF 2.0, standardizujući fizički zasnovano renderovanje (PBR) kao osnovnu funkciju.
2015glTF 1.0 je najavljen na SIGGRAPH-u, a osmislili su ga Fabrice Robinet, Neil Trevett i Tony Parisi.

Ključne prednosti

  • JSON struktura čitljiva ljudima omogućava programsko uređivanje, skriptovanje procesa i vizuelni pregled.
  • Modularni dizajn: odvaja male metapodatke scene od obimnih binarnih podataka geometrije (.bin) i tekstura.
  • PBR materijali mogu da poboljšaju doslednost, ali rezultat zavisi od renderera, osvetljenja i podešavanja.

Tehnička ograničenja i nedostaci

  • Složenost više datoteka: za deljenje modela potrebno je spakovati .gltf, .bin i teksture u ZIP arhivu ili ih na drugi način objediniti.
  • Nešto sporije početno učitavanje preko mreže u odnosu na GLB u jednoj datoteci zbog više HTTP zahteva.
  • Zavisnosti od relativne putanje mogu da se pokvare ako se prateće datoteke tekstura preimenuju ili premeste.

Zanimljivosti

  • glTF nosi nadimak „JPEG za 3D“ jer se strogo fokusira na prenos i prikaz tokom izvršavanja, a ne na kreiranje sadržaja.
  • Khronos Group je predstavio glTF kako bi pojednostavio prenos 3D resursa za veb i mobilne aplikacije.
  • NASA obezbeđuje 3D modele rovera, satelita i astronauta za javno preuzimanje u glTF formatu.

Često postavljana tehnička pitanja

Zašto mom glTF fajlu nedostaju boje ili oblici?

.gltf datoteka sadrži samo JSON uputstva za scenu. Oslanja se na prateće .bin datoteke za 3D oblike i .png/.jpg datoteke za boje. Uverite se da su sve prateće datoteke u istoj fascikli.

Kako da pretvorim glTF fajl u jedan GLB fajl?

Otpremite svoju .gltf datoteku i njene prateće .bin datoteke i datoteke tekstura na File2File.app da biste ih odmah spojili u jednu samostalnu .glb datoteku.

Koji programi podržavaju glTF?

Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot i Windows 3D Viewer podržavaju glTF podrazumevano.