glTF JSON (.gltf)

ISO/IEC Standard

GL Transmission Format (glTF) to otwarta, wolna od opłat licencyjnych specyfikacja JSON służąca do wydajnego przesyłania i ładowania scen oraz modeli 3D przez WebGL, WebGPU, silniki gier i aplikacje natywne.

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 glTF, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki glTF, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

7B 0A 20 20 22 61 73 73 65 74 22

REPREZENTACJA ASCII: {\n "asset"

Normalizacja: ISO/IEC 12113:2022 / Khronos Open Standard

Specyfikacja techniczna

Architektura konteneraCzytelny dokument JSON opisujący graf sceny, węzły, siatki, akcesory, materiały i animacje oraz odwołujący się do zewnętrznych buforów
KompresjaTekstury zewnętrzne (PNG, JPEG, WebP) i opcjonalna kompresja geometrii Draco
Kolejność bajtów (Endianness)Tekst JSON UTF-8 z odwołaniami do buforów .bin w kolejności Little-Endian
Przestrzenie kolorówKolor bazowy sRGB, Liniowe kanały chropowatości i metaliczności
Kanały i strukturaHierarchia sceny, węzły, kamery, materiały PBR, szkielety do animacji szkieletowej i cele morfingu
Maks. wymiaryNieograniczona przestrzeń współrzędnych i liczba trójkątów
PrzezroczystośćTryb alfa BLEND, MASK z progiem odcięcia lub transmisja objętościowa
Streaming i progresywne ładowanieglTF oddziela opis sceny od binarnych danych geometrii i tekstur, dzięki czemu przeglądarka może wczytywać potrzebne elementy zamiast czekać na jeden duży plik.

Techniczna macierz porównawcza: glTF a konkurencja

Atrybut technicznyglTF (Bieżący)GLBOBJFBX
Architektura plikuTekst sceny JSON + towarzyszący plik .bin / teksturyPojedynczy, samowystarczalny plik binarnyZwykły tekst zawierający wierzchołki i ściany + .mtlWłasnościowy kontener binarny/ASCII
Standardy materiałów PBRStandaryzowany Metallic-Roughness PBRStandaryzowany Metallic-Roughness PBRStarsze materiały Phong/LambertNiestandardowe materiały własnościowe
Obsługa animacjiSkórowanie szkieletowe i cele morficzne (morph targets)Skórowanie szkieletowe i cele morficzne (morph targets)Brak (tylko geometria statyczna)Złożone animacje i kości
Wydajność w czasie wykonaniaZoptymalizowany dla WebGL i silników czasu rzeczywistegoZoptymalizowany dla WebGL i silników czasu rzeczywistegoWymaga wolnego parsowania i przebudowyWymaga złożonego parsowania przez SDK na komputerze

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Błąd silnika 3D: „Nie udało się załadować bufora: nie znaleziono URI”.

Główna przyczyna: Towarzyszący plik binarny .bin lub obrazy tekstur nie zostały przesłane razem z plikiem .gltf.

Odzyskiwanie: Spakuj razem wszystkie pliki towarzyszące lub przekonwertuj je bezpośrednio na pojedynczy plik GLB za pomocą File2File.app.

Analiza bezpieczeństwa i wektory ataku na parser

Pliki JSON formatu glTF odwołują się do zewnętrznych adresów URI (URI danych lub zdalnych adresów URL), co może wywołać podatności typu SSRF (Server-Side Request Forgery) lub przejście ścieżki (path traversal).

Znane wektory ataku

  • Przejście ścieżki poprzez względne URI bufora (np. 'uri: ../../../etc/passwd').
  • Atak SSRF przez pobieranie buforów ze zdalnych adresów sieciowych w serwerowych generatorach miniatur 3D.
  • Odmowa usługi wskutek błędnie skonstruowanych cykli w rekurencyjnej hierarchii węzłów.

Najlepsze praktyki obronne: Zablokuj zdalne adresy URL i normalizuj lokalne ścieżki URI buforów przed ich wczytaniem.

Pochodzenie historyczne i kamienie milowe

2022glTF 2.0 uzyskuje międzynarodową ratyfikację jako norma ISO/IEC 12113:2022.
2017Grupa Khronos wydaje glTF 2.0, standaryzując rendering oparty na fizyce (PBR) jako kluczową funkcję.
2015glTF 1.0 zostaje ogłoszony na konferencji SIGGRAPH; format opracowali Fabrice Robinet, Neil Trevett i Tony Parisi.

Główne zalety

  • Czytelna dla człowieka struktura JSON umożliwia edycję programową, tworzenie skryptów dla potoków przetwarzania oraz oględziny.
  • Modułowa budowa: oddziela lekkie metadane sceny od obszernej geometrii binarnej (.bin) i tekstur.
  • Materiały PBR mogą poprawiać spójność, ale wynik zależy od renderera, oświetlenia i ustawień.

Ograniczenia techniczne i wady

  • Złożoność wielu plików: udostępnianie modelu wymaga spakowania plików .gltf, .bin oraz tekstur w archiwum ZIP.
  • Rozpoczęcie przesyłania przez sieć jest nieco wolniejsze niż w przypadku jednoplikowego GLB ze względu na wiele żądań HTTP.
  • Zależności od ścieżek względnych mogą ulec uszkodzeniu w przypadku zmiany nazwy lub przeniesienia towarzyszących plików tekstur.

Ciekawe informacje techniczne

  • glTF nosi oficjalny przydomek „JPEG formatów 3D”, ponieważ skupia się na przesyłaniu i wyświetlaniu modeli w czasie działania, a nie na ich tworzeniu.
  • Grupa Khronos wprowadziła glTF, aby usprawnić przesyłanie zasobów 3D w aplikacjach internetowych i mobilnych.
  • NASA udostępnia publicznie modele 3D łazików, satelitów i astronautów do pobrania w formacie glTF.

Często zadawane pytania techniczne

Dlaczego w moim pliku glTF brakuje kolorów lub kształtów?

Plik .gltf zawiera jedynie instrukcje sceny zapisane w JSON. Do kształtów 3D odwołuje się w towarzyszących plikach .bin, a do kolorów - w plikach tekstur .png lub .jpg. Upewnij się, że wszystkie te pliki znajdują się w tym samym folderze.

Jak przekształcić plik glTF w pojedynczy plik GLB?

Prześlij plik .gltf wraz z towarzyszącym mu plikiem .bin i plikami tekstur do File2File.app, aby natychmiast połączyć je w pojedynczy, samowystarczalny plik .glb.

Jakie programy obsługują format glTF?

Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot i Windows 3D Viewer obsługują glTF od razu, bez dodatkowej konfiguracji.