Güncellendi 13 Eylül 2026
Bir 3D dönüşüm neyi korur ve maliyeti ne kadardır
Bir ağı dönüştürmek ücretsiz değildir ve kayıpsız bir işlem de değildir. GLB ve glTF her şeyi korur. OBJ ayrı nesneleri ve malzeme adlarını korur, ancak köşe renklerini atar. STL sadece üçgenleri korur. PLY köşe renklerini korur, ancak sahneyi tek bir ağda düzleştirir. USDZ iki nesneyi ve UV'leri korudu, köşe renklerini ve malzeme adlarını tekrar okuduğunda kaybetti ve bir USDA zip dosyası yazdı. Aşağıdaki rakamlar tahmin edilmedi, ölçüldü.
Bu sayfadaki her rakam, bu sitenin kullandığı aynı dönüştürücüyü gerçek dosyalarla çalıştırmak ve yazdığı baytlardan doğrudan öznitelikleri okumaktan elde edilir. Ölçülen 13 Eylül 2026 Üç.js r179. Yöntem sayfanın sonunda ve script depoda bulunuyor.

Her format neyi korur?#
İki farklı adı olan kübe sahip referans bir sahne, kendi adı verilen metalik materyaline, köşe renklerine, UV koordinatlarına ve normallerine sahip, altı hedefe dönüştürüldü. GLB ve glTF eksiksiz geri döndü. Diğer tüm formatlar bir şeyler kaybetti ve her biri farklı bir şey kaybetti.
| Hedef | İki nesne | UV koordinatları | Dikgen Başına Renk | Malzeme İsimleri | Köşe sayısı |
|---|---|---|---|---|---|
| GLB | Korunanlar 2 | Korunur | Korunur | Korunur | 48 kökler |
| glTF | Korunanlar 2 | Korunur | Korunur | Korunur | 48 kökler |
| OBJ | Korunanlar 2 | Korunur | Kaybolur | Korunur | 72 kökler |
| STL | 1'de Birleştirildi | Kaybolur | Kaybolur | Kaybolur | 72 kökler |
| PLY | 1'de Birleştirildi | Korunur | Korunur | Kaybolur | 48 kökler |
| USDZ | Korunanlar 2 | Korunur | Kaybolur | Kaybolur | 72 kökler |
Neden STL ve PLY bir sahneyi tek bir ağ olarak birleştiriyor?#
Hiçbiri sahne grafiğine sahip değil. GLB, glTF ve OBJ aynı dosyada birden fazla isimli nesneyi tanımlayabilir; STL tek bir katı ve PLY tek bir eleman listesi tanımlar, bu yüzden iki küp tek bir ağ olarak gelir ve onları tekrar ayırmanın yolu yoktur.
En fazla şaşırtan kayıptır, çünkü görünmez. Dönüştürülmüş model bir görüntüleyicide tamamen aynı görünür. Sadece seçmeye, malzemeyi değiştirmeye veya parçalarından birini canlandırmaya çalıştığınızda parçaların artık var olmadığını fark edersiniz.
Modelin ayrı tutulması gerekiyorsa, hedef GLB, glTF veya OBJ olmalıdır. Eğer bir lamine cihazına veya tek malzemeli bir baskıya gidiyorsa, birleştirme size hiçbir maliyet getirmez.
Dosya ne kadar büyüyor?#
Çoğu kişinin beklediğinden fazla. Gerçekten üretilmiş bir ağda OBJ, kaynak GLB'nin 5,6 katını kapladı, PLY ise 1,4 katını. İkisi de aynı geometriyi taşır.
| Dönüşüm | Kaynak | Sonuç | Oran | Yazılmış köşeler |
|---|---|---|---|---|
| mug.glb a GLB | 880 KB | 1.173 KB | 1,3x | 25.000 |
| mug.glb a glTF | 880 KB | 1.564 KB | 1,8x | 25.000 |
| mug.glb a OBJ | 880 KB | 4.928 KB | 5,6x | 150.000 |
| mug.glb a STL | 880 KB | 2.441 KB | 2,8x | 150.000 |
| mug.glb a PLY | 880 KB | 1.221 KB | 1,4x | 25.000 |
| mug.glb a USDZ | 880 KB | 2.927 KB | 3,3x | 150.000 |
| lion.glb a GLB | 8.768 KB | 11.690 KB | 1,3x | 249.369 |
| lion.glb a glTF | 8.768 KB | 15.587 KB | 1,8x | 249.369 |
| lion.glb a OBJ | 8.768 KB | 51.880 KB | 5,9x | 1.496.202 |
| lion.glb a STL | 8.768 KB | 24.352 KB | 2,8x | 1.496.202 |
| lion.glb a PLY | 8.768 KB | 12.176 KB | 1,4x | 249.369 |
| lion.glb a USDZ | 8.768 KB | 30.487 KB | 3,5x | 1.496.202 |
Neden OBJ ve STL köşe sayısını çarpıyor?#
Çünkü ikisi de üçgenler arasında köşe paylaşmıyor. İyi indekslenmiş bir ağ, her köşeyi yalnızca bir kez saklar ve ona dokunan tüm üçgenlerden referans verir; OBJ ve STL, burada yazıldığı gibi, her üçgenin üç köşesini ayrı ayrı saklar. Testte lion.glb, bu 249.369 köşeyi 1.496.202, yani yaklaşık 6 katına çıkardı.
Geometri değişmez. Aynı yüzey, aynı üçgenler, aynı siluet; sadece muhasebe işlemleri daha maliyetli olur ve dosya yaklaşık olarak aynı oranda büyür.
PLY faydalı bir karşı örnektir. İndeksi korur, bu yüzden aynı ağ, orijinaliyle yakın bir boyutta yazılır ve hâlâ tepeye göre renk taşır. Sadece geometriyi korumanın gerektiği büyük bir ağ için, PLY bu listedeki en uygun dürüst hedeftir.
Metin, ikili karşısında durumu ağırlaştırır. glTF, tamponları base64 ile kodlanmış JSON'dur, bu da yaklaşık olarak % 33 GLB ile aynı olan GLB'e göre daha maliyetlidir, çünkü base64 her üç baytı dörde çevirir.
GLB'ten GLB'e dönüştürürken dosya neden büyüdü?#
Çünkü dönüştürücü, kendilerine ait normal vektörleri olmayan herhangi bir ağın köşe normal vektörlerini hesaplar ve sonra bunları yazar. Sıklıkla üretilen bir ağın herhangi bir normal özelliği yoktur, bu yüzden gidip gelme süreci her köşe için bir tam vektör ekler.
Bununla yapılan test mug.glb etkileyici bir örnektir: girer 880 KB ve çıkar 1.173 KB, geometride herhangi bir değişiklik olmaksızın. Eklenen normaller farktır.
Bu kasıtlı bir karardır, bir hata değil. Normal vektörleri olmayan bir ağ çoğu görüntüleyicide düz gölgelendirme ve çokgenli görünür, bu yüzden dönüştürücü, her sonraki aracın tahmin etmesine izin vermek yerine, yüklenirken bunları bir kez hesaplar.
Dönüştürme şekli değiştiriyor mu?#
Hayır. Her hedef dönüştürüldü ve sonra yeniden okundu, ve yüzey tıpatıp aynı çıktı: aynı sayıda üçgen ve toplam yüzey alanı, ölçüm sınırına kadar, bir ağ içinde 498.734 üçgenler. Geometri, bir 3D dosyasının dönüşümden etkilenmeden kalan kısmıdır.
| Hedef | Üçgenler sonra | Yüzey alanı hatası | Koordinatlar nasıl kaydedilir |
|---|---|---|---|
| GLB | değişiklik yok | 0% | float32 ikili |
| glTF | değişiklik yok | 0% | base64 tampon |
| OBJ | değişiklik yok | 0% | metin ile 17 ondalıklar |
| STL | değişiklik yok | 0% | float32 ikili |
| PLY | değişiklik yok | 0% | float32 ikili |
| USDZ | değişiklik yok | 0% | USDA zip |
O zaman, 3D dönüşüm kayıp mı yaratıyor yoksa yaratmıyor mu?#
İkisi de, ve fark bu kadar kullanışlı. Geometri hiçbir şey kaybetmez: giren şekil çıkan şekildir. Geometriyi çevreleyen her şey kaybolur ve hangi parçaları kaybettiğiniz tamamen seçtiğiniz hedefe bağlıdır.
Burada hiçbir şey koordinatları kesmez. GLB, 32 bitlik ikili floats yazar. STL ve PLY de 32 bitlik ikili floats yazar. glTF aynı ikili tamponu JSON içinde base64 olarak gömer. USDZ, USDA’in bir zip’ini yazar. OBJ tek olarak pozisyonları ondalık metin olarak yazar ve onları yuvarlamak yerine tam doğrulukla yazar; bu, dosyalarının çok daha büyük olmasının kısmen nedenidir.
Bu, her dönüşümün modeli biraz bozmaya eğilimli olduğu gibi yaygın endişelerin, örneğin bir JPEG dosyasını tekrar kaydetmenin geçerli olmadığı anlamına gelir. GLB’ten OBJ’e dönüştürmek ve geri dönmek, ağı yumuşatmaz.
Yukarıdaki sayfada görünenleri eleme işini yapıyor: STL ve PLY’daki sahne grafiği, OBJ, STL ve USDZ’daki köşe başına renk, STL, PLY ve USDZ’daki malzeme isimleri ve STL’deki UV’ler. Bu kayıplar kalıcıdır, yani yeniden dönüştürmek onları yeniden icat edemez.
Hangi hedefi seçmelisiniz?#
Hedefi, hayatta kalması gerekenlere göre seçin, alıcı aracın listesinin başına koyduğu uzantıya göre değil. Yukarıda ölçülenlerden hareketle savunulabilir seçimler şunlardır.
| Eğer ihtiyacınız varsa | Seçin | Neden |
|---|---|---|
| Her şey korundu, tek bir dosyada | GLB | Sahne grafiğini, malzeme adlarını, UV'leri ve köşe başına rengi birlikte koruyan, tam formatların en küçük boyutuna sahip tek hedef. |
| Her şey korundu, bir kişi tarafından okunabilir | glTF | GLB ile aynı içerik, yaklaşık bir 33 Yüzde daha büyük çünkü tamponlar JSON içinde base64 olarak bulunuyor. |
| Masaüstü programında adlandırılmış ayrı nesneler | OBJ | Her iki nesneyi ve her iki malzeme adını korudu. Köşe başına rengi atıyor ve altı dosyanın en büyüğünü yazıyor. |
| 3D baskı | STL | Sadece üçgenler ve başka bir şey değil, yani bir dilimleyicinin okuduğu her şey. Gerçek bir kafeste glTF olmayan hedeflerin en küçüğü. |
| Geometri ve köşe başına renk, az ağırlıkla | PLY | Tek glTF olmayan hedef, vertex bazında rengi korudu ve indeksi koruyor, bu yüzden orijinal boyutuna yakın kalıyor. |
| Apple / iPhone üzerinde Hızlı Bakış / AR | USDZ | Referans sahnesindeki iki nesneyi ve UV’leri korudu. Tekrar okunduğunda vertex bazında rengi ve malzeme isimlerini kaybetti. Bir telefonun açabileceği USDA zip dosyası. |
Bu formatları tanımlayan nedir#
Yukarıdaki ölçümler bize aittir; her formatın taşıyabileceğini biz belirlemiyoruz. Bunlar, bu sayfanın söylediklerinin kaynağında doğrulanabilmesi için formatın belirlediği teknik özellikler ve referanslardır, sadece inanmak yerine.
- glTF 2.0 SpesifikasyonuThe Khronos Group
Sahne grafiğini, GLB ve glTF'in taşıdığı malzemeleri ve aksesuarları tanımla ve burada sağlam kalan tek yerler olmalarının nedenini açıkla.
- Ortam türü model/gltf-binaryIANA
Yukarıda ölçülen ikili konteyner GLB için kayıtlı tür.
- Ortam türü model/stlIANA
Kayıtlı haliyle STL: renk, UV, malzeme veya nesne isimleri için herhangi bir alan olmadan üçgenler ve yüz normalleri.
- Wavefront OBJ dosya formatıPaul Bourke
Her zaman referans alınan kaynak OBJ için, köşe başına renk alanı olmasa da, bu, dönüştürme sırasında atılan verilerle uyumludur.
- PLY çokgen dosya formatıPaul Bourke
PLY'i buraya saklayan tek glTF olmayan hedef yapan, tepe noktası başına özellikleri, renk dahil, belgeleyin.
- USDZ dosya formatı spesifikasyonuPixar / OpenUSD
USDZ, ilk girişi USDA sahnesi olan bir zip dosyasıdır. Bu, bu dönüştürücünün yazdığı ve okuduğu pakettir.
Nasıl ölçüldü#
Ölçüm, ürünün kendisini çalıştırır, bir tanımını değil. Betik, tarayıcı dönüştürücüsüyle aynı yükleyicileri ve ihracatçıları, aynı seçeneklerle içe aktarır ve rakamların yeniden üretilebilmesi veya tartışılabilmesi için depoda bulunur.
- Her biri adlandırılmış bir metalik malzemeye, tepe noktası başına renge, UV koordinatlarına ve normallere sahip iki adlandırılmış küp ile bir referans sahne oluşturun.
- Gerçek olarak üretilmiş ağları, dönüştürücünün verdiğiniz dosyayı yüklediği şekilde yükleyin, ağda yoksa köşe normallerini hesaplayan adım da dahil.
- GLB, glTF, OBJ, STL, PLY ve USDZ'e, dönüştürücünün çağırdığı aynı ihracatçılar ve aynı ikili ayarlarla aktarın.
- Her sonucun bayt cinsinden boyutunu kaydedin.
- Özellikleri doğrudan yazılan baytlardan okuyun, yeniden yüklenmiş bir sahneden değil, çünkü bir yükleyici dosyanın içermediklerini uydurur: vn satırı olmayan bir OBJ, benzer şekilde sentezlenmiş normal özelliği ile yeniden yüklenir.
- Tabloyu doğrudan bu sonuçtan yayınlayın. Ölçülen 13 Eylül 2026 Üç.js r179.
Sorular
- Bir 3D dosyası dönüştürmek kalite kaybına yol açar mı?
- Form değil. Her hedef dönüştürüldü ve yeniden okundu, ve üçgen sayısı ve toplam yüzey alanı bir 498.734 üçgenli mesh'te tamamen aynı çıktı, koordinatlar hiçbir formatta kısaltılmadı. Kaybolan şey geometrinin etrafındaki her şeydir ve bu, hedefe bağlıdır: STL UV'leri, renkleri, malzemeleri ve sahne grafiğini atar; OBJ vertex başına rengi atar; PLY malzeme adlarını atar ve sahneyi birleştirir; USDZ vertex başına rengi ve malzeme adlarını yeniden okurken atar; GLB ve glTF hepsini korudu.
- Hangi 3D format daha az yer kaplıyor?
- GLB, gerçek bir ağda. Bu testlerde GLB yazdı 1.173 KB OBJ'in yazdığı yerde 4.928 KB aynı model için, çünkü GLB ikili biçimdedir ve paylaşılan bir köşe dizini tutar, oysa ortaya çıkan OBJ metindir ve her üçgenin her köşesini ayrı olarak saklar.
- Neden OBJ’ım, çıktığı GLB’ten çok daha fazla yer kaplıyor?
- İki nedenle, her iki ölçüm için: OBJ metindir ve ikili değildir, ve burada yazılan OBJ üçgenler arasında köşe paylaşmaz, bu yüzden köşe sayısı çarpılır 6 iyi bir şekilde dizinlenmiş bir ağda. Yüzey aynı; muhasebe aynı değil.
- STL renkleri koruyor mu?
- Hayır. Bir STL ikilisi, bir üçgen için bir yüz normali ve üç köşe saklar ve renk, UV, materyal veya nesne isimleri için herhangi bir alan yoktur. Bu, bu testlerde yazılan tüm STL’lerde yerine getirilmiştir.
- GLB kullanmadan köşe başına rengi koruyabilir miyim?
- Evet, PLY ile. Bu testlerde, başlığında renk özelliğini bildiren glTF olmayan tek hedef oydu. Ancak, birden fazla nesneden oluşan bir sahneyi tek bir mesh'e indirger, bu yüzden rengi korursunuz ama parçaları kaybedersiniz.
- Bir 3D modeli defalarca dönüştürmek onu bozar mı?
- Hayır. Bir JPEG dosyasını tekrar kaydetmekle karşılaştırıldığında, bir 3D dönüşüm hata biriktirmez: koordinatlar ikili float olarak kopyalanır veya OBJ durumunda tam hassasiyetle ondalık biçimde yazılır. Bu formatlardan herhangi birinde ileri ve geri dönüş yüzeyi tamamen aynı şekilde geri verir. Geri gelmeyen şey, hedefin baştan taşıyamadığı malzeme ve sahne bilgisi.
- Bu rakamları yeniden üretebilir miyim?
- Evet. Ölçüm scripti repoda, scripts/measure-conversions.mjs dosyasında bulunuyor ve bu sayfanın okuduğu JSON'u yazıyor. Son olarak çalıştırıldığı zaman 13 Eylül 2026 Üç.js r179.