GLB gltfpack ile çokgen azaltma

Üçgen tutma kontrolü, orijinal üçgen sayısının ne kadarını korumak istediğinizi ayarlar. Bu bir vaat değil, hedeftir. Bu sayfada geometri basitleştirmesi ele alınmaktadır; doku boyutunu veya kodlamayı değiştirmez.

Orta düzeyde bir hedefle başlayın

Orijinal modeli yükleyin, dokuları değiştirmeden tutun ve Hedef üçgen tutma değerini 50% olarak ayarlayın. Basitleştirme hatasını varsayılan 1% değerinde bırakın. Aşağı inmeden önce kavisli hatları, ince parçaları ve delikleri karşılaştırın. Birden fazla ağa sahip modeller için yalnızca toplam sayıya karar vermek yerine her bir parçayı kontrol edin.

gltfpack -i input.glb -o output.glb -si 0.5 -kn -km -ke

Hedefe neden ulaşılamıyor?

Hata sınırı kabul edilebilir basitleştirme hatasını sınırlar. Daha sıkı bir sınır, azaltmayı erkenden durdurabilir. Açık sınırlar, özel dikişler ve küçük ağ parçalarının yapısı da daha az güvenli basitleştirme seçeneği bırakabilir. Web sitesi ölçülen sonucu ve olası nedenleri rapor eder; motor kesin bir durma nedeni tanımlamıyor.

Ayrı parçaların açık kenarlarla eşleşmesi gerektiğinde kenar köşelerini kilitleyin. Bu, boşlukların önlenmesine yardımcı olabilir ancak daha fazla üçgen kalmasına neden olabilir. Birleştirilmiş parçaları ihracattan sonra test edin; sınırları kilitlemek her görsel dikişin değişmeden kalacağını garanti etmez.

Dalgalanma örneğinde ölçülen sonuçlar

Basitleştirme ayarlarıÇıkış üçgenleri
Orijinal ağ8,192
50% hedefi, varsayılan hata sınırı4,095
10% hedefi, sıfır hata, kilitli kenarlıklar8,192
10% hedefi, agresif basitleştirme812

Çalıştırmalar aynı orijinal CC0 örneğini ve yerel gltfpack 1.3'ü kullanır. Üçgen toplamları her mesh temel öğesini bir kez sayar. Sonuçlar modele bağlıdır ve hedefe yakın bir sayım, kalan şeklin kabul edilebilir olup olmadığı konusunda hiçbir şey söylemez.

Silüeti aynı açıyla karşılaştırın

Bu görüntüler, tablodaki dosyaları Three.js 0.180.0'da aynı kamera, ışıklandırma ve malzemelerle oluşturuyor. Tam boyutta incelemek için bir resmi açın. Dış loblar ve iç açıklıkla başlayın; Sonucu yalnızca üçgen sayımlarına göre yargılamayın.

Sabit karşılaştırma kamerasından görüntülenen orijinal dalgalanma modeli
Orijinal: 8.192 üçgen
Yüzde 50 üçgen tutulmasından sonra dalgalanma modeli
Üçgenlerin %50’si korunarak: 4.095 üçgen
Agresif yüzde 10 tutmanın ardından Ripple modeli
Agresif sadeleştirmeyle %10’a düşürme: 812 üçgen

Agresif 10% sonucunda iç açıklık gözle görülür şekilde daha düz bölümlere ve daha keskin köşelere sahiptir. Dış loblar da yuvarlaklığını bir miktar kaybeder. Üçgen hedefine ulaşılmış olsa bile bu değişiklikleri küçük bir küçük resimde gözden kaçırmak kolaydır.

Bu örnekte dış görünüm veya animasyon yoktur. Tek bir görünüm, hareket sorunlarını, gizli yüzeyleri veya her gölgeleme değişikliğini ortaya çıkaramaz. Daha düşük bir üçgen sayısını kabul etmeden önce kendi sonucunuzu döndürün ve amaçlanan görüntü boyutunda kontrol edin.

Agresif basitleştirmeyi yalnızca karşılaştırmadan sonra kullanın

Agresif basitleştirme, istenen sayıma öncelik verir ve hata sınırını göz ardı eder. Bu mod etkinken arayüz hata alanını devre dışı bırakır. Bunu bir kopya üzerinde kullanın ve silueti ve yüzey gölgelemesini inceleyin. Zor bir model için kaliteyi koruyan bir kısayol değildir.

gltfpack -i input.glb -o output.glb -si 0.1 -sa -kn -km -ke

Daha az sayıda üçgen dosya boyutunu zar zor küçültüyorsa →

Motor referansı: gltfpack

Optimize ediciyi açın ↗