glTF JSON į glTF Binary keitiklis
glTF JSON išteklių konvertavimas į glTF Binary konteinerius sujungia atskirus teksto manifestus, dvejetainius buferius ir tekstūras į vieną failą, kad būtų galima greičiau pristatyti žiniatinklyje.
Formatų palyginimas ir techninės specifikacijos
| Specifikacija | GLTF | GLB |
|---|---|---|
| MIME tipas | model/gltf+json | model/gltf-binary |
| Tipas | runtime 3D asset transmission | self-contained binary 3D container |
| Glaudinimas | lossless JSON manifest + external binary buffers | binary packaged JSON, buffers, and textures |
| Standartinė specifikacija | Khronos glTF 2.0 Specification | Khronos glTF 2.0 Binary Container |
| Maginės baitų antraštės (Magic Bytes) | 7B 22 61 73 73 65 74 22 ({"asset" JSON root) | 67 6C 54 46 02 00 00 00 (glTF version 2 binary container) |
Formato apžvalga ir taikymas
glTF JSON formatas saugo 3D scenas naudojant gryno teksto struktūrą. Šis teksto failas nurodo į išorinius dvejetainius failus ir vaizdo tekstūras. Nors ši sąranka padeda kūrėjams tiesiogiai kodo redaktoriuose redaguoti medžiagas ir geometrijos mazgus, perkeliant modelį reikia vienu metu tvarkyti kelis failus. Jei viena tekstūros byla prarandama arba failo kelias nutrūksta, 3D modelis naršyklėse ir žaidimų varikliuose neįsikelia tinkamai. glTF JSON konvertavimas į glTF Binary sujungia visus šiuos atskirus elementus į vieną paketą. 3D menininkai ir interneto kūrėjai naudoja šį konvertavimo veiksmą prieš publikuodami turtą gamybiniuose interneto serveriose arba įkeldami juos į išplėstinės realybės žiūrykles. Turint vieną failą sumažėja HTTP užklausų skaičius, o tai pagreitina įkėlimo laiką vartotojams, lankantiems el. prekybos produktų puslapius ir interaktyvias 3D žiniatinklio programas.
Techninės specifikacijos ir kodekų apžvalga
glTF JSON formatas naudoja MIME tipo model/gltf+json, remdamasis tekstiniu JSON manifestu, suporuotu su išoriniais bin failais ir vaizdais. Priešingai, GLB formatas naudoja MIME tipo model/gltf-binary ir viską supakuoja į vieną dvejetainį konteinerį. GLB failas prasideda 12 baitų antrašte, kurioje yra 4 baitų magiškasis numeris, nustatytas į 0x46546C67, 4 baitų versijos numeris ir 4 baitų bendras failo ilgis. Po šios antraštės eina blokai, kuriuose saugomi JSON manifestas ir dvejetainio buferio duomenys. Konversijos metu nei vienas formatas nekeičia apatinio tinklelio geometrijos arba tekstūros pikselių duomenų, o tai reiškia, kad procesas yra griežtai be nuostolių.
OS ir naršyklės suderinamumas
Abu formatai veikia tiesiogiai visose šiuolaikinėse interneto naršyklėse, naudojant WebGL ir WebGPU atvaizdavimo variklius, nereikalaujant trečiųjų šalių papildinių. Darbastalio operacinės sistemos, tokios kaip „Windows" ir „macOS", palaiko GLB peržiūrą per įmontuotus failų peržiūros įrankius. Mobiliosios platformos, įskaitant „iOS" ir „Android", tiesiogiai atvaizduoja GLB failus išplėstinės realybės programose „Quick Look" ir „Scene Viewer".
💡 Naudinga informacija
Prieš supakuodami pradines tekstūras į GLB failą, išlaikykite jas PNG arba JPEG formatu, kad išlaikytumėte vizualinį tikslumą nepadidindami konteinerio dydžio.
Formatų palyginimas ir techninės specifikacijos
Tipinis 15 MB 3D išteklius, padalintas tarp glTF JSON failo ir kelių išorinių tekstūrų, atsisiunčiamas maždaug per 3,0 sekundės naudojant standartinį 4G ryšį, per 0,8 sekundės naudojant 5G ir per 0,2 sekundės šviesolaidiniame tinkle.
Dažnai užduodami klausimai
Kaip konvertuoti glTF JSON į glTF Binary neprarandant kokybės?
glTF JSON konvertavimas į GLB yra visiškai be nuostolių, nes procesas tik supakuoja esamą teksto manifestą, dvejetainius buferius ir vaizdo failus į vieną konteinerį, nekeisdamas viršūnių duomenų ir papildomai neglaudindamas tekstūros pikselių.
Kuo skiriasi glTF JSON nuo glTF Binary?
glTF JSON naudoja žmogaus skaitomą teksto failą, kuris nurodo į išorinius bin ir vaizdo failus, o glTF Binary supakuoja teksto manifestą, geometrijos duomenis ir tekstūras į vieną savarankišką failą su magiškojo baito antrašte.