GLB vs glTF: Apa Bedanya?
GLB vs glTF adalah soal kemasan, bukan data: .gltf adalah JSON yang bisa dibaca dengan file terpisah, sedangkan .glb mengemas semuanya menjadi satu. Distribusikan GLB, edit glTF, konversi tanpa kehilangan data.
- Spesifikasi Khronos glTF 2.0
- Ukuran file terukur
- Konversi lossless
GLB vs glTF: jawaban singkat
glTF adalah format terbuka Khronos Group untuk menghadirkan scene 3D ke aplikasi dan web, dan GLB bukan format berbeda melainkan wadah biner untuknya. Spesifikasinya mendefinisikan keduanya: file .gltf adalah JSON (media type model/gltf+json), dan file .glb (model/gltf-binary) membungkus JSON yang sama plus satu buffer biner menjadi satu file.
Jadi pertanyaan GLB vs glTF adalah soal kemasan, bukan kualitas. Mesh, material PBR, tekstur, animasi, skin, dan morph target tetap sama di keduanya. Yang berubah adalah berapa banyak file yang harus Anda tangani, apakah Anda bisa membuka deskripsi scene di editor teks, dan berapa tambahan ukuran yang Anda bayar jika menyematkan biner di dalam JSON.
Bagi hampir semua orang jawabannya adalah GLB: satu file untuk diunggah, dikirim lewat email, atau ditaruh ke three.js, Babylon.js, <model-viewer>, Blender, Unity, atau Unreal. Pilih glTF file terpisah saat Anda melakukan debugging, mengedit nilai material secara manual, atau berbagi tekstur antar banyak model di CDN.
Tabel perbandingan GLB vs glTF
Keduanya adalah glTF 2.0, jadi sebagian besar barisnya sama. Baris yang berbeda adalah yang menentukan GLB vs glTF untuk proyek Anda.
| GLB (.glb) | glTF (.gltf) | |
|---|---|---|
| Jenis geometri | Mesh segitiga (juga point dan line), hierarki node, skin, morph target | Sama |
| Warna / tekstur | Tekstur PNG atau JPEG disimpan di dalam chunk biner; warna vertex | Tekstur sebagai file gambar terpisah, atau data URI base64 di dalam JSON |
| Satuan | Meter, tangan kanan, +Y ke atas, sesuai spesifikasi | Sama |
| Material | PBR metallic-roughness bawaan; lainnya lewat ekstensi KHR | Sama |
| Ukuran file | Bentuk satu file terkecil: header 12 byte plus chunk JSON dan chunk BIN | Total byte sama dengan file terpisah; sekitar 33% lebih besar jika biner disematkan sebagai base64 |
| Kemudahan edit | Biner; butuh tool untuk memeriksa | JSON bisa dibaca manusia dan di-diff di editor teks |
| Dukungan software | three.js, Babylon.js, model-viewer, Blender, Unity, Unreal, Godot, Windows 3D Viewer | Loader yang sama; file eksternal harus tetap berada di folder relatif yang benar |
| Penggunaan untuk cetak | Bukan format cetak; UltiMaker Cura bisa membukanya, sebagian besar slicer tidak | Sama; konversi ke STL atau 3MF untuk mencetak |
| Jumlah file | 1 | 1 hingga banyak (.gltf, .bin, gambar) |
Sumber: spesifikasi Khronos glTF 2.0, bagian tentang ekstensi file, sistem koordinat dan satuan, serta format file GLB.
Cara file GLB dibangun dari glTF
GLB dimulai dengan header 12 byte: byte magic glTF, versi (2), dan panjang total. Lalu datang chunk. Yang pertama adalah chunk JSON, deskripsi scene yang persis sama dengan isi .gltf. Yang kedua adalah chunk BIN, yang menyimpan posisi vertex, normal, UV, indeks, keyframe animasi, dan biasanya gambar teksturnya sendiri.
File .gltf menyimpan JSON itu sebagai file mandiri dan mereferensikan data biner dengan salah satu dari dua cara: path relatif ke file .bin dan file gambar di sebelahnya, atau data URI yang meng-encode byte sebagai base64 langsung ke dalam JSON. Spesifikasi sendiri mencatat bahwa base64 menambah panjang byte payload sebesar 33%, dan mendekodenya membutuhkan pemrosesan ekstra. Itulah alasan utama GLB ada.
- GLB: header + chunk JSON + chunk BIN, satu file
- glTF: JSON plus .bin dan gambar berdampingan
- glTF tersemat: satu file, tetapi base64 menambah sepertiga
Ukuran file GLB vs glTF: satu model dikemas tiga cara
Kami mengambil model bertekstur hasil AI dari galeri kami, knight robot steampunk dengan 500.000 segitiga, 287.963 vertex, dan tiga tekstur PNG 2048 x 2048, lalu mengukur setiap kemasan.
| Kemasan | File | Ukuran |
|---|---|---|
| GLB | 1 | 26.9 MB |
| glTF + .bin + tekstur PNG | 5 (.gltf, .bin, 3 PNG) | sekitar 26.9 MB total; JSON .gltf saja sekitar 2 KB |
| glTF dengan data base64 tersemat | 1 | sekitar 35.9 MB |
| Rincian byte | Geometri 15.2 MB, tekstur 11.7 MB |
Pengemasan tidak mengecilkan apa pun. Untuk membuat model lebih kecil, kompres geometrinya (Draco atau meshopt), perkecil atau encode ulang teksturnya, atau kurangi jumlah segitiga. Kompresor GLB dan penyederhana mesh kami melakukannya di browser.
glTF vs GLB di web, di AR, dan di Blender
Di web, GLB adalah default praktis: satu request, satu entri cache, dan semua loader utama membacanya. File glTF terpisah bisa lebih unggul di situs yang menampilkan banyak model dengan tekstur sama, karena browser mengunduh gambar bersama itu sekali saja; catatan implementasi spesifikasi sendiri menjelaskan trade-off ini.
Untuk AR, Scene Viewer di Android menerima glTF dan GLB, sedangkan Quick Look di iPhone membutuhkan USDZ, jadi publikasikan keduanya dan konversi GLB ke USDZ untuk perangkat Apple. Di Blender, File > Import > glTF 2.0 membaca keduanya, dan menu Format pada exporter menawarkan glTF Binary (.glb) serta glTF Separate (.gltf + .bin + textures). Pilih Binary kecuali Anda punya alasan untuk tidak melakukannya.
Untuk pencetakan 3D, keduanya bukan format serah-terima yang tepat. Konversi GLB ke STL atau 3MF; tekstur tidak akan tercetak, tetapi bentuknya akan.
- Web dan berbagi: GLB
- Banyak model berbagi tekstur: glTF terpisah
- AR iPhone: konversi ke USDZ
- Mencetak: konversi ke STL atau 3MF
GLB vs glTF: kapan pakai yang mana
Keduanya adalah glTF 2.0 yang sah. Pilih berdasarkan alur kerja.
Membagikan model ke siapa pun
Menyematkan di situs web
Debugging material yang rusak
baseColorFactor, metallicFactor, atau indeks tekstur, perbaiki, lalu muat ulang.Katalog produk dengan tekstur bersama
Kontrol versi
Hindari: glTF tersemat
Mengonversi glTF dan GLB tanpa merusak apa pun
Konversinya lossless dua arah, asalkan setiap file yang direferensikan tersedia.
- Simpan .gltf, .bin, dan gambar tekstur di folder relatif yang sama seperti saat diekspor
- Muat hasilnya di viewer dan pastikan tekstur muncul sebelum dibagikan
- Ingat, glTF memakai meter: figurin 30 mm adalah 0.03 unit, yang terlihat sangat kecil di beberapa tool
- Kompres geometri dan tekstur untuk web; mengemas ulang saja tidak menghemat apa pun
- Kirim hanya file .gltf; tanpa .bin dan gambarnya, model akan termuat kosong atau abu-abu
- Ganti nama .gltf menjadi .glb; header biner harus ditulis oleh konverter
- Gunakan glTF base64 tersemat untuk model besar; ini menambah sekitar 33% pada data biner
- Jangan berharap slicer mencetak tekstur dari GLB; konversi ke 3MF untuk cetakan multiwarna
Viewer dan konverter GLB serta glTF gratis
Tool untuk kedua sisi GLB vs glTF. Semua berjalan di browser tanpa login, dan file Anda tetap di perangkat.
FAQ
Pertanyaan yang sering diajukan
GLB vs glTF: mana yang lebih baik?
Apa perbedaan GLB dan glTF dalam satu kalimat?
Apakah mengonversi glTF ke GLB menghilangkan kualitas?
Mengapa GLB saya begitu besar?
Bisakah file GLB atau glTF dicetak 3D?
Apa satuan yang dipakai glTF?
Format apa yang saya dapatkan dari SupaVoxel?
Apakah iPhone bisa membuka file GLB?
Alat & panduan terkait
Lanjutkan
Mulai gratis
GLB vs glTF sudah jelas? Buat modelnya
Ubah foto menjadi model 3D, biasanya dalam waktu kurang dari satu menit. Unduhan GLB gratis dengan 3 kredit pertama Anda dan tanpa kartu; model bertekstur tersedia dengan paket berbayar.
Tanpa kartu kredit · 3 kredit gratis untuk memulai