Konvertor GLB u glTF
Konvertovanje GLB u GLTF format razdvaja jedinstveni binarni kontejner na zasebne tekstualne i 3D datoteke, što programerima omogućava lako uređivanje tekstura i koda 3D geometrije.
Poređenje formata i tehničke specifikacije
| Specifikacija | GLB | GLTF |
|---|---|---|
| MIME tip | model/ | model/ |
| Tip | samostalni binarni 3D kontejner | prenos 3D resursa tokom izvršavanja |
| Kompresija | binarno upakovani JSON, baferi i teksture | bez gubitaka JSON manifest + spoljni binarni baferi |
| Standardna specifikacija | Khronos glTF 2.0 binarni kontejner | Khronos glTF 2.0 specifikacija |
| Zaglavlje s magičnim bajtovima | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
Pregled formata i primena
GLB format pakuje 3D scene, animacije, materijale i teksture u jedan binarni paket. Iako je to korisno za brzo učitavanje objekata na veb-stranicama i u igrama, otežava direktno uređivanje sirovih podataka. Programeri često moraju da raspakuju GLB datoteku u GLTF format kada žele da pregledaju strukturu scene, prilagode svojstva materijala u uređivaču teksta ili izmene ugrađene parametre šejdera. Rad sa raspakovanim GLTF resursima omogućava inženjerskim timovima da upravljaju verzijama određenih komponenti 3D mreže pomoću standardnih Git radnih tokova. Umesto da prate veliki binarni blok, programeri mogu da unose male tekstualne izmene u JSON manifest i da zasebno upravljaju binarnim bafer datotekama. Ovaj proces konverzije podržava napredne tokove veb razvoja u kojima 3D resursi zahtevaju prilagođeno ubacivanje šejdera ili dinamičku zamenu tekstura pre pokretanja.
Tehničke specifikacije i analiza kodeka
GLB koristi MIME tip model/gltf-binary i počinje zaglavljem od 12 bajtova koje sadrži magični broj od 4 bajta (0x46546C67), ceo broj verzije od 4 bajta i ukupnu dužinu datoteke od 4 bajta. Nakon ovog zaglavlja slede blokovi koji sadrže JSON manifest i binarne bafere. Konvertovanje u GLTF, koji koristi MIME tip model/gltf+json, odvaja manifest u čitljivu tekstualnu datoteku sa ekstenzijom .gltf. Podaci o geometriji i mape piksela upisuju se u zasebne spoljne datoteke, kao što su .bin i .png. Nijedan format po podrazumevanim podešavanjima ne koristi kompresiju sa gubicima. Oba čuvaju položaje temena, normale i UV koordinate sa punom matematičkom preciznošću.
Kompatibilnost sa operativnim sistemima i pregledačima
Raspakovane GLTF datoteke podržane su u svim savremenim veb pregledačima, uključujući Google Chrome, Mozilla Firefox, Apple Safari i Microsoft Edge, uz WebGL i WebGPU prikazivače. Operativni sistemi kao što su Windows 10 i 11, macOS i Linux podržavaju pregled GLTF datoteka pomoću alata kao što su Windows 3D Viewer i Blender. Mobilni operativni sistemi iOS i Android prikazuju GLTF resurse u izvornim AR okruženjima i veb aplikacijama, mada programeri moraju pravilno da postave odvojene .bin i .gltf datoteke na svojim serverima kako bi izbegli greške pri deljenju resursa između izvora (CORS). Podrška zavisi i od aplikacije, uređaja, operativnog sistema i njegove verzije.
Praktičan savet
Uvek držite mape tekstura u istoj fascikli kao i glavnu .gltf datoteku nakon konverzije, kako bi JSON manifest mogao da pronađe svoje spoljne zavisnosti bez grešaka u putanjama.
Često postavljana pitanja
Kako se konvertuje glTF Binary u glTF JSON bez gubitka kvaliteta?
Konverzija iz GLB u GLTF je potpuno bez gubitaka jer oba formata koriste iste osnovne matematičke strukture. Proces jednostavno izdvaja JSON blok i binarne bafere iz jedinstvenog binarnog kontejnera i upisuje ih kao odvojene datoteke na disk bez menjanja podataka temena ili kompresije piksela.
Koja je razlika između glTF Binary i glTF JSON formata?
GLB je samodovoljna binarna datoteka koja pakuje opis scene, geometriju i teksture u jedno preuzimanje. GLTF razdvaja ove elemente čuvanjem grafa scene u čitljivoj tekstualnoj datoteci, dok geometriju i teksture drži u spoljnim binarnim datotekama i datotekama slika.