Konwerter z glTF Binary do glTF JSON
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.
Porównanie formatów i specyfikacja techniczna
| Specyfikacja | GLB | GLTF |
|---|---|---|
| Typ MIME | model/gltf-binary | model/gltf+json |
| Typ | self-contained binary 3D container | runtime 3D asset transmission |
| Kompresja | binary packaged JSON, buffers, and textures | lossless JSON manifest + external binary buffers |
| Standardowa specyfikacja | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Nagłówek 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) |
Przegląd formatu i zastosowania
Format GLB pakuje sceny 3D, animacje, materiały i tekstury w jeden zwarty pakiet binarny. Chociaż ułatwia to szybkie ładowanie obiektów do stron internetowych i gier, utrudnia edycję surowych danych. Programiści często muszą rozpakować plik GLB do formatu GLTF, gdy chcą przeanalizować strukturę sceny, dostosować właściwości materiałów w edytorze tekstowym lub zmodyfikować osadzone parametry shaderów. Praca z rozpakowanymi zasobami GLTF pozwala zespołom inżynieryjnym na kontrolę wersji konkretnych komponentów siatek 3D przy użyciu standardowych przepływów pracy Git. Zamiast śledzić ogromny obiekt binarny, programiści mogą zatwierdzać małe zmiany tekstowe w manifeście JSON, zarządzając jednocześnie osobnymi plikami buforów binarnych. Ten proces konwersji obsługuje zaawansowane potoki tworzenia stron internetowych, w których zasoby 3D wymagają niestandardowego wstrzykiwania shaderów lub dynamicznej wymiany tekstur przed wdrożeniem w czasie rzeczywistym.
Specyfikacja techniczna i analiza kodeków
GLB używa typu MIME model/gltf-binary i rozpoczyna się od 12-bajtowego nagłówka zawierającego 4-bajtową liczbę magiczną (0x46546C67), 4-bajtową liczbę całkowitą wersji oraz 4-bajtową całkowitą długość pliku. Po tym nagłówku następuje ciąg bloków zawierających manifest JSON oraz bufory binarne. Konwersja do formatu GLTF, który używa typu MIME model/gltf+json, oddziela manifest do czytelnego dla człowieka pliku tekstowego z rozszerzeniem .gltf. Dane geometryczne i mapy pikseli są zapisywane w osobnych plikach zewnętrznych, takich jak .bin oraz .png. Żaden z formatów domyślnie nie używa kompresji stratnej. Oba zachowują pozycje wierzchołków, wektory normalne oraz współrzędne UV z pełną precyzją matematyczną.
Zgodność z systemami operacyjnymi i przeglądarkami
Rozpakowane pliki GLTF działają płynnie we wszystkich nowoczesnych przeglądarkach internetowych, w tym Google Chrome, Mozilla Firefox, Apple Safari i Microsoft Edge, korzystając z silników renderujących WebGL i WebGPU. Stacjonarne systemy operacyjne, takie jak Windows 10 i 11, macOS oraz Linux, obsługują przeglądanie plików GLTF za pomocą narzędzi natywnych, takich jak Przeglądarka 3D systemu Windows oraz Blender. Mobilne systemy operacyjne na systemach iOS i Android renderują zasoby GLTF w natywnych środowiskach AR oraz aplikacjach internetowych, choć programistom zaleca się poprawne hostowanie osobnych plików .bin i .gltf na serwerach, aby uniknąć błędów udostępniania zasobów między źródłami (CORS).
💡 Przydatne informacje
Zawsze przechowuj mapy tekstur w tym samym folderze co główny plik .gltf po konwersji, aby manifest JSON mógł odnaleźć swoje zewnętrzne zależności bez błędów niepoprawnych ścieżek.
Porównanie formatów i specyfikacja techniczna
Złożony model postaci 3D zajmujący 15 megabajtów w formacie GLB wygeneruje podobny całkowity ślad danych po podzieleniu na manifest .gltf i zewnętrzne pliki .bin. Przy standardowym połączeniu 4G działającym z prędkością 30 megabitów na sekundę pobranie tego zasobu zajmuje około 4 sekund. Przejście na sieć 5G lub łącze światłowodowe o przepustowości 300 megabitów skraca czas przesyłania do ułamka sekundy, dzięki czemu ładowanie wielu plików w sieci web staje się niemal natychmiastowe.
Często zadawane pytania
Jak przekonwertować plik glTF Binary na glTF JSON bez utraty jakości?
Konwersja z formatu GLB do GLTF jest w pełni bezstratna, ponieważ oba formaty korzystają z tych samych leżących u ich podstaw struktur matematycznych. Proces ten polega po prostu na wyodrębnieniu bloku JSON i buforów binarnych z pojedynczego kontenera binarnego oraz zapisaniu ich jako osobnych plików na dysku bez modyfikowania danych wierzchołków lub kompresji pikseli.
Jaka jest różnica między glTF Binary a glTF JSON?
GLB to samowystarczalny plik binarny, który pakuje opis sceny, geometrię oraz tekstury w jedno pobranie. GLTF oddziela te elementy, przechowując wykres sceny w czytelnym pliku tekstowym, podczas gdy geometrię i tekstury utrzymuje w zewnętrznych plikach binarnych oraz obrazach.