Konwerter GLB na glTF
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.
Porównanie formatów i specyfikacja techniczna
| Specyfikacja | GLB | GLTF |
|---|---|---|
| Typ MIME | model/ | model/ |
| Typ | samodzielny binarny kontener 3D | Przesyłanie zasobów 3D podczas działania programu |
| Kompresja | binarnie spakowany JSON, bufory i tekstury | bezstratny manifest JSON + zewnętrzne bufory binarne |
| Standardowa specyfikacja | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Nagłówek z bajtami identyfikującymi | 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ą w większości nowoczesnych przeglądarek internetowych, w tym Google Chrome, Mozilla Firefox, Apple Safari i Microsoft Edge, za pomocą rendererów WebGL i WebGPU. Systemy Windows 10 i 11, macOS oraz Linux obsługują wyświetlanie GLTF przez narzędzia takie jak Przeglądarka 3D systemu Windows i Blender. Urządzenia z iOS i Androidem renderują zasoby GLTF w natywnych środowiskach AR i aplikacjach internetowych. Programiści muszą prawidłowo hostować osobne pliki .bin i .gltf na swoich serwerach, aby uniknąć błędów 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.
Często zadawane pytania
Jak przekonwertować plik glTF Binary na glTF JSON bez utraty jakości?
Konwersja GLB do GLTF jest całkowicie bezstratna, ponieważ oba formaty korzystają z tych samych struktur matematycznych. Proces wyodrębnia blok JSON i bufory binarne z pojedynczego kontenera binarnego, a następnie zapisuje je jako osobne pliki na dysku bez zmiany danych wierzchołków ani kompresji pikseli tekstur.
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 jeden plik do pobrania. GLTF oddziela te elementy, przechowując graf sceny w czytelnym pliku tekstowym, a geometrię i tekstury w zewnętrznych plikach binarnych i graficznych.