Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
GLB
glTF met de texturen erin. Eén bestand in plaats van een map vol afhankelijkheden.
GLB
GLB is een binair formaat dat alleen iets betekent voor een programma dat het kent. Het bewaart vormen en coördinaten in plaats van beeldpunten en blijft daardoor scherp op elk formaat — een logo op billboardgrootte verliest niets. Het wordt gebruikt voor het web en een af bestand overdragen.
De extensie is .glb en de volledige naam Binary glTF. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.
Khronos Group bracht het in 2016 uit. De specificatie is glTF 2.0.
De leeftijd is om een praktische reden interessant: hoe ouder een formaat, hoe meer programma’s de tijd hebben gehad om het te leren.
Ze is volledig gepubliceerd, dus wie het formaat wil uitvoeren kan dat uit het document doen in plaats van door te kijken hoe anderen het doen. Daarom duikt het in zo veel programma’s op, en daarom gaan bestanden van twintig jaar geleden nog steeds open. Openbaar is niet hetzelfde als royaltyvrij: waar een formaat een codec omhult, is de octrooilicentie een aparte vraag waarop de standaard geen antwoord geeft.
GLB bewaart zijn inhoud precies. Opnieuw opslaan verandert niets, dus je kunt het zo vaak openen, bewerken en wegschrijven als je wilt zonder dat er schade opstapelt — en dat is wat er een werkformaat van maakt in plaats van een afleverformaat.
GLB kan een animatie bewaren in plaats van één stilstaand beeld. Dat is de moeite waard om te weten vóór het converteren: een doel dat één beeld bevat houdt het eerste en laat de rest vallen, meestal zonder het te zeggen.
Blender, three.js en Babylon.js lezen het, en de meeste programma’s van dezelfde soort ook.
Als een bestand niet opengaat ligt het zelden aan het formaat — vaker is het programma ouder dan het formaat. Converteren naar iets ouders is de betrouwbare weg eromheen, en daarvoor is de rest van deze site bedoeld.
Geen enkele browser leest het.
Dat is veruit de meest voorkomende reden om het te converteren: niet dat het formaat slecht is, maar dat de plek waar je het bestand wilt tonen het niet kan lezen.
GLB is bedoeld om te openen en te wijzigen. Houd het bestand in dit formaat zolang het werk loopt, en exporteer eruit wanneer er een afgeronde versie nodig is.
GLB is glTF verpakt in één binaire container: de JSON-scènebeschrijving, de geometriebuffer en elke textuur, in één bestand met een kleine header. Pak een GLB uit en je hebt de .gltf, de .bin en de afbeeldingen die anders in een map zouden staan.
Dat is het hele verschil, en het is de reden dat vrijwel alles gepubliceerd als 3D op het web een GLB is. Een .gltf zonder zijn metgezellen is een scènebeschrijving die verwijst naar data die er niet is.
Een 3D-model heeft meer losse onderdelen dan de meeste assets: een binaire buffer, een basiskleurtextuur, een normalmap, een roughnessmap, een occlusionmap, een emissivemap. Eén object kan acht bestanden zijn.
Eén bestand elimineert een hele categorie mislukkingen — een ontbrekende textuur, een gebroken relatief pad. Het elimineert ook netwerkrondgangen: een browser die een GLB ophaalt doet één verzoek waar het .gltf-equivalent er acht doet.
Op Android neemt Scene Viewer een GLB, en het model-viewer-element dat de meeste sites gebruiken voor 3D neemt GLB als hoofdbron. Richt een telefoon op een productpagina en het model dat in de kamer verschijnt, kwam uit een GLB.
iOS is de uitzondering om te kennen: Apples Quick Look gebruikt USDZ, zijn eigen formaat, dus een site die AR op beide platforms ondersteunt, publiceert een GLB en een USDZ naast elkaar.
Texturen domineren, niet geometrie. Een model met vier 4K-maps is dertig megabyte voordat er iets anders meetelt, en ze terugbrengen naar 1K of 2K kost meestal niets zichtbaars. Doe dat eerst.
Dan Draco voor de mesh, wat geometrie vaak naar een vijfde of een tiende van zijn omvang brengt, en KTX2 met Basis Universal voor de texturen. Samen maken die routinematig van een export van veertig megabyte iets onder de drie.
Bewerken en inspecteren. Een .gltf is leesbare JSON, dus een verkeerde materiaalwaarde is te vinden en te herstellen in een teksteditor, en versiebeheer kan een zinvol verschil tonen tussen twee revisies.
Een GLB is ondoorzichtig. Elke wijziging betekent uitpakken, bewerken en herpakken. De verstandige aanpak: bewaar de .gltf en zijn bestanden als werkmaster, en produceer de GLB als buildstap voor levering.
Breed, voor een formaat van tien jaar oud. Elke web-3D-bibliotheek, Blender, Unity, Unreal, Godot, Sketchfab en de grote asset-marktplaatsen. Zelfs Microsoft Office kan er eentje insluiten.
Waar het niet geaccepteerd wordt, is alles gebouwd rond oudere pijplijnen: 3D-printen wil STL of 3MF, CAD wil zijn eigen formaten, film en VFX gebruiken USD of Alembic. GLB is een real-time leveringsformaat.
GLB en glTF zetten in beide richtingen verliesvrij om, want het is dezelfde data met andere verpakking. Alles dat het ene leest, leest het andere.
Vanuit OBJ, FBX of een modelleerprogramma hebben materialen meestal aandacht nodig: de fysiek gebaseerde woordenschat die GLB gebruikt, heeft geen equivalent in OBJ’s MTL. Naar STL voor printen wordt alles behalve de vorm weggegooid, en de mesh moet meestal gerepareerd worden.
| Extensie | .glb |
|---|---|
| Mediatype | model/gltf-binary |
| Uitgegeven door | Khronos Group |
| Voor het eerst gepubliceerd | 2016 |
| Specificatie | glTF 2.0 |