glTF Binary - glTF JSON -muuntaja
GLB-muodon muuntaminen glTF-muotoon purkaa binäärisäilön erillisiin teksti- ja resurssitiedostoihin, jotta kehittäjät voivat muokata tekstuureja ja 3D-geometriakoodia helposti.
Muotojen vertailu ja tekniset tiedot
| Määritys | GLB | GLTF |
|---|---|---|
| MIME-tyyppi | model/gltf-binary | model/gltf+json |
| Tyyppi | self-contained binary 3D container | runtime 3D asset transmission |
| Pakkaus | binary packaged JSON, buffers, and textures | lossless JSON manifest + external binary buffers |
| Standardimääritys | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Tiedostotunniste (Magic Bytes) | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
Muodon yleiskatsaus ja käyttökohteet
GLB-muoto pakistaa 3D-näkymät, animaatiot, materiaalit ja tekstuurit yhteen binääripakettiin. Vaikka tämä on tehokasta objektien lataamiseen verkkosivuille ja peleihin, se vaikeuttaa raakadatan muokkaamista. Kehittäjät joutuvat usein purkamaan GLB-tiedoston glTF-muotoon tarkastellakseen näkymän rakennetta, säätääkseen materiaaliominaisuuksia tekstieditorissa tai muokatakseen varjostinparametreja. Purettujen glTF-resurssien kanssa työskentely mahdollistaa 3D-verkkokomponenttien versionhallinnan tavallisilla Git-työkaluilla. Sen sijaan, että seurattaisiin suurta binääritiedostoa, kehittäjät voivat tehdä pieniä tekstimuutoksia JSON-määritystiedostoon halliten samalla erillisiä binääripuskuritiedostoja. Tämä muunnosprosessi tukee kehittyneitä verkkokehityksen työnkulkuja, joissa 3D-resurssit vaativat mukautettua varjostinta tai dynaamista tekstuurien vaihtoa ennen tuotantoon viemistä.
Tekniset tiedot ja koodekkien erittely
GLB käyttää malli/gltf-binary MIME-tyyppiä ja alkaa 12 tavun otsikolla, joka sisältää 4 tavun maagisen numeron (0x46546C67), 4 tavun versio kokonaisluvun ja 4 tavun tiedoston kokonaispituuden. Tätä otsikkoa seuraavat lohkot, jotka sisältävät JSON-määrityksen ja binääripuskurit. Tämän muuntaminen glTF-muotoon, joka käyttää malli/gltf+json MIME-tyyppiä, erottaa määrityksen ihmisen luettavaksi tekstitiedostoksi .gltf-tunnisteella. Geometriadata ja pikselikartat kirjoitetaan erillisiin ulkoisiin tiedostoihin, kuten .bin ja .png. Kummatkaan muodot eivät käytä oletusarvoisesti häviöllistä pakkausta. Molemmat säilyttävät kärkipisteiden sijainnit, normaalit ja UV-koordinaatit täydellä matemaattisella tarkkuudella.
Käyttöjärjestelmien ja selaimien yhteensopivuus
Puretut glTF-tiedostot toimivat sujuvasti kaikissa nykyaikaisissa verkkoselaimissa, kuten Google Chromessa, Mozilla Firefoxissa, Apple Safarissa ja Microsoft Edgessä WebGL- ja WebGPU-renderöijien avulla. Työpöytäkäyttöjärjestelmät, kuten Windows 10 ja 11, macOS ja Linux, tukevat glTF-katselua natiivityökaluilla, kuten Windows 3D Viewer ja Blender. iOS- ja Android-mobiilikäyttöjärjestelmät renderöivät glTF-resursseja natiiveissa AR-ympäristöissä ja verkkosovelluksissa, vaikka kehittäjien on isännöitävä erillisiä .bin- ja .gltf-tiedostoja oikein palvelimillaan CORS-virheiden välttämiseksi.
💡 Hyödyllistä tietoa
Pidä tekstuurikartat aina samassa kansiossa pääasiallisen .gltf-tiedoston kanssa muunnoksen jälkeen, jotta JSON-määritys löytää ulkoiset riippuvuudet ilman polkuvirheitä.
Muotojen vertailu ja tekniset tiedot
Monimutkainen 3D-hahmomalli, jonka koko on 15 megatavua GLB-muodossa, tuottaa vastaavan kokoisen tietomäärän, kun se jaetaan .gltf-määritykseen ja ulkoisiin .bin-tiedostoihin. Tavallisella 30 megabitin sekuntinopeudella toimivalla 4G-yhteydellä tämän resurssin lataaminen kestää noin 4 sekuntia. Päivitys 5G-verkkoon tai 300 megabitin kuituyhteyteen lyhentää siirtoajan murto-osaan sekunnista.
Usein kysytyt kysymykset
Miten glTF Binary muutetaan glTF JSON -muotoon ilman laadun heikkenemistä?
Muunnos GLB:stä glTF:ään on täysin häviötön, koska molemmat muodot käyttävät samoja taustalla olevia matemaattisia rakenteita. Prosessi yksinkertaisesti poimii JSON-lohkon ja binääripuskurit yhdestä binäärisäilöstä ja kirjoittaa ne erillisinä tiedostoina levylle muuttamatta kärkipistedataa tai pikselipakkausta.
Mitä eroa on glTF Binary- ja glTF JSON -muodoilla?
GLB on itsenäinen binääritiedosto, joka pakkaa näkymän kuvauksen, geometrian ja tekstuurit yhteen lataukseen. glTF erottaa nämä elementit tallentamalla näkymäkaavion luettavaan tekstitiedostoon samalla kun geometria ja tekstuurit pidetään erillisissä binääri- ja kuvatiedostoissa.