Kompres File GLB Online

Perkecil model 3D untuk web — tekstur, geometri, semuanya — lalu bandingkan sebelum dan sesudah tanpa mengunggah apa pun.

🔒 Tetap di perangkat Anda🖼️ Tekstur ke WebP🔍 Pratinjau sebelum / sesudah

.glb · .gltf · hingga 200 MB · dikompres di perangkat ini, tidak pernah diunggah

🔒

Tidak ada yang diunggah

Model dibaca, dikompres, dan ditulis di dalam tab browser ini, oleh worker yang berjalan di latar belakang. Produk yang belum dirilis dan pekerjaan klien tidak pernah keluar dari perangkat Anda.

🔍

Lihat hasilnya sebelum mengunduh

Beralih antara Sebelum dan Sesudah dengan kamera yang sama, dengan wireframe menyala jika Anda mau, dan periksa setiap tekstur di tabel sebelum-sesudah.

🧩

Preset yang memperhitungkan kompatibilitas

Web menghasilkan file terkecil untuk browser. Kompatibel tidak menambahkan ekstensi glTF, jadi hasilnya bisa dibuka di mana pun file aslinya bisa dibuka.

♾️

Gratis, tanpa batas mingguan

Tanpa akun, tanpa kredit, dan tanpa watermark. File hingga 200 MB di komputer dan 50 MB di ponsel.

Apa yang Sebenarnya Terjadi Saat File GLB Dikompres?

Mengompres GLB berarti mengenkode ulang tekstur dan geometrinya sehingga model yang sama memakan lebih sedikit byte. Sebagian besar penghematan berasal dari tekstur: pada delapan model contoh Khronos yang kami ukur, gambar-gambar itulah yang mengisi sebagian besar setiap file yang memiliki tekstur. Kompresor GLB ini memperkecil gambar-gambar tersebut, merapikan geometri, lalu menulis file .glb baru, semuanya di browser Anda.

GLB yang lebih kecil dimuat lebih cepat di halaman produk, lolos batas unggah di platform dan marketplace 3D, serta memakai lebih sedikit memori di ponsel. Untuk itu, bentuk, material, dan animasi model sama sekali tidak perlu diubah.

Ke mana saja byte dalam GLB terpakai

GLB berisi tiga jenis data: tekstur (gambar yang membungkus model), geometri (posisi verteks, normal, dan daftar segitiga), serta animasi. Tekstur disimpan sebagai file gambar utuh di dalam GLB, sering kali berupa PNG 2048 × 2048, itulah sebabnya model yang hanya punya beberapa ratus segitiga pun bisa berukuran 8 MB. Buka file Anda di penampil GLB untuk melihat rinciannya sebelum Anda mengompresnya.

Pembersihan lossless vs kompresi lossy

Beberapa langkah tidak mengubah apa pun yang terlihat: menghapus data duplikat, membuang material dan tekstur yang tidak dipakai, dan menggabungkan verteks yang benar-benar identik. Penghematan yang lebih besar bersifat lossy: tekstur yang lebih kecil, tekstur yang dienkode ulang sebagai WebP atau JPEG, dan posisi verteks yang disimpan dengan lebih sedikit bit. Lossy tidak berarti tampak lebih buruk, tetapi bagian inilah yang perlu diperiksa, dan untuk itulah ada tombol “Sebelum / Sesudah”.

AsliAvocado.glb · 7.73 MBTerkompresi0.09 MB−98.8%Dipangkas: tekstur WebP lebih kecil dan geometri terkemasTeksturGeometri
Avocado sebelum dan sesudah preset Web: pita hijau toska adalah 98,8% yang dipangkas oleh kompresi.

Cara Kompres File GLB dalam 3 Langkah

1

Letakkan file .glb atau .gltf Anda

Klik “Pilih file 3D” atau letakkan file .glb ke area penampil. Untuk .gltf, pilih bersama file .bin dan file teksturnya, atau letakkan seluruh foldernya; hasilnya selalu berupa satu file .glb. Panel menampilkan setiap tekstur beserta dimensi, format, dan ukuran byte-nya.

2

Pilih Web, Kompatibel, atau Kustom

Web menghasilkan file terkecil untuk browser, Kompatibel menjaga file tetap bebas dari ekstensi baru, dan Kustom memungkinkan Anda memilih ukuran, format, dan kualitas tekstur. Tabel tekstur menunjukkan akan menjadi apa setiap tekstur sebelum Anda menekan tombol apa pun.

3

Bandingkan, lalu unduh

Tekan “Kompres GLB”. Setelah selesai, area penampil beralih ke Sesudah dengan kamera tetap di posisi terakhir Anda; tekan B atau gunakan tombol “Sebelum / Sesudah” untuk membandingkan, lalu klik “Unduh .glb terkompresi”.

.glbPilih file 3D
1

Pilih file .glb, atau .gltf beserta file-filenya.

WebKompatibelKustom
2

Pilih preset sesuai tujuan model berikutnya.

SebelumSesudahB
3

Bandingkan Sebelum dan Sesudah, lalu unduh.

Tekstur: Penyumbang Byte Terbesar

Setiap tekstur dalam GLB adalah file gambar utuh, dan GPU membongkarnya menjadi piksel mentah begitu model ditampilkan: tekstur 2048 × 2048 memakan sekitar 16 MB memori grafis sebelum mipmap, sekecil apa pun file PNG-nya. Jadi saat Anda mengompres GLB, pengaturan tekstur menentukan besarnya unduhan sekaligus seberapa berat model itu ditampilkan.

Mengubah ukuran tekstur: 4096, 2048, 1024, atau 512?

Membagi dua lebar dan tinggi tekstur menyisakan seperempat pikselnya. Di halaman web, tempat model biasanya hanya mengisi sebagian layar, 1024 px sudah cukup untuk sebagian besar produk; 2048 px layak dipertahankan untuk tampilan utama dan close-up, dan 512 px cocok untuk properti kecil. Kompresor GLB ini hanya memperkecil tekstur, tidak pernah memperbesarnya, dan selalu menjaga proporsinya. Untuk mengubah ukuran satu tekstur secara manual, gunakan pengubah ukuran gambar.

WebP vs PNG vs JPEG di dalam GLB

PNG dan JPEG adalah bagian dari glTF itu sendiri, jadi setiap aplikasi yang membuka file GLB bisa membacanya. WebP biasanya menghasilkan file terkecil, tetapi GLB yang memakainya mendeklarasikan ekstensi EXT_texture_webp, dan aplikasi yang membukanya harus mendukung ekstensi itu. JPEG tidak bisa menyimpan transparansi, jadi alat ini mempertahankan tekstur sebagai PNG setiap kali ada piksel yang transparan atau semitransparan. Untuk kelebihan dan kekurangan tiap format secara umum, lihat PNG ke WebP.

Peta normal butuh kompresi yang lebih lembut

Peta normal menyimpan arah permukaan dalam warnanya, dan artefak kotak-kotak yang ditinggalkan kompresi lossy muncul sebagai kesalahan pencahayaan, bukan noise warna. Kedua preset memberi peta normal batas bawah kualitas yang lebih tinggi (0,9). WebP dan JPEG juga menyimpan warna dengan resolusi yang dikurangi, sehingga sebagian presisi hilang pada peta normal dan pada tekstur yang mengemas kekasaran, sifat metalik, dan oklusi ke dalam kanal yang terpisah. Jika presisi itu penting, pilih Kustom dan pertahankan format aslinya.

Tekstur dengan transparansi

Daun, decal, dan kaca sering mengandalkan kanal alfa. WebP mempertahankannya; JPEG tidak bisa, jadi tekstur transparan yang semestinya menjadi JPEG disimpan sebagai PNG. Dalam pengukuran kami, Lantern dan ToyCar masing-masing mempertahankan satu atau dua tekstur sebagai PNG karena alasan ini.

4096 px64 MB2048 px16 MB1024 px4 MB512 px1 MBMemori grafis per tekstur setelah didekodeRGBA, 4 byte per piksel, sebelum mipmap; file di disk jauh lebih kecil, memorinya tidak.
Setiap kali ukuran tekstur dibagi dua, jumlah piksel dan memori grafisnya tinggal seperempat.
Bagian dari glTFTransparansiUkuran umum,tekstur mirip fotoPNGYaYaJPEGYaTidakWebPperlu EXT_texture_webpYa
PNG dan JPEG adalah bagian dari glTF itu sendiri; WebP memerlukan ekstensi, tetapi biasanya menghasilkan file terkecil.

Kompresi Geometri: meshopt, Kuantisasi, dan Draco

Geometri biasanya bagian yang lebih kecil dari sebuah GLB, tetapi pada mesh yang padat, hasil pindaian, dan karakter beranimasi, geometri bisa mengisi sebagian besar file. Preset Web mengompresnya dengan meshopt; preset lain membiarkan encoding-nya apa adanya dan hanya merapikannya.

Apa yang dilakukan kompresi meshopt

meshopt pertama-tama mengurutkan ulang verteks dan segitiga agar data yang saling berdekatan tersimpan berdampingan, lalu menyimpan posisi, normal, dan koordinat tekstur sebagai bilangan bulat kecil alih-alih float 32-bit (kuantisasi, dideklarasikan sebagai KHR_mesh_quantization), dan terakhir mengemas hasilnya dengan EXT_meshopt_compression. Dekodenya sangat cepat di browser, dan three.js, model-viewer, serta Babylon.js semuanya bisa membacanya.

Menggabungkan verteks dan menghapus duplikat

Exporter sering menulis verteks yang sama berkali-kali, menduplikasi accessor secara utuh, atau meninggalkan material dan tekstur yang tidak dipakai apa pun. Menggabungkan verteks yang identik dan memangkas data yang tidak terpakai bersifat lossless dan berjalan di semua preset; langkah ini saja sudah menghemat 32% pada model Fox yang kecil.

Mengapa model Draco tetap memakai geometrinya

Draco adalah ekstensi kompresi geometri lain, yang sering kali lebih ringkas daripada meshopt. Menulis ulang Draco memerlukan encoder-nya, sedangkan mendekodenya lalu menyimpan geometri tanpa Draco membuat sebuah mesh uji 4 hingga 13 kali lebih besar. Jadi, jika sebuah GLB sudah memakai Draco, alat ini hanya mengenkode ulang teksturnya dan membiarkan semua byte lainnya, termasuk geometri Draco, persis seperti semula. Kartu hasil memberi tahu jika hal itu terjadi.

float32Posisi 32-bit0 1 2 → 2 0 1Urutkan ulang verteksint16Kuantisasi ke bilangan bulatmeshoptKemasfloat32Didekode di browser
meshopt mengurutkan ulang dan mengkuantisasi geometri sebelum mengemasnya; browser membongkarnya saat memuat.

Preset Mana yang Sebaiknya Dipilih?

Sebelum mengompres GLB, pikirkan ke mana model itu akan dipakai selanjutnya: preset yang tepat bergantung pada hal itu, karena pengaturan yang paling kecil mengandalkan ekstensi glTF yang tidak dibaca oleh semua aplikasi. Catatan di bawah preset menyebutkan ekstensi yang akan ditambahkan oleh pengaturan saat ini.

Untuk penampil web: three.js, model-viewer, Babylon.js

Pilih Web. Preset ini memperkecil tekstur hingga maksimal 1024 px, menyimpannya sebagai WebP, dan mengompres geometri dengan meshopt. Penampil berbasis browser serta engine yang dibangun di atas three.js atau Babylon.js membaca ketiga ekstensi yang dipakainya, dan file yang dihasilkan adalah yang terkecil dari alat ini: 48% hingga 98,8% lebih kecil pada model contoh Khronos.

Untuk Blender, Unity, dan penampil desktop

Pilih Kompatibel. Preset ini mempertahankan tekstur hingga 2048 px, menulis tekstur tanpa transparansi sebagai JPEG dan tekstur transparan sebagai PNG, serta tidak menambahkan ekstensi apa pun. Dukungan alat desktop dan importer game engine terhadap WebP dan meshopt tidak merata, jadi file tanpa keduanya adalah pilihan yang aman jika Anda tidak mengendalikan perangkat lunak di sisi penerima.

Kapan memakai Kustom

Pakai Kustom untuk mempertahankan ukuran asli tekstur, mempertahankan format aslinya untuk peta data yang butuh presisi, menaikkan atau menurunkan kualitas, atau mematikan meshopt. Tabel tekstur diperbarui setiap kali Anda mengubah pengaturan, jadi Anda bisa melihat hasilnya sebelum mengompres.

Ke mana model ini selanjutnya?Halaman web ataupenampil di browserWebBlender, Unity, atauaplikasi desktopKompatibelPerlu kontrol penuhatas teksturKustom
Preset ditentukan oleh perangkat lunak yang akan membuka file.

Hasil Nyata pada Model Contoh Khronos

Untuk melihat seberapa besar penghematan yang bisa diharapkan, kami memakai halaman ini untuk mengompres file GLB dari koleksi Khronos glTF Sample Assets: delapan file asli, di Chrome pada komputer desktop. Dengan preset Web, kedelapan file rata-rata menjadi 86% lebih kecil, dan 96% lebih kecil pada nilai median; penghematan terbesar ada pada Avocado, dari 7,73 MB menjadi 0,09 MB, karena tiga tekstur PNG 2048 × 2048 miliknya mengisi hampir seluruh file. Setiap model selesai dalam sekitar satu detik.

Kompatibel menghemat lebih sedikit, karena preset ini mempertahankan tekstur pada 2048 px dan tidak memakai WebP, tetapi tetap memangkas empat dari delapan model sebesar 83% hingga 93%. Model dengan penghematan terkecil adalah yang geometrinya paling banyak (ToyCar punya sekitar 109.000 segitiga) atau yang teksturnya memiliki transparansi, yang tetap disimpan sebagai PNG.

Hasil Pengukuran: Asli vs Web vs Kompatibel

Nama modelAsliPreset WebPreset Kompatibel
Avocado7,73 MB0,09 MB (−98,8%)0,57 MB (−92,6%)
WaterBottle8,55 MB0,12 MB (−98,6%)0,88 MB (−89,7%)
BoomBox10,12 MB0,22 MB (−97,8%)1,12 MB (−89,0%)
Corset12,87 MB0,51 MB (−96,0%)2,15 MB (−83,3%)
Lantern9,12 MB0,36 MB (−96,0%)5,49 MB (−39,8%)
SheenChair3,93 MB0,97 MB (−75,3%)1,72 MB (−56,3%)
ToyCar5,17 MB1,30 MB (−74,9%)3,92 MB (−24,2%)
Fox0,16 MB0,08 MB (−48,0%)0,11 MB (−31,9%)
Avocado7.73 MB0.09 MB0.57 MBWaterBottle8.55 MB0.12 MB0.88 MBBoomBox10.12 MB0.22 MB1.12 MBCorset12.87 MB0.51 MB2.15 MBLantern9.12 MB0.36 MB5.49 MBSheenChair3.93 MB0.97 MB1.72 MBToyCar5.17 MB1.30 MB3.92 MBFox0.16 MB0.08 MB0.11 MBAsliPreset WebPreset Kompatibel
Delapan model contoh Khronos, diukur di halaman ini: ukuran asli, preset Web, dan preset Kompatibel.

Apakah Kompresi Akan Merusak Model Saya?

Mengompres GLB mengubah cara data disimpan, bukan isi modelnya. Mesh, material, nama node, animasi, dan fitur glTF lainnya tetap terbawa; yang perlu diperiksa adalah ekstensi yang dibutuhkan file baru dan tampilan tekstur dari dekat.

Ekstensi yang mungkin dibutuhkan file hasil

Preset Web dapat menambahkan EXT_texture_webp, EXT_meshopt_compression, dan KHR_mesh_quantization, yang ditandai sebagai wajib (required) agar aplikasi yang tidak bisa membacanya melaporkan hal itu alih-alih menampilkan model yang rusak. Kompatibel tidak menambahkan satu pun. GLB yang sudah memakai ekstensi lain tetap mempertahankannya; jika alat ini tidak mengenali salah satunya, alat ini beralih ke mode enkode ulang tekstur saja, sehingga tidak ada bagian yang tidak dipahaminya yang ditulis ulang.

Animasi, skin, dan target morph

Animasi, karakter dengan skin, dan target morph tetap utuh setelah kompresi. meshopt juga mengompres keyframe animasi, dan kuantisasi menjaga presisi yang cukup untuk model berukuran normal; untuk adegan yang sangat besar atau model teknik yang diukur dalam milimeter, bandingkan hasilnya dengan wireframe menyala, atau matikan meshopt di Kustom.

Tekstur KTX2 dibiarkan apa adanya

Tekstur yang sudah disimpan sebagai KTX2 (KHR_texture_basisu) sudah dikompres untuk GPU dan tetap kecil di memori. Alat ini membiarkannya tanpa perubahan alih-alih mengubahnya kembali menjadi gambar biasa.

WebKompatibelTerbuka tanpa ekstensi apa punEXT_texture_webpEXT_meshopt_compressionKHR_mesh_quantizationDitulis oleh preset iniTidak dipakaithree.js, model-viewer, dan Babylon.js membaca ketiganya
Ekstensi yang bisa ditambahkan setiap preset ke file terkompresi.

Mengapa GLB Anda Masih Besar Setelah Dikompres

Jika Anda mengompres GLB dan penghematannya kecil, panel biasanya menunjukkan alasannya. File itu mungkin sudah terkompresi: tekstur yang sudah berupa gambar WebP atau JPEG kecil jarang bisa menyusut lagi, dan alat ini mempertahankan tekstur asli setiap kali enkode ulang tidak membuatnya lebih kecil. Jika hasilnya sama sekali tidak lebih kecil, memang tidak ada yang bisa diunduh, dan itu disengaja.

Hasil pindaian padat dan fotogrametri

Objek hasil pindaian dan fotogrametri sering kali memuat ratusan ribu bahkan jutaan segitiga, dan pada kasus itu geometrilah, bukan tekstur, yang mengisi file. meshopt membantu, tetapi solusi sebenarnya adalah mengurangi jumlah segitiga: lakukan decimation pada mesh di editor 3D, misalnya dengan modifier Decimate di Blender, lalu kompres hasilnya di sini.

Mengompres .gltf dengan file eksternal

File .gltf menyimpan geometri dan teksturnya di file terpisah. Pilih semuanya, atau letakkan foldernya, dan alat ini mengemas semuanya menjadi satu file .glb terkompresi. File .gltf yang memakai Draco harus diekspor sebagai .glb terlebih dahulu, karena data Draco hanya dipertahankan tanpa perubahan di dalam GLB.

Padanannya di command line

Halaman ini menjalankan pustaka open source glTF Transform di browser Anda. Jika Anda ingin mengompres banyak file dalam pipeline build, alat command line-nya melakukan pekerjaan serupa, misalnya gltf-transform optimize input.glb output.glb --compress meshopt --texture-compress webp --texture-size 1024.

Model Anda Tidak Pernah Keluar dari Perangkat Anda

Banyak kompresor GLB online mengunggah file ke server, dan sebagian membatasi berapa banyak file yang bisa Anda kompres setiap minggu. Di sini seluruh proses berjalan di worker latar belakang di dalam tab browser Anda: model dibaca dari disk Anda, dikompres di memori, dan langsung disimpan kembali sebagai unduhan. Ini penting untuk produk yang belum dirilis, pekerjaan klien, dan apa pun yang terikat NDA. Tutup tab, dan tidak ada yang tersisa. Untuk alat lain yang bekerja dengan cara yang sama, lihat semua alat gratis kami.

Kompres GLB — Pertanyaan yang Sering Diajukan

Ya, gratis, tanpa akun, tanpa kredit, dan tanpa batas mingguan. File hingga 200 MB bisa diproses di komputer dan hingga 50 MB di ponsel, karena memori ponsel lebih cepat habis.

Langkah pembersihan bersifat lossless; tekstur yang lebih kecil, WebP atau JPEG, dan verteks yang dikuantisasi bersifat lossy. Pada sebagian besar model, perbedaannya sulit terlihat, dan tombol “Sebelum / Sesudah” menampilkan sudut pandang yang sama untuk keduanya sehingga Anda bisa memeriksanya sebelum mengunduh.

Tergantung seberapa besar porsi tekstur dalam file. Buka file di penampil GLB untuk melihat rinciannya: model yang didominasi tekstur sering menyusut 90% atau lebih dengan preset Web, sedangkan hasil pindaian yang didominasi geometri menghemat lebih sedikit.

Gunakan preset Kompatibel: preset ini tidak menambahkan ekstensi glTF, jadi file bisa dibuka di mana pun file aslinya bisa dibuka. Preset Web ditujukan untuk penampil di browser seperti three.js, model-viewer, dan Babylon.js.

Keduanya mengompres geometri. Draco sering menghasilkan mesh yang lebih kecil; meshopt didekode lebih cepat dan juga mengompres animasi. Alat ini menulis meshopt, dan mempertahankan geometri Draco persis apa adanya jika model sudah memakainya.

Bisa. Pilih file .gltf bersama file .bin dan file teksturnya, atau letakkan foldernya, dan Anda akan mendapatkan satu file .glb terkompresi.

Kemungkinan file itu sudah terkompresi, atau sebagian besar isinya geometri, bukan tekstur. Coba Kustom dengan ukuran tekstur yang lebih kecil, atau kurangi dulu jumlah segitiga di editor 3D.

Tidak. Model dikompres oleh worker di dalam tab browser Anda dan langsung disimpan ke perangkat Anda. Tidak ada yang dikirim ke server.

T

Tim Engineering TinyImagePro

Kami membangun alat file berbasis browser yang tidak pernah mengunggah data Anda. Kompresor GLB ini membaca sendiri struktur file, itulah sebabnya ia bisa menunjukkan akan menjadi apa setiap tekstur sebelum apa pun dikompres.

Tentang TinyImagePro →