glTF Binary - glTF JSON Dönüştürücüsü
GLB formatını GLTF formatına dönüştürmek, tek bir ikili (binary) konteyneri ayrı metin ve varlık dosyalarına ayırarak geliştiricilerin dokuları ve 3D geometri kodunu kolayca düzenlemesini sağlar.
Format Karşılaştırması ve Teknik Özellikler
| Özellik | GLB | GLTF |
|---|---|---|
| MIME Türü | model/gltf-binary | model/gltf+json |
| Tür | self-contained binary 3D container | runtime 3D asset transmission |
| Sıkıştırma | binary packaged JSON, buffers, and textures | lossless JSON manifest + external binary buffers |
| Standart Şartname | Khronos glTF 2.0 Binary Container | Khronos glTF 2.0 Specification |
| Sihirli Bayt Başlığı (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) |
Format Genel Bakışı ve Kullanım Alanları
GLB formatı, 3D sahneleri, animasyonları, materyalleri ve dokuları düzenli tek bir ikili pakette toplar. Bu durum nesnelerin web sayfalarına ve oyunlara hızlı bir şekilde yüklenmesi açısından harika olsa da ham verilerin düzenlenmesini zorlaştırır. Geliştiriciler sahne yapısını incelemek, bir metin düzenleyicide materyal özelliklerini ayarlamak veya gömülü gölgelendirici (shader) parametrelerini değiştirmek istediklerinde genellikle GLB dosyasını GLTF formatına ayırmaya ihtiyaç duyarlar. Ayrıştırılmış GLTF varlıklarıyla çalışmak, mühendislik ekiplerinin standart Git iş akışlarını kullanarak belirli 3D örgü bileşenlerini sürüm kontrolüne tabi tutmasını sağlar. Geliştiriciler devasa bir ikili veriyi takip etmek yerine, ayrı ikili arabellek dosyalarını yönetirken JSON bildirim dosyasındaki küçük metin değişikliklerini taahhüt (commit) edebilirler. Bu dönüştürme süreci, 3D varlıkların çalışma zamanı dağıtımından önce özel gölgelendirici enjeksiyonu veya dinamik doku değişimi gerektirdiği gelişmiş web geliştirme hatlarını destekler.
Teknik Özellikler ve Kodek Ayrıntıları
GLB, model/gltf-binary MIME türünü kullanır ve 4 baytlık bir sihirli sayı (0x46546C67), 4 baytlık bir sürüm tamsayısı ve 4 baytlık toplam dosya uzunluğu içeren 12 baytlık bir başlıkla başlar. Bu başlığı, bir JSON bildirimi ve ikili arabellekler içeren yığınlar takip eder. Model/gltf+json MIME türünü kullanan GLTF'ye dönüştürme işlemi, bildirimi .gltf uzantısına sahip, okunabilir bir metin dosyası olarak ayırır. Geometri verileri ve piksel haritaları .bin ve .png gibi ayrı harici dosyalar olarak dışarı yazılır. Hiçbir format varsayılan olarak kayıplı sıkıştırma kullanmaz. Her ikisi de tepe noktası (vertex) konumlarını, normalleri ve UV koordinatlarını tam matematiksel hassasiyetle korur.
İşletim Sistemi ve Tarayıcı Uyumluluğu
Ayrıştırılmış GLTF dosyaları; WebGL ve WebGPU işleyicilerini kullanan Google Chrome, Mozilla Firefox, Apple Safari ve Microsoft Edge dahil olmak üzere tüm modern web tarayıcılarında sorunsuz çalışır. Windows 10 ve 11, macOS ve Linux gibi masaüstü işletim sistemleri, Windows 3D Görüntüleyici ve Blender gibi yerel araçlar aracılığıyla GLTF görüntülemeyi destekler. iOS ve Android'deki mobil işletim sistemleri, GLTF varlıklarını yerel AR ortamlarında ve web uygulamalarında işler; ancak geliştiricilerin kaynaklar arası kaynak paylaşımı (CORS) hatalarını önlemek için ayrı .bin ve .gltf dosyalarını sunucularında doğru şekilde barındırması gerekir.
💡 Faydalı bilgiler
Dönüştürme işleminden sonra JSON bildiriminin kırık yol hataları olmadan harici bağımlılıklarını bulabilmesi için doku haritalarınızı her zaman ana .gltf dosyasıyla aynı klasörde tutun.
Format Karşılaştırması ve Teknik Özellikler
GLB formatında 15 megabayt boyutundaki karmaşık bir 3D karakter modeli, .gltf bildirimi ve harici .bin dosyalarına bölündüğünde benzer bir toplam veri kaplama alanı oluşturur. Saniyede 30 megabit hızında çalışan standart bir 4G bağlantısında bu varlığın indirilmesi yaklaşık 4 saniye sürer. 5G ağına veya 300 megabit Fiber bağlantıya geçiş yapmak aktarım süresini saniyenin çok küçük bir kısmına indirerek çok dosyalı web yüklemelerini neredeyse anlık hale getirir.
Sıkça Sorulan Sorular
Kaliteyi kaybetmeden glTF Binary'yi glTF JSON'a nasıl dönüştürebilirsiniz?
GLB'den GLTF'ye dönüşüm tamamen kayıpsızdır çünkü her iki format da aynı temel matematiksel yapıları kullanır. Süreç, tepe noktası verilerini veya piksel sıkıştırmasını değiştirmeden, tek ikili konteynerden JSON yığınını ve ikili arabellekleri çıkarır ve bunları diskinizde ayrı dosyalar olarak kaydeder.
glTF Binary ile glTF JSON arasındaki fark nedir?
GLB; sahne açıklamasını, geometrisini ve dokuları tek bir indirmede toplayan, kendi kendine yeterli bir ikili dosyadır. GLTF ise sahne grafiğini okunabilir bir metin dosyasında saklarken geometri ve dokuları harici ikili ve resim dosyalarında tutarak bu öğeleri ayırır.