Konvertera GLB till glTF
Genom att konvertera GLB till GLTF packas en enda binär behållare upp i separata text- och tillgångsfiler så att utvecklare enkelt kan redigera texturer och 3D-geometrikod.
Formatjämförelse och tekniska specifikationer
| Specifikation | GLB | GLTF |
|---|---|---|
| MIME-typ | model/ | model/ |
| Typ | fristående binär 3D-behållare | överföring av 3D-resurser vid körning |
| Komprimering | binärt paketerade JSON-data, buffertar och texturer | förlustfritt JSON-manifest + externa binära buffertar |
| Standardspecifikation | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Magic Bytes-huvud | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) |
Formatöversikt och användningsområden
GLB-formatet packar 3D-scener, animationer, material och texturer i ett enda snyggt binärt paket. Även om detta är utmärkt för att snabbt läsa in objekt på webbsidor och i spel, gör det svårt att redigera rådata. Utvecklare behöver ofta packa upp en GLB-fil till GLTF-formatet när de vill granska scenstrukturen, finjustera materialegenskaper i en textredigerare eller ändra inbäddade shader-parametrar. Att arbeta med uppackade GLTF-tillgångar gör det möjligt för teknikteam att versionshantera specifika 3D-mesh-komponenter med vanliga Git-arbetsflöden. Istället för att spåra en stor binär klump kan utvecklare checka in små textändringar i JSON-manifestet samtidigt som de hanterar separata binära buffertfiler. Denna konverteringsprocess stöder avancerade webbutvecklingsflöden där 3D-tillgångar kräver anpassad shader-injektering eller dynamiskt byte av textur före körningsmiljöns driftsättning.
Tekniska specifikationer och kodeköversikt
GLB använder MIME-typen model/gltf-binary och börjar med ett 12 byte stort huvud som innehåller ett 4-bytesmagiskt nummer (0x46546C67), ett 4-bytesversionsheltal och en 4-bytesfilängd. Detta huvud följs av block (chunks) som innehåller ett JSON-manifest och binära buffertar. Att konvertera detta till GLTF, som använder MIME-typen model/gltf+json, separerar manifestet till en läsbar textfil med filändelsen .gltf. Geometridatan och pixelkartorna skrivs ut till separata externa filer som .bin och .png. Ingetdera formatet använder förlustbringande komprimering som standard. Båda bevarar vertispositioner, normaler och UV-koordinater med full matematisk precision.
OS- och webbläsarkompatibilitet
Uppackade GLTF-filer fungerar smidigt i de flesta moderna webbläsare, bland annat Google Chrome, Mozilla Firefox, Apple Safari och Microsoft Edge, med WebGL- och WebGPU-renderare. Datoroperativsystem som Windows 10 och 11, macOS och Linux stöder visning av GLTF med inbyggda verktyg som Windows 3D Viewer och Blender. Mobila operativsystem som iOS och Android visar GLTF-tillgångar i inbyggda AR-miljöer och webbappar. Utvecklare behöver dock lagra de separata .bin- och .gltf-filerna korrekt på sina servrar för att undvika fel med CORS (resursdelning mellan olika ursprung).
Användbar information
Ha alltid dina texturkartor i samma mapp som den huvudsakliga .gltf-filen efter konvertering så att JSON-manifestet kan hitta sina externa beroenden utan söndriga sökvägsfel.
Vanliga frågor
Hur konverterar man glTF Binary till glTF JSON utan att förlora kvalitet?
Konvertering från GLB till GLTF är helt förlustfri eftersom båda formaten använder samma matematiska strukturer. Processen extraherar JSON-blocket och de binära buffertarna ur den enda binära behållaren och sparar dem som separata filer på disken utan att ändra hörnpunktsdata eller pixelkomprimering.
Vad är skillnaden mellan glTF Binary och glTF JSON?
GLB är en fristående binär fil som packar scendeskrivning, geometri och texturer i en enda nedladdning. GLTF separerar dessa element genom att lagra scenstrukturen i en läsbar textfil samtidigt som geometri och texturer hålls i externa binära och bildfiler.