glTF JSON (.gltf)

ISO/IEC Standart

GL Transmission Format (glTF), WebGL, WebGPU, oyun motorları ve yerel uygulamalar tarafından 3D sahnelerin ve modellerin verimli bir şekilde aktarılması ve yüklenmesi için açık standartlı, telifsiz bir JSON spesifikasyonudur.

GLTF biçimini GLB biçimine dönüştür

Tarayıcında GLTF biçimini GLB biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, glTF dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, glTF dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

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

ASCII GÖSTERİMİ: {\n "asset"

Standartlaştırma: ISO/IEC 12113:2022 / Khronos Open Standard

Teknik Özellikler

Kapsayıcı mimarisiSahne grafiğini, düğümleri, ağları, erişimcileri, malzemeleri ve animasyonları açıklayan, harici arabellekleri gösteren insanlarca okunabilir JSON belgesi
SıkıştırmaHarici dokular (PNG, JPEG, WebP) ve isteğe bağlı Draco geometri sıkıştırması
Bayt Düzeni (Endianness)UTF-8 JSON metni (Küçük uçlu .bin arabelleklerine başvurur)
Renk UzaylarısRGB temel rengi, Doğrusal pürüzlülük/metaliklik
Kanallar ve YapıSahne hiyerarşisi, düğümler, kameralar, PBR malzemeleri, iskelet kaplamaları ve şekil değiştirme hedefleri
Maksimum BoyutlarSınırsız koordinat alanı ve üçgen sayısı
ŞeffaflıkBLEND alfa kipi, eşik değerli MASK veya hacimsel geçirgenlik
Akış ve Aşamalı İşlemeglTF, sahne açıklamalarını ikili geometri ve doku verilerinden ayırır. Böylece görüntüleyici, tek bir büyük dosyanın tamamını beklemek yerine bileşenleri gerektiğinde yükleyebilir.

Teknik karşılaştırma matrisi: glTF ve rakipleri

Teknik NitelikglTF (Güncel)GLBOBJFBX
Dosya MimarisiJSON sahne metni + yardımcı .bin / dokularTek kendi kendine yeterli ikili dosyaDüz metin köşe noktaları ve yüzeyler + .mtlTescilli ikili/ASCII kapsayıcı
PBR Malzeme StandartlarıStandartlaştırılmış Metalik-Pürüzlülük PBRStandartlaştırılmış Metalik-Pürüzlülük PBREski Phong/Lambert malzemeleriÖzel tescilli malzemeler
Animasyon Desteğiİskelet animasyonu (skinning) ve morf hedefleriİskelet animasyonu (skinning) ve morf hedefleriYok (yalnızca statik geometri)Karmaşık animasyon ve kemikler
Çalışma Zamanı PerformansıWebGL ve gerçek zamanlı motorlar için optimize edilmiştirWebGL ve gerçek zamanlı motorlar için optimize edilmiştirYavaş ayrıştırma ve yeniden oluşturma gerektirirKarmaşık masaüstü SDK ayrıştırması gerektirir

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

3D motor hatası: 'Tampon yüklenemedi: URI bulunamadı'.

Kök Neden: Yardımcı .bin ikili dosyası veya doku görselleri .gltf dosyasıyla birlikte yüklenmedi.

Kurtarma: Tüm yardımcı dosyaları birlikte paketleyin veya File2File.app ile doğrudan tek bir GLB dosyasına dönüştürün.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

glTF JSON dosyaları, Sunucu Tarafı İstek Sahteciliğine (SSRF) veya yol geçişine yol açabilecek harici URI'lere (veri URI'leri veya uzak URL'ler) başvurur.

Bilinen Saldırı Vektörleri

  • Göreceli tampon URI'leri yoluyla yol geçişi (ör. 'uri: ../../../etc/passwd').
  • Sunucu tarafı 3D küçük resim oluşturucularda uzak ağ tamponu getirme yoluyla SSRF.
  • Hatalı biçimlendirilmiş yinelemeli düğüm hiyerarşisi döngüleri yoluyla hizmet reddi.

Savunmaya yönelik en iyi uygulamalar: Dosyayı yüklemeden önce uzak URL'leri engelle ve tüm yerel arabellek URI yollarını normalleştir.

Tarihsel kökenler ve önemli dönüm noktaları

2022glTF 2.0, ISO/IEC 12113:2022 standardı olarak uluslararası düzeyde onaylandı.
2017Khronos Group, Fizik Tabanlı Oluşturma (PBR) özelliğini temel bir özellik olarak standartlaştıran glTF 2.0'ı yayınladı.
2015Fabrice Robinet, Neil Trevett ve Tony Parisi tarafından tasarlanan glTF 1.0, SIGGRAPH'ta duyuruldu.

Temel Avantajlar ve Artılar

  • İnsan tarafından okunabilir JSON yapısı, programatik düzenlemeye, işlem hattı betikleri yazmaya ve görsel incelemeye olanak tanır.
  • Modüler tasarım: hafif sahne meta verilerini ağır ikili geometriden (.bin) ve dokulardan ayırır.
  • PBR malzemeleri tutarlılığı artırabilir, ancak sonuç işleyiciye, aydınlatmaya ve ayarlara bağlıdır.

Teknik Kısıtlamalar ve Eksiler

  • Çoklu dosya karmaşıklığı: bir modeli paylaşmak, .gltf, .bin ve görüntü dokularının birlikte sıkıştırılmasını veya paketlenmesini gerektirir.
  • Birden fazla HTTP isteği nedeniyle tek dosyalı GLB'ye göre biraz daha yavaş ilk ağ başlangıcı.
  • Yardımcı doku dosyaları yeniden adlandırılırsa veya taşınırsa göreli yol bağımlılıkları bozulabilir.

İlginç Teknik Bilgiler

  • glTF, oluşturmadan ziyade doğrudan çalışma zamanı aktarımı ve görüntülenmesine odaklandığı için resmi olarak '3D'nin JPEG'i' olarak anılır.
  • Khronos Group, web ve mobil uygulamalar için 3D varlıkların aktarımını kolaylaştırmak amacıyla glTF'yi tanıttı.
  • NASA, gezginlerin, uyduların ve astronotların 3D modellerini glTF formatında halka açık olarak indirilebilir sunmaktadır.

Sıkça Sorulan Teknik Sorular

glTF dosyamda neden renkler veya şekiller eksik?

.gltf dosyası yalnızca JSON sahne talimatlarını içerir. 3B şekiller için yardımcı .bin dosyalarına, renkler içinse .png/.jpg dosyalarına ihtiyaç duyar. Tüm yardımcı dosyaların aynı klasörde olduğundan emin ol.

Bir glTF dosyasını tek bir GLB dosyasına nasıl dönüştürürüm?

.gltf dosyanı ve yardımcı .bin ile doku dosyalarını File2File.app'e yükleyerek hepsini anında tek bir bağımsız .glb dosyasında birleştir.

Hangi programlar glTF formatını destekler?

Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot ve Windows 3D Viewer, glTF formatını kutudan çıktığı gibi (doğrudan) destekler.