3D Model Formatları · OBJ · OBJ vs glTF
Dosya Boyutu: Aynı Mesh, İki Fatura
«OBJ 40 MB, GLB 9 MB; hangisi doğru?» ikisi de doğru olabilir; ölçtüğünüz şey farklı faturadır. Import / Export Köprüsü geçişi kapattı; OBJ vs glTF grubu yüz yüze kıyasa geçer. Birinci eksen: boyut karşılaştırmasını adil ve karar verilebilir kılmak.
Holodepth'te bu sayfa ne OBJ Limitleri'ndeki ASCII şişkinlik dersini ne de glTF Dosya Boyutu Analizi'ndeki kalem envanterini tekrarlar. Burada soru şudur: aynı (veya aynı sandığınız) içeriği iki formatta tartınca neyi kıyaslıyorsunuz, hangi yanılsamalar karar bozar, bütçe hangi formatı seçtirir? Özellik, runtime FPS ve modern kullanım ayrı sayfalarda kalır.
Sayfayı bitirdiğinizde şu cümleyi kurabilmelisiniz: «Boyut kıyası paket kapsamı eşitlenmeden yapılmaz. OBJ metin vergisi, glTF binary + isteğe sıkıştırma taşır. gzip OBJ'yi küçültür ama parse'ı silmez. Dönüşüm topolojiyi küçültmez. Küçük prop'ta fark önemsiz; dense mesh'te format seçimi bütçeyi belirler. Sonraki sayfa özellik yüzeyi, sonra performans.»
Bu sayfanın sınırı · komşu konularla ayrım
Bu sayfa OBJ ile glTF/GLB'nin boyut kıyasını anlatır:
- Adil karşılaştırma koşulları
- Kodlama farkı vs içerik farkı
- Transfer yanılsamaları ve karar kuralları
- Holodepth teşhis açıları
Bilinçli olarak dışarıda bırakılan konular:
- OBJ ASCII sürücüleri derinliği → Büyük Dosya Boyutu (OBJ)
- glTF kalem envanteri, Draco/KTX2 katmanları → Dosya Boyutu Analizi (glTF)
- Özellik yüzeyi (skin, PBR, clip) → Özellikler
- Parse/FPS/draw → Performans
- Ne zaman hangi format (ürün) → Modern Kullanım
Kısa ayrım: Bu sayfa «iki formatı tartmak» · OBJ Büyük Dosya «OBJ neden şişer?» · glTF Analizi «glTF paketi nasıl okunur?»
İki fatura, aynı sipariş mi?
«Aynı model» iddiası sıkça yanıltır. Bir yanda mesh.obj + ayrı
PNG'ler; diğer yanda tek model.glb (mesh + dokular gömülü). Diskte
OBJ «küçük», ZIP/GLB «büyük» görünebilir veya tersi. Kıyas öncesi paket
kapsamını eşitleyin: geometri, dokular, materyal, varsa animasyon.
Elma ile elma suyu şişesini tartmak «meyve ağırlığı» değildir. Önce neyin içinde olduğunu yazın.
Adil kıyas kuralları
Holodepth adil test checklist'i:
- Aynı topoloji (köşe/yüz sayısı bilinçli eşit veya not edilmiş)
- Aynı doku çözünürlüğü ve sayısı (veya ikisinde de dokusuz)
- OBJ tarafında .mtl + map dosyaları toplama dahil
- glTF tarafında JSON+bin veya GLB toplamı; extras şişkinliği not
- Ham disk ve (ayrı satır) gzip/br transfer ayrı rapor
- «Draco'lu GLB» ile «ham OBJ» aynı hücreye konmaz; etiketleyin
Bu kurallar olmadan üretilen «OBJ kötü / glTF iyi» cümlesi pazarlama olur, ölçüm olmaz.
Kodlama farkı vs içerik farkı
İki şişkinlik türünü ayırın:
- Kodlama farkı: aynı float'lar ASCII mi, float32 buffer mı? Aynı indeksler metin mi, binary mi? Bu, OBJ Limitleri'nin vergi dilidir.
- İçerik farkı: glTF'de ek skin, morph, ikinci UV, daha çok doku; OBJ'de yok. «GLB büyük çünkü özellik zengin» ile «GLB küçük çünkü binary» karıştırılmamalıdır.
Dönüştürücü OBJ→GLB yaptığınızda kodlama farkı genelde küçültür; içerik sihirli biçimde azalmaz. Decimate etmediyseniz üçgen sayısı aynı kalır.
gzip asimetrisi
ASCII OBJ tekrarlayan rakam kalıplarıyla yüksek sıkışma oranı verebilir; Network'te «OBJ neredeyse GLB kadar küçük» görünebilir. Binary GLB zaten yoğundur; HTTP gzip ek kazancı daha düşüktür (özellikle doku zaten JPEG/KTX2 ise).
Yanılsama: transfer eşitlendi sanıp OBJ'yi seçmek. Parse duvarı ve bellek hâlâ OBJ aleyhine olabilir. Performans sayfası zaman metriklerini alır; burada yalnızca şunu sabitleyin: sıkışmış transfer ≠ ucuz yükleme.
OBJ'nin «küçük göründüğü» anlar
- Çok küçük prop; ASCII vergisi mutlak baytta önemsiz
- Dokusuz geometri; GLB konteyner/JSON overhead göreli büyük kalabilir
- Yalnızca .obj satırı ölçülüp yan PNG'ler unutulmuş (adil olmayan kıyas)
- Arşivde diff için metin tutuluyor; boyut birincil KPI değil
Bu anlar «OBJ her zaman küçük» kanıtı değildir; bağlamdır. Holodepth: küçük mutlak farklarda formatı boyutla değil iş akışıyla seçin.
glTF/GLB'nin baskın olduğu bütçe
- Orta–yüksek köşe sayısı; kodlama vergisi megabaytlara çıkar
- Çoklu doku; tek konteyner + modern texture stratejisi
- CDN / mobil ilk yükleme KPI'sı sıkı
- Draco / meshopt / KTX2 bilinçli kullanıldığında (etiketli kıyas)
- Aynı pipeline'da animasyonlu varlıklarla ortak bütçe
Web yayınında Holodepth varsayılanı: boyut KPI'sı varsa glTF/GLB. OBJ ara handoff veya arşivde kalsın. Mekanik derinlik glTF analiz sayfasındadır.
«Dönüştürdük, küçüldü» miti
OBJ→GLB sonrası küçülme çoğu zaman kodlama + isteğe bağlı sıkıştırmadır. Sanatçı «sihir» sanır; aslında buffer yazımıdır. Tersine GLB→OBJ büyütme de şaşırtmaz: binary tekrar ASCII'ye dökülür.
Dikkat: bazı dönüştürücüler sessizce decimate, weld veya doku yeniden encode eder. O zaman içerik de değişmiştir; kıyas bozulur. Log'u okuyun; yalnızca uzantıya bakmayın.
Karar iskeleti (yalnızca boyut KPI)
- Paket kapsamını eşitle (kural 2).
- Ham ve transfer boyutunu ayrı yaz.
- Kodlama mı, içerik mi fark yaratıyor diye ayır.
- Mutlak fark bütçe eşiğinin altında mı? (eşik altı → iş akışı kazansın)
- Eşik üstü + web yayın → glTF/GLB yönel.
- Eşik üstü + CAD/scan arşiv → OBJ kabul; publish ayrı üret.
Özellik ihtiyacı (skin, PBR) boyutu ezerse bu sayfa yetmez; Özellikler sayfasına geçin. Zaman/CPU baskınsa Performans'a.
Holodepth perspektifleri
Slayt tuzağı
Tek ekran görüntüsü «OBJ 5× büyük» iddiası, dokusuz GLB ile dokulu OBJ ZIP'ini karıştırmış olabilir. Kaynak notu olmadan slaytı çürütün.
Repo vs CDN
Git'teki .obj ile kullanıcının indirdiği .glb farklı dünyalardır. KPI'yı hangi yüzeye yazdığınızı netleştirin.
Parça sayısı yanılsaması
20 OBJ dosyasının her biri «küçük»; toplam bayt tek GLB'den büyük olabilir. Toplamı raporlayın.
Teşhis maddeleri
- Kapsam eşit mi?
- Ham / transfer ayrı mı?
- Kodlama mi içerik mi?
- Sıkıştırma etiketi (Draco vb.) yazılı mı?
- Eşik altı fark mı, bütçe kırıcı mı?
- Karar boyut mu, özellik/performans mı istiyor?
Holodepth içgörüsü
Boyut tartışmasında önce format fanatizmini değil fatura kalemlerini eşitleyin. Eşitlenmiş kıyas çoğu ekibi zaten glTF yayın + OBJ handoff ayrımına götürür.
Fatura net; sırada özellik yüzeyi
Boyut kıyası paket ve kodlama dilini sabitledi. Sonraki sayfa, aynı iki formatın ne taşıyıp ne taşımadığını yüz yüze koyar: Özellikler.
Format okuyucusu özeti: Adil boyut kıyası kapsam ister. OBJ metin vergisi, glTF binary (+ isteğe sıkıştırma) taşır. gzip yanıltır. Dönüşüm topoloji sihri değildir. Web bütçesinde glTF; OBJ handoff/arşivde.