GLB konvertálása glTF formátumba
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.
Formátum-összehasonlítás és műszaki specifikációk
| Specifikáció | GLB | GLTF |
|---|---|---|
| MIME-típus | model/ | model/ |
| Típus | önálló bináris 3D-tároló | futtatókörnyezetbeli 3D-s eszközátvitel |
| Tömörítés | binárisan csomagolt JSON, pufferek és textúrák | veszteségmentes JSON jegyzék + külső bináris pufferek |
| Szabványos specifikáció | Khronos glTF 2.0 bináris tároló | Khronos glTF 2.0 specifikáció |
| Fájlfejléc azonosító bájtjai | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
A formátum áttekintése és alkalmazási területei
A GLB formátum 3D jeleneteket, animációkat, anyagokat és textúrákat csomagol egyetlen rendezett bináris csomagba. Bár ez kiválóan alkalmas az objektumok weboldalakba és játékokba történő gyors betöltésére, a nyers adatok szerkesztését megnehezíti. A fejlesztőknek gyakran szét kell bontaniuk egy GLB fájlt GLTF formátumra, amikor meg akarják vizsgálni a jelenet szerkezetét, finomhangolni szeretnék az anyagok tulajdonságait egy szövegszerkesztőben, vagy módosítani kívánják a beágyazott árnyalóparamétereket. A kibontott GLTF-eszközökkel való munka lehetővé teszi a mérnöki csapatok számára, hogy szabványos Git-munkafolyamatokkal verziókövessék az egyes 3D hálókomponenseket. A hatalmas bináris fájlok nyomon követése helyett a fejlesztők apró szöveges módosításokat végezhetnek a JSON-jegyzékfájlon, miközben különálló bináris pufferfájlokat kezelnek. Ez a konverziós folyamat támogatja azokat a fejlett webfejlesztési folyamatokat, amelyek során a 3D-s eszközök egyedi árnyaló-injekciót vagy dinamikus textúracserét igényelnek a futásidejű üzembe helyezés előtt.
Műszaki specifikációk és kodekáttekintés
A GLB a model/gltf-binary MIME-típust használja, és 12 bájtos fejléccel kezdődik, amely egy 4 bájtos mágikus számot (0x46546C67), egy 4 bájtos verziószámot és a teljes fájl hosszát jelző 4 bájtot tartalmaz. Ezt a fejlécet a JSON-jegyzéket és a bináris puffereket tartalmazó adatrészek követik. A model/gltf+json MIME-típust használó GLTF-re alakítás a jegyzéket egy ember által olvasható, .gltf kiterjesztésű szövegfájlba helyezi át. A geometriai adatokat és a textúrákat külön külső fájlokba, például .bin és .png fájlokba írja ki. Alapértelmezés szerint egyik formátum sem használ veszteséges tömörítést. Mindkettő teljes matematikai pontossággal őrzi meg a csúcspontok helyzetét, a normálisokat és az UV-koordinátákat.
Operációs rendszer- és böngésző-kompatibilitás
A kibontott GLTF-fájlok zökkenőmentesen működnek az összes modern webböngészőben, köztük a Google Chrome-ban, a Mozilla Firefoxban, az Apple Safariban és a Microsoft Edge-ben, a WebGL és WebGPU renderelők használatával. Az olyan asztali operációs rendszerek, mint a Windows 10 és 11, a macOS és a Linux natív alkalmazásokkal, például a Windows 3D megjelenítővel és a Blenderrel támogatják a GLTF megtekintését. Az iOS és Android rendszerek natív AR-környezetekben és webalkalmazásokban jelenítik meg a GLTF-eszközöket, bár a fejlesztőknek megfelelően kell elhelyezniük a különálló .bin és .gltf fájlokat a szervereiken az eredetközi erőforrás-megosztási (CORS) hibák elkerülése érdekében. A támogatás az alkalmazástól, az eszköztől, az operációs rendszertől és annak verziójától is függ.
Hasznos információk
A konvertálás után mindig tartsa a textúratérképeket a fő .gltf fájllal azonos mappában, hogy a JSON-jegyzékfájl hibás útvonalak nélkül megtalálja a külső függőségeit.
Gyakran ismételt kérdések
Hogyan lehet minőségromlás nélkül konvertálni a glTF Binary formátumot glTF JSON formátumra?
A GLB GLTF-re történő átalakítása teljesen veszteségmentes, mivel mindkét formátum ugyanazokat a matematikai struktúrákat használja. A folyamat egyszerűen kinyeri a JSON-adatrészt és a bináris puffereket az egyetlen bináris tárolóból, majd különálló fájlokként írja ki őket a lemezre anélkül, hogy megváltoztatná a csúcspontok adatait vagy a képek tömörítését.
Mi a különbség a glTF Binary és a glTF JSON között?
A GLB egy önálló bináris fájl, amely a jelenet leírását, a geometriát és a textúrákat egyetlen letölthető fájlba csomagolja. A GLTF ezeket az elemeket külön tárolja: a jelenetgráf egy olvasható szöveges fájlba, a geometria és a textúrák pedig külső bináris és képfájlokba kerülnek.