glTF bináris (.glb)

ISO/IEC Szabvány

A 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:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

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 46

ASCII ÁBRÁZOLÁS: glTF

Szabványosítás: ISO/IEC 12113:2022 / Khronos Open Standard

Műszaki specifikációk

Konténer architektúra12 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ésDRACO hálógeometria-tömörítés, KHR_texture_basisu (KTX2/Basis Universal GPU-textúrák) és ExtMeshopt
Bájtsorrendkis bájtsorrend (Intel x86 / WebGL-szabvány)
SzíntereksRGB textúrák, Lineáris PBR érdességi/fémességi csatornák
Csatornák és struktúraPBR-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éretekA csúcsok és háromszögek száma nincs korlátozva (több gigabájtos modellek is támogatottak)
ÁtlátszóságAlfa-lefedettség (MASK), alfakeverés (BLEND) és térfogati fényáteresztés
Streaming és progresszívEgyetlen ö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útumGLB (Jelenlegi)GLTFUSDZFBX
Csomagolási modellEgyetlen önálló bináris fájlJSON + külső .bin és textúrafájlokUSD sémák és textúrák ZIP-archívumaZárt Autodesk bináris/ASCII
Webes és AR-szabványA támogatás programonként eltér.A támogatás programonként eltér.Apple iOS Quick Look AR szabványAsztali játékmotor importálási szabvány
AnyagmodellSzabványosított glTF PBR Metallic-RoughnessSzabványosított glTF PBRA támogatás programonként eltér.Zárt Phong/Lambert/PBR shaderek
GPU olvasási teljesítményAzonnali (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

2022A glTF 2.0 és a GLB nemzetközi szabványosítása az ISO/IEC által ISO/IEC 12113:2022 néven.
2018A Google bevezeti a GLB-t az Android Scene Viewer és a webes <model-viewer> AR-élmények alapértelmezett 3D-formátumaként.
2015A Khronos Group bemutatja a GLB-t a glTF ökoszisztéma egységes fájlból álló bináris tárolójaként.

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.