glTF JSON (.gltf)
ISO/IEC SzabványA GL Transmission Format (glTF) egy nyílt szabványú, jogdíjmentes JSON-specifikáció, amely 3D-s jelenetek és modellek hatékony továbbítását és betöltését teszi lehetővé a WebGL, a WebGPU, a játékmotorok és a natív alkalmazások számára.
GLTF konvertálása erre: GLB
Ingyenes, böngészőben használható GLTF-konverter GLB formátumba. A fájlokat azonnal konvertálhatja az eszközén.
Vizsgálat és metaadatok
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) glTF fájlokat:
Bájtszintű fejlécaláírás (fájlazonosító bájtok)
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) glTF fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII ÁBRÁZOLÁS: {\n "asset"
Szabványosítás: ISO/IEC 12113:2022 / Khronos Open Standard
Műszaki specifikációk
| Konténer architektúra | Ember által olvasható JSON-dokumentum, amely leírja a jelenetgráfot, a csomópontokat, a hálókat, az accessorokat, az anyagokat és az animációkat, valamint külső pufferekre hivatkozik |
| Tömörítés | Külső textúrák (PNG, JPEG, WebP) és opcionális Draco-geometriatömörítés |
| Bájtsorrend | UTF-8 JSON-szöveg (kis bájtsorrendű .bin pufferekre hivatkozik) |
| Színterek | sRGB alapszín, Lineáris érdességi/fémességi értékek |
| Csatornák és struktúra | Jelenethierarchia, csomópontok, kamerák, PBR-anyagok, csontvázak és morf célok |
| Max. méretek | A koordinátatér és a háromszögek száma nincs korlátozva |
| Átlátszóság | BLEND alfamód, küszöbértékkel rendelkező MASK vagy térfogati fényáteresztés |
| Streaming és progresszív | A glTF külön kezeli a jelenetleírásokat, valamint a bináris geometriai és textúraadatokat, ezért a megjelenítő szükség szerint töltheti be az egyes összetevőket, ahelyett hogy egyetlen monolitikus fájl betöltésére várna |
Műszaki összehasonlító mátrix: glTF vs. versenytársak
| Technikai attribútum | glTF (Jelenlegi) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Fájlarchitektúra | JSON jelenetszöveg + kísérő .bin / textúrák | Egyetlen önálló bináris fájl | Egyszerű szöveges csúcspontok és lapok + .mtl | Zárt bináris/ASCII tároló |
| PBR anyagszabványok | Szabványosított Metallic-Roughness PBR | Szabványosított Metallic-Roughness PBR | Elavult Phong/Lambert anyagok | Egyedi zárt anyagok |
| Animációtámogatás | Csontvázas skinning és morph targetek | Csontvázas skinning és morph targetek | Nincs (csak statikus geometria) | Összetett animáció és csontok |
| Futásidejű teljesítmény | Optimalizálva a WebGL-hez és valós idejű motorokhoz | Optimalizálva a WebGL-hez és valós idejű motorokhoz | Lassú elemzést és újjáépítést igényel | Összetett asztali SDK elemzést igényel |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
3D-s motor hibaüzenete: „Failed to load buffer: URI not found".
Kiváltó ok: A kísérő .bin bináris fájl vagy a textúraképek nem lettek feltöltve a .gltf fájl mellé.
Helyreállítás: Csomagolja össze az összes kísérő fájlt, vagy konvertálja át közvetlenül egyetlen GLB fájlba a File2File.app segítségével.
Biztonsági elemzés és elemző (parser) támadási vektorok
A glTF JSON-fájlok külső URI-kra (adat URI-k vagy távoli URL-ek) hivatkoznak, amelyek kiszolgáló oldali kérés hamisítást (SSRF) vagy elérési út túllépést (path traversal) válthatnak ki.
Ismert támadási vektorok
- Elérési út túllépés relatív puffer URI-kon keresztül (pl. 'uri: ../../../etc/passwd').
- SSRF a távoli hálózati puffer lekérése révén a kiszolgáló oldali 3D-s bélyegkép-generátorokban.
- Szolgáltatásmegtagadás (DoS) rosszul felépített, rekurzív csomópont-hierarchia ciklusok révén.
Ajánlott védekezési módszerek: Tiltsa le a távoli URL-eket, és normalizálja az összes helyi puffer URI-útvonalat a betöltés előtt.
Történeti háttér és mérföldkövek
Főbb előnyök
- Az ember által olvasható JSON-struktúra lehetővé teszi a programozott szerkesztést, a folyamatbeli parancsfájlok írását és a vizuális ellenőrzést.
- Moduláris felépítés: elválasztja a könnyű jelenetmetaadatokat a nehéz bináris geometriától (.bin) és a textúráktól.
- A PBR-anyagok javíthatják a megjelenítés egységességét, de az eredmény a renderelőtől, a fénytől és a beállításoktól függ.
Technikai korlátok és hátrányok
- Többfájlos összetettség: a modell megosztásához a .gltf, a .bin és a képetextúrák fájljait össze kell tömöríteni vagy csomagolni.
- Kicsit lassabb kezdeti hálózati indulás az egységes GLB-fájlokhoz képest a több HTTP-kérés miatt.
- A relatív elérési út függőségei megszakadhatnak, ha a kísérő textúrafájlokat átnevezik vagy áthelyezik.
Érdekes technikai tudnivalók
- A glTF-et „a 3D JPEG-jének” becézik, mivel szigorúan a futásidejű továbbításra és megjelenítésre összpontosít, nem pedig az alkotásra.
- A Khronos Group azért vezette be a glTF-et, hogy egyszerűbbé tegye a 3D-eszközök továbbítását webes és mobilalkalmazásokban.
- A NASA roverek, műholdak és űrhajósok 3D-s modelljeit teszi letölthetővé glTF formátumban.
Gyakran Ismételt Műszaki Kérdések
Miért hiányoznak a színek vagy a formák a glTF-fájlomból?
A .gltf-fájl csak a JSON-jelenetutasításokat tartalmazza. A 3D alakzatokhoz a kísérő .bin-fájlokra, a színekhez pedig a .png/.jpg-fájlokra támaszkodik. Ellenőrizze, hogy az összes kísérő fájl ugyanabban a mappában van-e.
Hogyan alakítható át egy glTF-fájl egyetlen GLB-fájllá?
Töltse fel a .gltf-fájlt, valamint a hozzá tartozó .bin- és textúrafájlokat a File2File.app oldalára, hogy a rendszer azonnal egyetlen, önmagában is teljes .glb-fájlba egyesítse őket.
Mely programok támogatják a glTF-et?
A Blender, a Three.js, a Babylon.js, a Unity, az Unreal Engine, a Godot és a Windows 3D Viewer alapértelmezetten támogatja a glTF-et.
Kapcsolódó glTF konverziós párok
A glTF JSON-eszközök glTF Binary tárolókká konvertálása egyetlen fájlba csomagolja a különálló szöveges jegyzékeket, bináris puffereket és textúrákat, így gyorsabban szolgáltathatók ki a weben.
A GLB fájl GLTF formátumra történő konvertálása egyetlen bináris tárolót bont ki különálló szöveges és eszközfájlokra, így a fejlesztők könnyedén szerkeszthetik a textúrákat és a 3D geometria kódját.
A Wavefront OBJ geometriai fájlok glTF JSON-jegyzékfájlokká alakítása korszerűsíti a statikus 3D modelleket, és webre kész, szabványos böngészőkben gyorsan betöltődő eszközöket hoz létre.