Binarny glTF (.glb)
ISO/IEC StandardowyBinary glTF (GLB) to niezależny, jednoplikowy kontener binarny standardu glTF 2.0, powszechnie uznawany za „JPEG formatów 3D" w grafice webowej 3D, rozszerzonej rzeczywistości (AR) oraz w 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-byte binary header ('glTF', version, length) followed by JSON chunk (CHUNK 0) and binary buffer chunk (CHUNK 1) |
| Kompresja | DRACO mesh geometry compression, KHR_texture_basisu (KTX2/Basis Universal GPU textures), and ExtMeshopt |
| Kolejność bajtów (Endianness) | Little-Endian (Intel x86 / WebGL standard) |
| Przestrzenie kolorów | sRGB textures, Linear PBR roughness/metallic channels |
| Kanały i struktura | PBR materials (Metallic-Roughness), skinned skeletal meshes, morph targets, animations, cameras, and lights |
| Maks. wymiary | Unbounded vertex and triangle count (supports multi-gigabyte models) |
| Przezroczystość | Alpha coverage (MASK), alpha blending (BLEND), and volumetric transmission |
| Streaming i progresywne ładowanie | Single self-contained file with binary offset tables for direct GPU VBO loading |
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 | Uniwersalny standard WebGL i Android AR | Uniwersalny standard WebGL (wiele plików) | Standard Apple iOS Quick Look AR | Standard importu dla desktopowych silników gier |
| Model materiałów | Standaryzowany glTF PBR Metallic-Roughness | Standaryzowany glTF PBR | Uniwersalny schemat materiałów Pixar PBR | Własnościowe shadery Phong/Lambert/PBR |
| Wydajność odczytu przez GPU | Natychmiastowa (bezpośrednie mapowanie pamięci) | Szybka (wiele żądań sieciowych) | Szybka (skompresowane wpisy ZIP) | Wolna (wymagane złożone parsowanie) |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Model 3D renderuje się z brakującymi teksturami lub jednolicie czarnymi powierzchniami.
Główna przyczyna: Uszkodzony osadzony blok tekstur lub brakujące odwołanie do tekstury PBR metallic-roughness.
Odzyskiwanie: Sprawdź i napraw offsety bloków za pomocą konwertera 3D File2File lub glTF-Transform.
Analiza bezpieczeństwa i wektory ataku na parser
Parsery GLB przetwarzają bloki tekstu JSON połączone z dowolnymi buktorami binarnymi, co może wywołać błędy przepełnienia bufora w przypadku niedopasowania długości buktorów.
Znane wektory ataku
- Nadmierny odczyt bufora, gdy sumaryczna wartość bufferView byteOffset i 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:
Pochodzenie historyczne i kamienie milowe
Główne zalety
- W pełni samowystarczalny: łączy geometrię 3D, materiały PBR, tekstury (PNG/JPEG/KTX2) oraz animacje szkieletowe w jednym pliku.
- Bezpośrednie przesyłanie do GPU: binarne buktory geometrii pasują do układów pamięci WebGL / Vulkan bez narzutu na parsowanie przez procesor CPU.
- Nekwestionowany standard dla WebGL, WebGPU, e-commerce z podglądem produktów 3D oraz mobilnej rozszerzonej rzeczywistości.
Ograniczenia techniczne i wady
- Binarna natura utrudnia ręczną inspekcję tekstową lub edycję bez wyspecjalizowanych narzędzi 3D.
- Wymaga bibliotek dekompresji Draco lub Basis Universal w przypadku korzystania z zaawansowanych rozszerzeń kompresji.
- 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, które tworzą zapis ASCII „glTF".
- Przeglądając model 3D buta sportowego w przeglądarce mobilnej, niemal na pewno patrzysz na interaktywny model GLB.
- Format GLB został zaprojektowany specjalnie po to, aby sprzęt graficzny mógł odczytywać buktory wierzchołków bezpośrednio z dysku do pamięci VRAM bez żadnych transformacji.
Często zadawane pytania techniczne
Czym dokładnie jest plik GLB?
GLB to binarna wersja formtu glTF, która pakuje całą geometrię 3D, materiały oraz tekstury do jednego, wydajnego pliku.
Dlaczego GLB jest nazywany standardem dla stron internetowych?
Ponieważ został zoptymalizowany pod kątem natychmiastowego ładowania i bezpośredniego przesyłania danych do pamięci procesora karty graficznej przez API takie jak WebGL.
Jak mogę przekonwertować pliki OBJ lub FBX do formatu GLB?
Możesz szybko i bezpiecznie przekonwertować swoje pliki 3D do formatu GLB bezpośrednio w przeglądarce za pomocą platformy File2File.
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, zapewniając szybsze dostarczanie przez web.
Konwersja pliku GLB do formatu GLTF rozpakowuje pojedynczy kontener binarny do osobnych plakatów tekstowych i zasobów, umożliwiając programistom łatwą edycję tekstur i kodu geometrii 3D.