GLB vs glTF: Farkı Nedir?
GLB vs glTF bir paketleme meselesidir, veri meselesi değil: .gltf ayrı dosyalarla duran okunabilir bir JSON'dur, .glb ise hepsini tek dosyada toplar. Yayınlarken GLB, düzenlerken glTF kullanın; kayıpsız dönüştürün.
- Khronos glTF 2.0 spesifikasyonu
- Ölçülen dosya boyutları
- Kayıpsız dönüşüm
GLB vs glTF: kısa cevap
glTF, Khronos Group'un 3D sahneleri uygulamalara ve web'e ulaştırmak için geliştirdiği açık formattır; GLB ise farklı bir format değil, onun ikili kabıdır. Spesifikasyon her ikisini de tanımlar: .gltf dosyası JSON'dur (model/gltf+json medya türü) ve .glb dosyası (model/gltf-binary) aynı JSON'u tek bir ikili buffer ile birlikte tek dosyaya sarar.
Yani GLB vs glTF sorusu kaliteyle değil paketlemeyle ilgilidir. Mesh'ler, PBR materyaller, dokular, animasyonlar, skin'ler ve morph target'lar her ikisinde de birebir aynı kalır. Değişen şey, kaç dosyayla uğraştığınız, sahne tanımını bir metin editöründe açıp açamadığınız ve ikili verileri JSON içine gömdüğünüzde ne kadar fazla boyut ödediğinizdir.
Neredeyse herkes için cevap GLB'dir: yüklemek, e-postayla göndermek veya three.js, Babylon.js, <model-viewer>, Blender, Unity ya da Unreal'a bırakmak için tek dosya. Hata ayıklarken, materyal değerlerini elle düzenlerken veya bir CDN'de birçok model arasında dokuları paylaşırken ayrı dosyalı glTF'i seçin.
GLB vs glTF karşılaştırma tablosu
İkisi de glTF 2.0 olduğu için satırların çoğu aynı. Farklı olan satırlar ise projeniz için GLB mi glTF mi sorusunu belirleyen satırlar.
| GLB (.glb) | glTF (.gltf) | |
|---|---|---|
| Geometri türü | Üçgen mesh'ler (ayrıca noktalar ve çizgiler), düğüm hiyerarşisi, skin'ler, morph target'lar | Aynı |
| Renk / doku | İkili chunk içinde saklanan PNG veya JPEG dokular; vertex renkleri | Ayrı görsel dosyaları olarak dokular veya JSON içinde base64 data URI'leri |
| Birimler | Metre, sağ el koordinat sistemi, +Y yukarı, spesifikasyona göre | Aynı |
| Materyaller | PBR metallic-roughness yerleşik; KHR uzantılarıyla daha fazlası | Aynı |
| Dosya boyutu | En küçük tek dosya biçimi: 12 baytlık başlık artı bir JSON chunk ve bir BIN chunk | Ayrı dosyalarla aynı toplam bayt; ikili veriler base64 olarak gömülürse yaklaşık %33 daha büyük |
| Düzenlenebilirlik | İkili; incelemek için bir araç gerekir | JSON insan tarafından okunabilir ve metin editöründe diff alınabilir |
| Yazılım desteği | three.js, Babylon.js, model-viewer, Blender, Unity, Unreal, Godot, Windows 3D Viewer | Aynı yükleyiciler; harici dosyalar doğru göreli klasörde kalmalı |
| Baskı kullanımı | Bir baskı formatı değil; UltiMaker Cura açabilir, çoğu slicer açamaz | Aynı; baskı için STL veya 3MF'ye dönüştürün |
| Dosya sayısı | 1 | 1'den çoğa (.gltf, .bin, görseller) |
Kaynak: Khronos glTF 2.0 spesifikasyonu, dosya uzantıları, koordinat sistemi ve birimler ile GLB dosya formatı bölümleri.
Bir glTF'den GLB dosyası nasıl oluşturulur
GLB, 12 baytlık bir başlıkla başlar: glTF sihirli baytları, sürüm (2) ve toplam uzunluk. Ardından chunk'lar gelir. İlki JSON chunk'ıdır; bir .gltf dosyasının içereceği sahne tanımının aynısıdır. İkincisi ise vertex konumlarını, normalleri, UV'leri, indeksleri, animasyon anahtar karelerini ve genellikle doku görsellerinin kendisini barındıran BIN chunk'ıdır.
Bir .gltf dosyası bu JSON'u bağımsız bir dosya olarak tutar ve ikili verilere iki şekilde başvurur: yanında duran .bin ve görsel dosyalarına göreli yollar ya da baytları doğrudan JSON'a base64 ile kodlayan data URI'leri. Spesifikasyonun kendisi base64'ün yükün bayt uzunluğunu %33 artırdığını ve çözmenin ek işlem maliyeti getirdiğini belirtir. GLB'nin var olmasının ana nedeni budur.
- GLB: başlık + JSON chunk + BIN chunk, tek dosya
- glTF: JSON artı yanında .bin ve görseller
- Gömülü glTF: tek dosya ama base64 üçte bir ekliyor
GLB vs glTF dosya boyutu: tek model, üç farklı paketleme
Galerimizden dokulu, AI ile üretilmiş bir model aldık: 500.000 üçgenli, 287.963 vertex'li ve üç adet 2048 x 2048 PNG dokulu bir steampunk robot şövalye. Her paketlemeyi ölçtük.
| Paketleme | Dosyalar | Boyut |
|---|---|---|
| GLB | 1 | 26.9 MB |
| glTF + .bin + PNG dokular | 5 (.gltf, .bin, 3 PNG) | toplamda yaklaşık 26.9 MB; tek başına .gltf JSON'u yaklaşık 2 KB |
| base64 veri gömülü glTF | 1 | yaklaşık 35.9 MB |
| Baytlar nerede | Geometri 15.2 MB, dokular 11.7 MB |
Paketleme hiçbir şeyi küçültmez. Modeli küçültmek için geometriyi sıkıştırın (Draco veya meshopt), dokuları küçültün ya da yeniden kodlayın veya üçgen sayısını azaltın. Ücretsiz GLB sıkıştırıcımız ve mesh sadeleştiricimiz bunu tarayıcıda yapar.
Web'de, AR'da ve Blender'da glTF vs GLB
Web'de GLB pratik varsayılandır: tek istek, tek önbellek girdisi ve tüm büyük yükleyiciler onu okur. Ayrı glTF dosyaları, aynı dokuları paylaşan çok sayıda model gösteren bir sitede kazanabilir çünkü tarayıcı ortak görseli bir kez indirir; spesifikasyonun kendi uygulama notları da bu dengeyi anlatır.
AR tarafında Android'in Scene Viewer'ı glTF ve GLB'yi kabul ederken iPhone'daki Apple Quick Look USDZ ister; bu yüzden ikisini de yayınlayın ve Apple cihazları için GLB'yi USDZ'ye dönüştürün. Blender'da File > Import > glTF 2.0 her ikisini de okur ve dışa aktarıcının Format menüsü glTF Binary (.glb) ile glTF Separate (.gltf + .bin + dokular) seçeneklerini sunar. Bir nedeniniz yoksa Binary'yi seçin.
3D baskı için ikisi de doğru aktarım değildir. GLB'yi STL veya 3MF'ye dönüştürün; dokular basılmaz ama şekil basılır.
- Web ve paylaşım: GLB
- Dokuları paylaşan çok sayıda model: ayrı glTF
- iPhone AR: USDZ'ye dönüştürün
- Baskı: STL veya 3MF'ye dönüştürün
GLB vs glTF: hangisi ne zaman kullanılır
İkisi de doğru glTF 2.0. İş akışınıza göre seçin.
Bir modeli birine göndermek
Bir web sitesine yerleştirmek
Bozuk bir materyali ayıklamak
baseColorFactor, metallicFactor veya doku indekslerini kontrol edin, düzeltin ve yeniden yükleyin.Dokuları paylaşan bir ürün kataloğu
Sürüm kontrolü
Kaçının: gömülü glTF
glTF ve GLB'yi hiçbir şeyi bozmadan dönüştürmek
Başvurulan her dosya yerindeyse dönüşüm iki yönde de kayıpsızdır.
- .gltf, .bin ve doku görsellerini dışa aktarıldıkları göreli klasörlerde tutun
- Paylaşmadan önce sonucu bir görüntüleyicide açıp dokuların göründüğünü doğrulayın
- glTF'in metre cinsinden olduğunu unutmayın: 30 mm'lik bir figür 0.03 birimdir ve bazı araçlarda minicik görünür
- Web için geometriyi ve dokuları sıkıştırın; yalnızca yeniden paketlemek hiçbir şey kazandırmaz
- Yalnızca .gltf dosyasını göndermeyin; .bin ve görselleri olmadan model boş veya gri yüklenir
- .gltf dosyasının adını .glb olarak değiştirmeyin; ikili başlığı bir dönüştürücünün yazması gerekir
- Büyük modeller için base64 gömülü glTF kullanmayın; ikili veriye yaklaşık %33 ekler
- Bir slicer'ın GLB'deki dokuları basmasını beklemeyin; çok renkli baskılar için 3MF'ye dönüştürün
Ücretsiz GLB ve glTF görüntüleyicileri ve dönüştürücüleri
GLB vs glTF'in her iki tarafı için araçlar. Hepsi tarayıcınızda çalışır, giriş gerekmez ve dosyalarınız cihazınızda kalır.
SSS
Sıkça sorulan sorular
GLB vs glTF: hangisi daha iyi?
GLB glTF farkı tek cümlede nedir?
.gltf dosyası JSON sahne tanımıdır ve genellikle yanında ayrı .bin ve görsel dosyaları bulunur; .glb dosyası ise aynı JSON'u ve tüm ikili veriyi tek ve kompakt bir ikili kapta toplar. İçindeki mesh'ler, materyaller, dokular ve animasyonlar birebir aynıdır; iki yönde de kayıpsız dönüştürebilmenizin nedeni budur.glTF'yi GLB'ye dönüştürmek kalite kaybettirir mi?
GLB dosyam neden bu kadar büyük?
GLB veya glTF dosyasını 3D yazdırabilir miyim?
glTF hangi birimleri kullanır?
SupaVoxel bana hangi formatı sunuyor?
iPhone'lar GLB dosyalarını açar mı?
İlgili araçlar ve rehberler
Devam et
Ücretsiz başla
GLB mi glTF mi? Karar verin, modeli oluşturun
Bir fotoğrafı genellikle bir dakikadan kısa sürede 3D modele dönüştürün. GLB indirmeleri ilk 3 kredinizle ücretsiz ve kart gerekmez; dokulu modeller ücretli planla gelir.
Kredi kartı gerekmez · Başlamak için 3 ücretsiz kredi