glTF dveinaris į glTF JSON keitiklis
GLB konvertavimas į GLTF išskleidžia vieną dveinarį konteinerį į atskirus teksto ir turto failus, kad kūrėjai galėtų lengvai redaguoti tekstūras ir 3D geometrijos kodą.
Formatų palyginimas ir techninės specifikacijos
| Specifikacija | GLB | GLTF |
|---|---|---|
| MIME tipas | model/gltf-binary | model/gltf+json |
| Tipas | self-contained binary 3D container | runtime 3D asset transmission |
| Glaudinimas | binary packaged JSON, buffers, and textures | lossless JSON manifest + external binary buffers |
| Standartinė specifikacija | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Maginės baitų antraštės (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) |
Formato apžvalga ir taikymas
GLB formatas sujunga 3D scenas, animacijas, medžiagas ir tekstūras į vieną tvarkingą dveinarį paketą. Nors tai puikiai tinka greitai įkelti objektus į tinklalapius ir žaidimus, tai apsunkina tiesioginį neapdorotų duomenų redagavimą. Kūrėjams dažnai prireikia išskleisti GLB failą į GLTF formatą, kai reikia patikrinti scenos struktūrą, koreguoti medžiagų savybes teksto rengyklėje arba keisti įterptus šešėlių parametrus. Darbas su išskleistais GLTF ištekliais leidžia inžinierių komandoms taikyti versijų kontrolę konkretiems 3D tinklo komponentams naudojant standartinius „Git" darbo procesus. Vietoj to, kad sektų didžiulį dveinarį failą, kūrėjai gali registruoti nedidelius tekstinius pakeitimus JSON manifeste ir kartu valdyti atskirus dveinarius buferio failus. Šis konvertavimo procesas palaiko pažangius žiniatinklio kūrimo etapus, kai prieš pradedant veikti 3D ištekliams reikia pasirinktinio šešėlių įterpimo arba dinaminio tekstūrų keitimo.
Techninės specifikacijos ir kodekų apžvalga
GLB naudoja „model/gltf-binary" MIME tipą ir prasideda 12 baitų antrašte, kurioje yra 4 baitų magiškasis skaičius (0x46546C67), 4 baitų versijos sveikasis skaičius ir 4 baitų bendras failo ilgis. Po šios antraštės eina blokai, kuriuose yra JSON manifestas ir dveinariai buferiai. Konvertuojant tai į GLTF, kuris naudoja „model/gltf+json" MIME tipą, manifestas atskiriamas į žmogui suprantamą teksto failą su .gltf plėtiniu. Geometrijos duomenys ir pikselių žemėlapiai įrašomi į atskirus išorinius failus, tokius kaip .bin ir .png. Pagal nutylėjimą nė vienas formatas nenaudoja nuostolingo glaudinimo. Abu išsaugo viršūnių padėtis, normales ir UV koordinates su visiškai matematiniu tikslumu.
OS ir naršyklės suderinamumas
Išskleisti GLTF failai sklandžiai veikia visose moderniose naršyklėse, įskaitant „Google Chrome", „Mozilla Firefox", „Apple Safari" ir „Microsoft Edge", naudojant „WebGL" ir „WebGPU" renderinimo variklius. Darbalaukio operacinės sistemos, tokios kaip „Windows 10" ir „11", „macOS" ir „Linux", palaiko GLTF peržiūrą per gimtuosius įrankius, pavyzdžiui, „Windows 3D Viewer" ir „Blender". Mobiliosios „iOS" ir „Android" operacinės sistemos atvaizduoja GLTF išteklius gimtosiose AR aplinkose ir internetinėse programose, nors kūrėjai turi tinkamai talpinti atskirus .bin ir .gltf failus savo serveriuose, kad išvengtų kilmės išteklių bendrinimo klaidų.
💡 Naudinga informacija
Po konvertavimo visada laikykite tekstūrų žemėlapius tame pačiame aplanke kaip ir pagrindinį .gltf failą, kad JSON manifestas galėtų rasti savo išorinius priklausomybių failus be klaidų.
Formatų palyginimas ir techninės specifikacijos
Sudėtingas 3D personažo modelis, užimantis 15 megabaitų GLB formatu, duos panašų bendrą duomenų kiekį, kai bus padalintas į .gltf manifestą ir išorinius .bin failus. Naudojant standartinį 4G ryšį, kurio greitis yra 30 megabaitų per sekundę, šio ištekliaus atsisiuntimas užtrunka apie 4 sekundes. Atnaujinus ryšį iki 5G tinklo arba 300 megabitų šviesolaidinio ryšio, perdavimo laikas sumažėja iki dalies sekundės, todėl kelių failų įkėlimas internete tampa beveik akimirksniu.
Dažnai užduodami klausimai
Kaip konvertuoti glTF dveinarį į glTF JSON neprarandant kokybės?
Konvertavimas iš GLB į GLTF yra visiškai nenuostolingas, nes abu formatai naudoja tas pačias pagrindines matematines struktūras. Procesas tiesiog išskiria JSON bloką ir dveinarius buferius iš vieno dveinario konteinerio ir įrašo juos kaip atskirus failus diske, nekeisdamas viršūnių duomenų ar pikselių glaudinimo.
Kuo skiriasi glTF dveinaris ir glTF JSON?
GLB yra savarankiškas dveinaris failas, kuris sujungia scenos aprašymą, geometriją ir tekstūras į vieną atsisiuntimą. GLTF atskiria šiuos elementus, saugodamas scenos grafiką skaitomame teksto faile, o geometriją ir tekstūras laikydamas išoriniuose dveinariuose ir paveikslų failuose.