Skip to content

GLB Optimize Edici ​

Bir GLB veya glTF dosyasını küçültün ve işleme maliyetini azaltın. Dosyayı buraya bırakıp ne yapmak istediğinizi seçin: hiçbir şeyin başvurmadığı verileri temizleyin, geometriyi birleştirip sadeleştirin, çizim çağrılarını azaltmak için mesh'leri birleştirin, dokuları yeniden boyutlandırıp kodlayın ve tamamını Meshopt ile sıkıştırın. Her adımdan sonra boyut bilgisini görebilir, onaylamadan önce sonucu önizleyebilirsiniz; hiçbir şey sunucuya yüklenmez. Optimize etmek ve önizlemek ücretsizdir; sonucu indirme özelliği Standard ve Pro planlarına dahildir.

Meshopt sıkıştırma

Baytların çok küçük bir kısmını yayınlayın.

Hiçbir şeyin başvurmadığı verileri atın, geometriyi kaynaklayıp sadeleştirin, dokuları yeniden kodlayın ve hepsini Meshopt ile paketleyin. Her adımdan sonra bir boyut değeri, karar vermeden önce de sonucun önizlemesi var.

Adım başına bir değerİndirmeden önce önizlemeHiçbir şey yüklenmez
4.0 MB676 KB

84% smaller. Our sample character with 10 clips baked in.

Remove unused data3.8 MB
Weld vertices3.8 MB
Trim animation keyframes3.6 MB
Meshopt compression676 KB
Bir dosyayı küçültmeye hazır mısınız?

Meshopt, nicemleme ve burada neden Draco bulunmadığı ​

Meshopt (EXT_meshopt_compression), tarayıcıda çalışan her şey için varsayılan ve doğru seçimdir. Draco ile karşılaştırılabilir dosya boyutlarına ulaşır ve birkaç kat daha hızlı çözülür. Bu önemlidir çünkü kod çözme işlemi, oyuncunuz bir yükleme ekranına bakarken gerçekleşir. three.js, Babylon.js ve PlayCanvas bunu destekler; kod çözücü de göz ardı edilebilecek kadar küçüktür.

Nicemleme için herhangi bir uzantı gerekmez. Konumları, normalleri ve UV'leri daha küçük sayı türlerinde saklar; her glTF yükleyici bunları herhangi bir kod çözücü olmadan okuyabilir. Boyut kazancı daha sınırlıdır ancak dosya standart glTF olarak kalır. Bu da onu denetiminizde olmayan bir işlem hattına vermek için en güvenli seçenek hâline getirir.

Draco dosyaları burada sorunsuz şekilde açılır; dolayısıyla bunları açabilir veya Meshopt'a dönüştürebilirsiniz. Ancak Draco çıktısı oluşturmak farklı bir konudur ve bu araç bunu yapmaz. Tarayıcıda çalışan tek Draco kodlayıcısı, başlatılması bile dakikalar süren bir asm.js derlemesidir; bakımı sürdürülen paketler ise yalnızca Node üzerinde çalışan derlemeler sunar. Sekmenizi donduran bir düğme sunmak, onu hiç sunmamaktan daha kötü olurdu. Özellikle Draco çıktısına ihtiyacınız varsa glTF-Transform CLI, bunu bilgisayarınızda tek komutla yapabilir:

bash
npx @gltf-transform/cli draco input.glb output.glb

Her adım gerçekte ne yapar? ​

Kullanılmayan verileri kaldır, temizleme ve yinelenenleri kaldırma işlemlerini çalıştırır. Dışa aktarma araçları sıklıkla hiçbir şeyin kullanmadığı malzemeleri, iki farklı ad altında yinelenen dokuları ve boş düğümleri geride bırakır. İki veya üç araçtan geçmiş bir dosyada yalnızca bu işlem bile çoğu zaman boyutu gözle görülür ölçüde azaltır ve modelin görünümünü değiştiremez.

Köşeleri birleştir, aynı konumu ve normali paylaşan köşeleri birleştirerek bir üçgen yığınını indekslenmiş mesh'e dönüştürür. Çoğu dışa aktarma aracı bunu zaten yapar; yapmayanlar ise paylaşılan her köşenin üç kopyası için maliyet ödemenize neden olur.

Mesh'leri malzemeye göre birleştir, çizim çağrılarını azaltır. Modeliniz aynı malzemeyi kullanan iki yüz ayrı nesneden oluşuyorsa GPU bir işlem yerine iki yüz işlem gerçekleştirir. Bunları birleştirmek hiyerarşiyi düzleştirir ve bu nedenle özellik varsayılan olarak kapalıdır: oyununuz parçaları ayrı ayrı hareket ettiriyorsa veya model rig'liyse bu hiyerarşiye ihtiyacınız vardır.

Geometriyi sadeleştir, Meshopt sadeleştiricisini kullanarak mesh'teki üçgen sayısını belirlediğiniz yüzdeye düşürür. Kimsenin istemediği yüz binlerce üçgenle gelen taranmış modeller veya CAD modelleri için doğru araçtır. Yaklaşık %40'ın altında sonuçlar organik şekillerde fark edilmeye başlar; sert yüzeylerde ise bu etki daha azdır.

Animasyon anahtar karelerini kırp, animasyon izlerini yeniden örnekler ve komşuları arasında düz bir çizgi üzerinde bulunan anahtar kareleri kaldırır. Her karenin işlendiği bir araçtan 60 fps olarak dışa aktarılan bir klipte bu veriler dosyanın büyük bölümünü oluşturabilir.

Dokular, yeniden boyutlandırılır ve kodlanır. WebP, eşdeğer bir PNG'nin yaklaşık üçte biri boyutundadır ve güncel tarayıcıların tamamı tarafından desteklenir. Boyutu 1024 ile sınırlamak genellikle bir oyun modelinde fark edilmez ve çoğu zaman indirilen veri miktarını azaltmanın en etkili yoludur.

İndirme boyutu ile bellek kullanımı aynı şey değildir ​

Sıkıştırma dosyayı küçültür. Ancak dokular yüklendikten sonra kapladıkları video belleği miktarını değiştirmez; çünkü JPEG, PNG ve WebP dosyalarının tümü GPU'da ham piksellere dönüştürülür. 2048×2048 boyutundaki bir doku, ister 4 MB ister 200 KB olarak indirilmiş olsun, VRAM'de yaklaşık 22 MB yer kaplar.

GLB görüntüleyici, sorununuzun dosya boyutu yerine doku belleği olduğunu gösteriyorsa çözüm KTX2 kullanmaktır. KTX2, belleğe yüklenene kadar GPU sıkıştırmalı olarak kalır. Bu ikisi birbirini tamamlar: GPU'nun bellekte tuttuğu veriler için KTX2, ağ üzerinden taşınan veriler için Meshopt.

Sık sorulan sorular ​

Bir GLB dosyasını nasıl sıkıştırabilirim? ​

Dosyayı yukarıya bırakın, varsayılan ayarları değiştirmeden Optimize Et'e tıklayın. Varsayılan ayarlar kullanılmayan verileri temizler, köşeleri birleştirir ve Meshopt sıkıştırması uygular; bu, bir web oyunu için güvenli bir bileşimdir. Adım adım liste, boyut kazancının nereden geldiğini gösterir.

Dosyam ne kadar küçülür? ​

Bu tamamen dosyanın içeriğine bağlıdır. Sıkıştırılmamış ve ağırlıklı olarak mesh içeren bir model, Meshopt ile çoğu zaman yüzde 60 ila 80 oranında küçülür. Büyük ölçüde PNG dokularından oluşan bir dosya, bunları WebP'ye dönüştürene kadar neredeyse hiç küçülmez. Çoğunlukla animasyon verisi içeren bir dosya ise yalnızca anahtar kare kırpma işleminden yarar görür. Adım dökümü, dosyanızın hangi duruma uyduğunu gösterir.

Optimize etmek modele zarar verir mi? ​

Kullanılmayan verileri kaldırma, köşeleri birleştirme, anahtar kareleri kırpma ve Meshopt sıkıştırması görünüm açısından kayıpsızdır. Sadeleştirme ise kayıpsız değildir: üçgenleri kaldırır ve agresif ayarlarda bunun etkisi görünür. Dokuları yeniden boyutlandırma ve JPEG'e dönüştürme de kayıplıdır. Önizleme gerçek çıktıyı gösterir; böylece indirmeden önce sonucu inceleyebilirsiniz.

Unity veya Godot sonucu açabilir mi? ​

Meshopt desteği içe aktarıcıya ve sürümüne bağlıdır. Dosyanın bir tarayıcı yerine oyun motoruna aktarılması gerekiyorsa uzantı gerektirmeyen ve her yerde çalışan Nicemleme'yi seçin. Hedef bir web sayfasıysa Meshopt daha iyi bir seçimdir.

Zaten sıkıştırılmış bir dosyayı açabilir mi? ​

Evet. Hem Draco hem de Meshopt ile sıkıştırılmış girdilerin kodu yükleme sırasında çözülür. Böylece bir Draco dosyasının sıkıştırmasını açabilir, dosyayı Meshopt'a dönüştürebilir veya farklı ayarlarla yeniden sıkıştırabilirsiniz.

Modelim sunucuya yükleniyor mu? ​

Hayır. Kodlayıcılar dâhil tüm işlem hattı, tarayıcınızdaki bir Web Worker içinde çalışır. Sayfa yüklendikten sonra çevrimdışı olarak da çalışır.