Binarny glTF (.glb)
ISO/IEC StandardBinary glTF (GLB) to samowystarczalny, jednoplikowy pakiet binarny standardu glTF 2.0, powszechnie uznawany za „JPEG formatów 3D” w internetowej grafice 3D, rzeczywistości rozszerzonej (AR) i silnikach gier czasu rzeczywistego.
Konwertuj GLTF na GLB
Darmowy konwerter z GLTF na GLB w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki GLB, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki GLB, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
67 6C 54 46REPREZENTACJA ASCII: glTF
Normalizacja: ISO/IEC 12113:2022 / Khronos Open Standard
Specyfikacja techniczna
| Architektura kontenera | 12-bajtowy nagłówek binarny („glTF”, wersja, długość), po którym następuje fragment JSON (CHUNK 0) i fragment bufora binarnego (CHUNK 1) |
| Kompresja | Kompresja geometrii siatek DRACO, KHR_texture_basisu (tekstury GPU KTX2/Basis Universal) i ExtMeshopt |
| Kolejność bajtów (Endianness) | Little-endian (standard Intel x86 / WebGL) |
| Przestrzenie kolorów | sRGB textures, Liniowe kanały chropowatości i metaliczności PBR |
| Kanały i struktura | Materiały PBR (metaliczność i chropowatość), siatki z deformacją szkieletową, cele transformacji kształtu, animacje, kamery i światła |
| Maks. wymiary | Nieograniczona liczba wierzchołków i trójkątów; obsługuje modele o rozmiarze wielu gigabajtów |
| Przezroczystość | Pokrycie kanału alfa (MASK), mieszanie alfa (BLEND) i transmisja objętościowa |
| Streaming i progresywne ładowanie | Jeden samodzielny plik z binarnymi tablicami offsetów umożliwiającymi bezpośrednie wczytywanie buforów wierzchołków do GPU |
Techniczna macierz porównawcza: GLB a konkurencja
| Atrybut techniczny | GLB (Bieżący) | GLTF | USDZ | FBX |
|---|---|---|---|---|
| Model pakowania | Pojedynczy, samowystarczalny plik binarny | JSON + zewnętrzne pliki .bin oraz tekstury | Archiwum ZIP ze schematami USD i teksturami | Własnościowy format binarny/ASCII Autodesk |
| Standard sieciowy i AR | Obsługa zależy od programu. | Obsługa zależy od programu. | Standard Apple iOS Quick Look AR | Standard importu dla desktopowych silników gier |
| Model materiałów | Standaryzowany glTF PBR Metallic-Roughness | Standaryzowany glTF PBR | Obsługa zależy od programu. | Własnościowe shadery Phong/Lambert/PBR |
| Wydajność odczytu przez GPU | Natychmiastowa (bezpośrednie mapowanie pamięci) | Szybka (wiele żądań sieciowych) | Szybka (nieskompresowane wpisy ZIP) | Wolna (wymagane złożone parsowanie) |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Model 3D wyświetla się bez tekstur lub z jednolicie czarnymi powierzchniami.
Główna przyczyna: Uszkodzony osadzony blok tekstur lub brakujące odwołanie do tekstury PBR metallic-roughness.
Odzyskiwanie: Sprawdź i napraw przesunięcia bloków za pomocą konwertera 3D File2File.app lub glTF-Transform.
Analiza bezpieczeństwa i wektory ataku na parser
Parsery GLB przetwarzają bloki tekstu JSON połączone z dowolnymi buforami binarnymi, co może wywołać błędy przepełnienia bufora w przypadku niedopasowania długości buforów.
Znane wektory ataku
- Odczyt danych poza buforem, gdy suma bufferView.byteOffset + bufferView.byteLength przekracza długość bloku binarnego.
- Odczyt indeksu wierzchołka spoza dozwolonego zakresu podczas wykonywania operacji WebGL drawElements.
- Atak typu odmowa usługi (DoS) poprzez zapętlone procedury dekompresji Draco.
Najlepsze praktyki obronne: Ściśle weryfikuj, czy wszystkie zakresy bajtów accessor i bufferView mieszczą się w granicach zadeklarowanego bloku binarnego.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- W pełni samowystarczalny: łączy w jednym pliku geometrię 3D, materiały PBR, tekstury (PNG/JPEG/KTX2) i animacje szkieletowe.
- Bezpośrednie przesyłanie do GPU: binarne bufory geometrii odpowiadają układom pamięci WebGL/Vulkan, bez narzutu na parsowanie przez procesor (CPU).
- Niekwestionowany standard dla WebGL, WebGPU, podglądów produktów 3D w e-commerce i mobilnej rzeczywistości rozszerzonej.
Ograniczenia techniczne i wady
- Ze względu na binarną postać plik trudno ręcznie przeglądać jako tekst lub edytować bez specjalistycznych narzędzi 3D.
- Zaawansowane rozszerzenia kompresji wymagają bibliotek dekompresujących Draco lub Basis Universal.
- Platformy Apple preferują format USDZ dla natywnego podglądu iOS Quick Look AR, co wymaga konwersji formatu z GLB.
Ciekawe informacje techniczne
- Pierwsze 4 bajty każdego pliku GLB to 0x67 0x6C 0x54 0x46, czyli zapis ASCII „glTF”.
- Przeglądając model 3D buta sportowego w przeglądarce mobilnej, niemal na pewno patrzysz na interaktywny model GLB.
- Format GLB zaprojektowano specjalnie tak, aby sprzęt graficzny mógł odczytywać bufory wierzchołków bezpośrednio z dysku do pamięci VRAM, bez żadnych transformacji.
Często zadawane pytania techniczne
Jaka jest różnica między glTF a GLB?
glTF to plik JSON, który odwołuje się do zewnętrznych danych geometrii w plikach .bin oraz osobnych plików z teksturami. GLB zbiera cały ten zestaw i pakuje go do jednego, kompaktowego pliku binarnego.
Jak mogę przekonwertować GLB do formatu USDZ dla Apple AR?
Możesz jednym kliknięciem przekonwertować modele GLB na pliki USDZ przygotowane do użycia na urządzeniach Apple za pomocą File2File.app bezpośrednio w przeglądarce.
Czy mogę otwierać pliki GLB w programie Blender?
Tak. Blender ma wbudowany, wydajny importer i eksporter glTF/GLB, będący integralną częścią oprogramowania.
Powiązane pary konwersji GLB
Konwersja zasobów glTF JSON do kontenerów glTF Binary łączy osobne manifesty tekstowe, bufory binarne i tekstury w jeden plik, przyspieszając dostarczanie treści w internecie.
Konwersja pliku GLB do formatu GLTF rozpakowuje pojedynczy kontener binarny na osobne manifesty tekstowe i pliki zasobów, umożliwiając programistom łatwą edycję tekstur i kodu geometrii 3D.