Three.js · Varlık · Draco
Draco sıkıştırma parametreleri: kontrol paneli
Draco kullanırken «her şeyi sıkıştır» düğmesine basıp geçmek yerine, her veri türüne özel ayar yapmak profesyonel iş akışının anahtarıdır. En kritik nokta, her modele aynı reçeteyi uygulamamaktır.
Bit derinliklerinin matematiği için Vertex quantization · formüller; öznitelik katmanları için Öznitelik sıkıştırma sayfalarına dönün.
Decode takası: Mesh compression · takaslar.
Quantization bitleri: hassasiyetin sınırları
Daha önce Vertex quantization sayfasında gördüğümüz ızgara (grid) çözünürlüğünü, dışa aktarımda çoğu zaman bu bit değerleri belirler. Bit arttıkça model gerçeğe yaklaşır; dosya boyutu da genelde aynı yönde büyür. Kısa özet: bit ↑ → ızgara ↑ → hassasiyet ↑ — ayrıntılı eşleme için formül bloğuna bakın.
Aynı hattın diğer yüzü: daha düşük bit, çoğu zaman daha küçük kodlanmış yük demektir; bu da bazı motor ve sürümlerde decode süresini hafifletebilir — etki her zaman doğrusal değildir, sahneyi yine ölçmek gerekir (Decode maliyeti).
Position bitleri (konum)
En kritik parametredir: konum doğrudan siluet ve konturyu taşır; küçük bir normal sapması göz ardı edilirken, küçük bir konum hatası çizginin «kırıldığı» hissedilir. Çoğu vitrin için 11–14 bit (eksen başına) aralığı sık kullanılır. 11 bit altı agresif seçimlerde köşeler büyük adımlarla kaydığı için yüzeylerde çatlama / yarık (geometry cracking) hissi oluşabilir.
Normal bitleri
Aydınlatma ve yansıma için kullanılır; çoğu zaman gölgelenme ve parlama karakterini değiştirir, oysa köşe konumu aynı kalsa da siluet aynı kalabilir. Bu yüzden konuma göre daha toleranslı bir kanaldır. Çoğu senaryoda 7–10 bit yeterli olur; normallere gereksiz yüksek bit vermek tel boyutunu şişirir, görsel getiri sınırlı kalabilir.
TexCoord / UV bitleri
Kaplamanın yerleşimi için; risk çoğu zaman siluetten çok doku bozulması / germe (texture distortion) tarafındadır. Bu yüzden pratikte çoğu reçetede orta bant (konuma göre daha düşük, normale göre daha yüksek) tercih edilir. 10–12 bit sık «başlangıç» bandıdır; düşük bitlerde doku kaymış veya yamulmuş görünebilir.
Öznitelik bazlı ayar: neyi, ne kadar?
Her attribute aynı önceliğe sahip değildir. İyi strateji, ilgi odağına göre bütçeyi dağıtmaktır.
- Mimari modeller: Keskin hat ve düz duvarda position biti yüksek tutulmalıdır (ör. 14 bit); aksi halde birleşim yerlerinde boşluklar görülebilir.
- Organik modeller (karakter): Yumuşak geçişlerde normal kanalı daha kritik hale gelir; ışığın pürüzsüz dönmesi için normale öncelik verilir.
- Uzak LOD: Sahnenin uzağındaki ağaç / kaya gibi öğelerde tüm kanalları 6–8 bite kadar düşürmek çoğu zaman fark edilmez — izleme mesafesi ve ekran alanı doğrulanmalıdır.
Kademeli optimizasyon (progressive)
İleri seviye iş akışında aynı varlığın farklı LOD kopyalarında farklı bit reçeteleri kullanılır: yakın hero sürümü detay taşır, uzak sürüm bütçeyi budar. Böylece tek bir «evrensel» ayar yerine, kamera mesafesine göre parametre yüzeyi kaydırılır — tablo (§4) satırlarını doğrudan bu fikre oturtabilirsiniz.
Kalite · boyut: compression level takası
Kodlayıcıda çoğu zaman 0–10 aralığında bir compression level (veya eşdeğeri) bulunur; tam aralık araca göre değişebilir, fakat sezgi aynıdır. Pratikte bu parametre çoğu zaman kodlama (encode) süresini ve bitstream’in ne kadar «sıkıldığını» belirler; decode maliyeti aynı ölçüde büyümeyebilir — yine de Holodepth notundaki gibi çözümü ölçün.
- Düşük seviye (ör. 0–3): Encode genelde daha hızlı; dosya daha büyük kalır. Decode tarafı bit seçimine göre değişir; seviye tek başına her zaman «hızlı çözüm» demek değildir.
- Yüksek seviye (ör. 7–10): En küçük dosyayı hedefler; kodlayıcı daha fazla analiz için CPU zamanı harcar (encode ↑). Web vitrinlerinde 7 civarı sık «başlangıç altın noktası» olarak anılır — sahneyi profiler ile doğrulayın.
Kritik özet: örnek reçete tablosu
Aşağıdaki değerler başlangıç önerisidir; içerik, kamera ve hedef cihaz ölçümüyle mutlaka güncellenmelidir.
Senaryo → bit bütçesi
| Senaryo | Position | Normal | UV | Comp. seviye |
|---|---|---|---|---|
| Hero obje (kullanıcının incelediği ana model) | 14 bit | 10 bit | 12 bit | 7 |
| Arka plan / çevre (bina, yol vb.) | 11 bit | 8 bit | 10 bit | 8 |
| Mobil / düşük donanım (hızlı yükleme odaklı) | 10 bit | 7 bit | 8 bit | 5 |
HoloDepth teknik notu
Decode süresini ölçün
Parametreleri ayarlarken yalnızca dosya boyutuna bakmayın. Tarayıcıda decompression time (çözme süresi) ve ilk anlamlı kareyi de ölçün. Çok agresif sıkıştırma seviyeleri, model inmiş olsa bile ana iş parçacığında veya WASM işçisinde belirgin duraklama üretebilir — Decode maliyeti başlığıyla birlikte düşünün.