GLB vs glTF: Jaký je rozdíl?
GLB vs glTF je otázka balení, ne dat: .gltf je čitelný JSON se samostatnými soubory, .glb vše zabalí do jednoho. Posílejte GLB, upravujte glTF, převádějte bez ztráty.
- Specifikace Khronos glTF 2.0
- Naměřené velikosti souborů
- Bezeztrátový převod
GLB vs glTF: krátká odpověď
glTF je otevřený formát Khronos Group pro doručování 3D scén do aplikací a na web a GLB není jiný formát, ale jeho binární kontejner. Specifikace definuje oba: soubor .gltf je JSON (media typ model/gltf+json) a soubor .glb (model/gltf-binary) zabalí stejný JSON plus jeden binární buffer do jediného souboru.
Otázka GLB vs glTF je tedy o balení, ne o kvalitě. Sítě, PBR materiály, textury, animace, skiny a morph targety přežijí v obou identicky. Mění se jen to, kolik souborů spravujete, jestli můžete popis scény otevřít v textovém editoru a kolik místa navíc zaplatíte, když binární data vložíte přímo do JSONu.
Pro téměř všechny je odpověď GLB: jeden soubor k nahrání, poslání e-mailem nebo vložení do three.js, Babylon.js, <model-viewer>, Blenderu, Unity nebo Unreal. Samostatný glTF zvolte, když ladíte, ručně upravujete hodnoty materiálů nebo sdílíte textury mezi mnoha modely na CDN.
Srovnávací tabulka GLB vs glTF
Oba jsou glTF 2.0, takže většina řádků je stejná. Liší se řádky, které rozhodují o volbě GLB vs glTF pro váš projekt.
| GLB (.glb) | glTF (.gltf) | |
|---|---|---|
| Typ geometrie | Trojúhelníkové sítě (také body a čáry), hierarchie uzlů, skiny, morph targety | Stejné |
| Barva / textura | Textury PNG nebo JPEG uložené v binárním chunku; barvy vrcholů | Textury jako samostatné obrazové soubory nebo base64 data URI v JSONu |
| Jednotky | Metry, pravotočivý systém, +Y nahoru, podle specifikace | Stejné |
| Materiály | PBR metallic-roughness vestavěné; další přes rozšíření KHR | Stejné |
| Velikost souboru | Nejmenší jedno-souborová podoba: 12bajtová hlavička plus JSON chunk a BIN chunk | Stejný celkový počet bajtů jako samostatné soubory; asi o 33 % větší, pokud jsou binární data vložena jako base64 |
| Upravitelnost | Binární; ke kontrole potřebujete nástroj | JSON je čitelný pro člověka a porovnatelný v textovém editoru |
| Podpora softwaru | three.js, Babylon.js, model-viewer, Blender, Unity, Unreal, Godot, Windows 3D Viewer | Stejné loadery; externí soubory musí zůstat ve správné relativní složce |
| Použití pro tisk | Není tiskový formát; UltiMaker Cura ho umí otevřít, většina slicerů ne | Stejné; pro tisk převeďte na STL nebo 3MF |
| Počet souborů | 1 | 1 až mnoho (.gltf, .bin, obrázky) |
Zdroj: specifikace Khronos glTF 2.0, části o příponách souborů, souřadnicovém systému a jednotkách a formátu souboru GLB.
Jak se z glTF sestaví soubor GLB
GLB začíná 12bajtovou hlavičkou: magické bajty glTF, verze (2) a celková délka. Pak následují chunky. První je JSON chunk, přesně stejný popis scény, jaký by obsahoval .gltf. Druhý je BIN chunk, který drží pozice vrcholů, normály, UV, indexy, klíčové snímky animací a obvykle i samotné textury.
.gltf drží JSON jako samostatný soubor a binární data odkazuje jedním ze dvou způsobů: relativními cestami k .bin a obrázkům vedle sebe, nebo data URI, které bajty zakódují base64 přímo do JSONu. Specifikace sama uvádí, že base64 zvětší délku dat o 33 % a jejich dekódování stojí další výpočet. To je hlavní důvod, proč GLB existuje.
- GLB: hlavička + JSON chunk + BIN chunk, jeden soubor
- glTF: JSON plus .bin a obrázky vedle sebe
- Vložené glTF: jeden soubor, ale base64 přidá třetinu
Velikost GLB vs glTF: jeden model zabalený třemi způsoby
Vzali jsme texturovaný AI model z naší galerie, steampunkového robotího rytíře s 500 000 trojúhelníky, 287 963 vrcholy a třemi PNG texturami 2048 x 2048, a změřili každé balení.
| Balení | Soubory | Velikost |
|---|---|---|
| GLB | 1 | 26,9 MB |
| glTF + .bin + PNG textury | 5 (.gltf, .bin, 3 PNG) | celkem asi 26,9 MB; samotný .gltf JSON má asi 2 KB |
| glTF s vloženými base64 daty | 1 | asi 35,9 MB |
| Z čeho jsou bajty | Geometrie 15,2 MB, textury 11,7 MB |
Balení nic nezmenší. Chcete-li model zmenšit, komprimujte geometrii (Draco nebo meshopt), zmenšete nebo znovu zakódujte textury, případně snižte počet trojúhelníků. Náš kompresor GLB a zjednodušovač sítě to udělají v prohlížeči.
glTF vs GLB na webu, v AR a v Blenderu
Na webu je GLB praktická výchozí volba: jeden požadavek, jedna položka v cache a každý hlavní loader ho načte. Samostatné glTF soubory mohou vyhrát na webu, který zobrazuje mnoho modelů sdílejících stejné textury, protože prohlížeč stáhne společný obrázek jen jednou; tento kompromis popisují i implementační poznámky specifikace.
Pro AR bere Scene Viewer na Androidu glTF i GLB, zatímco Quick Look od Apple na iPhonu potřebuje USDZ, takže publikujte obojí a pro zařízení Apple převeďte GLB na USDZ. V Blenderu File > Import > glTF 2.0 načte oba a nabídka Format v exportéru nabízí glTF Binary (.glb) a glTF Separate (.gltf + .bin + textures). Vyberte Binary, pokud nemáte důvod k opaku.
Pro 3D tisk není ani jedno správné předání. Převeďte GLB na STL nebo 3MF; textury se nevytisknou, ale tvar ano.
- Web a sdílení: GLB
- Mnoho modelů se sdílenými texturami: samostatné glTF
- AR na iPhonu: převeďte na USDZ
- Tisk: převeďte na STL nebo 3MF
GLB vs glTF: kdy použít který
Oba jsou správné glTF 2.0. Vyberte podle workflow.
Sdílení modelu s kýmkoli
Vložení na web
Ladění rozbitého materiálu
baseColorFactor, metallicFactor nebo indexy textur, opravte a znovu načtěte.Katalog produktů se sdílenými texturami
Verzovací systém
Vyhněte se: vložené glTF
Převod glTF a GLB bez rozbití
Převod je bezeztrátový oběma směry, pokud jsou přítomné všechny odkazované soubory.
- Ponechte .gltf, .bin a obrazové textury ve stejných relativních složkách, s jakými byly exportovány
- Načtěte výsledek v prohlížeči a před sdílením ověřte, že se textury zobrazují
- Pamatujte, že glTF je v metrech: 30mm figurka je 0,03 jednotky, což v některých nástrojích vypadá maličké
- Pro web komprimujte geometrii a textury; samotné přebalení nic neušetří
- Posílejte jen soubor .gltf; bez jeho .bin a obrázků se model načte prázdný nebo šedý
- Přejmenujte .gltf na .glb; binární hlavičku musí zapsat převodník
- Pro velké modely používejte vložené base64 glTF; přidá to asi 33 % k binárním datům
- Nečekejte, že slicer vytiskne textury z GLB; pro vícebarevný tisk převeďte na 3MF
Bezplatné prohlížeče a převodníky GLB a glTF
Nástroje pro obě strany GLB vs glTF. Vše běží ve vašem prohlížeči bez přihlášení a soubory zůstávají na vašem zařízení.
FAQ
Často kladené dotazy
GLB vs glTF: který je lepší?
Jaký je rozdíl mezi GLB a glTF jednou větou?
Ztrácí převod glTF na GLB kvalitu?
Proč je moje GLB tak velké?
Můžu 3D tisknout soubor GLB nebo glTF?
Jaké jednotky glTF používá?
V jakém formátu dostanu model ze SupaVoxelu?
Otevírají iPhony soubory GLB?
Související nástroje a návody
Pokračovat
Začít zdarma
GLB vs glTF vyřešeno? Vytvořte model
Proměňte fotku ve 3D model, obvykle za méně než minutu. Stažení GLB je zdarma s prvními 3 kredity a bez karty; texturované modely jsou součástí placeného tarifu.
Bez platební karty · 3 kredity zdarma na start