glTF bináris (.glb)
ISO/IEC SzabványA Binary glTF (GLB) a glTF 2.0 szabvány önálló, egységes fájlban elhelyezett bináris csomagolása, amelyet a web alapú 3D-s grafika, a kiterjesztett valóság (AR) és a valós idejű játékmotorok területén gyakran a „3D JPEG-jeként" emlegetnek.
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) GLB 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) GLB fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
67 6C 54 46ASCII ÁBRÁZOLÁS: glTF
Szabványosítás: ISO/IEC 12113:2022 / Khronos Open Standard
Műszaki specifikációk
| Konténer architektúra | 12 bájtos bináris fejléc („glTF”, verzió, hossz), amelyet JSON-darab (CHUNK 0) és bináris puffert tartalmazó darab (CHUNK 1) követ |
| Tömörítés | DRACO hálógeometria-tömörítés, KHR_texture_basisu (KTX2/Basis Universal GPU-textúrák) és ExtMeshopt |
| Bájtsorrend | kis bájtsorrend (Intel x86 / WebGL-szabvány) |
| Színterek | sRGB textúrák, Lineáris PBR érdességi/fémességi csatornák |
| Csatornák és struktúra | PBR-anyagok (fémesség-érdesség), csontvázas hálók, morf célok, animációk, kamerák és fényforrások |
| Max. méretek | A csúcsok és háromszögek száma nincs korlátozva (több gigabájtos modellek is támogatottak) |
| Átlátszóság | Alfa-lefedettség (MASK), alfakeverés (BLEND) és térfogati fényáteresztés |
| Streaming és progresszív | Egyetlen önálló fájl, bináris részekkel, amelyeket a szoftver feldolgozhat és feltölthet a GPU-pufferekbe |
Műszaki összehasonlító mátrix: GLB vs. versenytársak
| Technikai attribútum | GLB (Jelenlegi) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Csomagolási modell | Egyetlen önálló bináris fájl | JSON + külső .bin és textúrafájlok | USD sémák és textúrák ZIP-archívuma | Zárt Autodesk bináris/ASCII |
| Webes és AR-szabvány | A támogatás programonként eltér. | A támogatás programonként eltér. | Apple iOS Quick Look AR szabvány | Asztali játékmotor importálási szabvány |
| Anyagmodell | Szabványosított glTF PBR Metallic-Roughness | Szabványosított glTF PBR | A támogatás programonként eltér. | Zárt Phong/Lambert/PBR shaderek |
| GPU olvasási teljesítmény | Azonnali (közvetlen memórialeképezés) | Gyors (több hálózati kérés) | Gyors (tömörítetlen ZIP-elemek) | Lassú (összetett elemzést igényel) |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
A 3D-s modell hiányzó textúrákkal vagy teljesen fekete felületekkel jelenik meg.
Kiváltó ok: Sérült beágyazott textúrarészlet (chunk) vagy hiányzó PBR metallic-roughness textúrahivatkozás.
Helyreállítás: Ellenőrizze és javítsa ki a részleteltolásokat a File2File.app 3D Converter vagy a glTF-Transform segítségével.
Biztonsági elemzés és elemző (parser) támadási vektorok
A GLB-elemzők olyan JSON-szövegrészleteket dolgoznak fel tetszőleges bináris pufferekkel kombinálva, amelyek nem megfelelő pufferhosszak esetén puffer-túlcsordulást válthatnak ki.
Ismert támadási vektorok
- Puffer-túlolvasás, amikor a bufferView byteOffset + byteLength értéke meghaladja a bináris részlet hosszát.
- Határokon túli csúcspontindex-olvasás a WebGL drawElements végrehajtása során.
- Szolgáltatásmegtagadás (DoS) patologikus Draco dekompressziós ciklusokon keresztül.
Ajánlott védekezési módszerek: Szigorúan érvényesítse, hogy az összes accessor- és bufferView-bájttartomány a deklarált bináris chunk határain belül legyen.
Történeti háttér és mérföldkövek
Főbb előnyök
- Teljesen önálló: egyetlen fájlba csomagolja a 3D-s geometriát, a PBR-anyagokat, a textúrákat (PNG/JPEG/KTX2) és a csontváz-animációkat.
- A bináris részek csökkenthetik a jelenetadatok betöltéséhez szükséges munkát, de az alkalmazásoknak továbbra is fel kell dolgozniuk a glTF metaadatait, és elő kell készíteniük az erőforrásokat a renderelési folyamatukhoz.
- A WebGL, a WebGPU, az e-kereskedelmi 3D-termékelőnézetek és a mobil kiterjesztett valóság vitathatatlan szabványa.
Technikai korlátok és hátrányok
- A bináris jelleg miatt a kézi szöveges vizsgálat vagy szerkesztés speciális 3D-s eszközök nélkül nehézkes.
- Fejlett tömörítési kiterjesztések használata esetén Draco vagy Basis Universal dekompressziós könyvtárakra van szükség.
- Az Apple platformok az USDZ-t részesítik előnyben a natív iOS Quick Look AR-hez, ami megköveteli a GLB formátum átalakítását.
Érdekes technikai tudnivalók
- Minden GLB-fájl első 4 bájtja a 0x67 0x6C 0x54 0x46, amelyek ASCII kódolásban a „glTF" szót adják ki.
- Amikor egy okostelefon webböngészőjében egy 3D-s edzőcipőt néz, szinte biztosan egy interaktív GLB-modellt vizsgál.
- A GLB-t kifejezetten úgy tervezték, hogy a grafikus hardver közvetlenül a lemezről olvashassa be a csúcspontpuffereket a VRAM-ba, átalakítás nélkül.
Gyakran Ismételt Műszaki Kérdések
Mi a különbség a glTF és a GLB között?
A glTF egy JSON fájl, amely külső .bin geometriai és különálló képtextúra fájlokra hivatkozik. A GLB ezt az egészet egyetlen, kompakt bináris fájlba csomagolja.
Hogyan konvertálhatom a GLB-t USDZ-be az Apple AR-hez?
Egyetlen kattintással alakíthat át GLB-modelleket Apple-eszközökhöz megfelelő USDZ-fájlokká a File2File.app segítségével, közvetlenül a webböngészőjében.
Megnyithatok GLB fájlokat a Blenderben?
Igen. A Blender natív, nagy teljesítményű glTF/GLB importálóval és exportálóval rendelkezik, amely közvetlenül be van építve a szoftverbe.
Kapcsolódó GLB 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.