Ridurre i poligoni di un GLB con gltfpack

La percentuale di triangoli da mantenere indica quale parte del conteggio originale vuoi conservare. Il risultato può rimanere sopra questo obiettivo a causa del limite di errore o dei vincoli della mesh. Questa impostazione influisce sulla geometria; le dimensioni e la codifica delle texture si regolano separatamente.

Parti da un obiettivo moderato

Carica il modello originale, mantieni le texture invariate e imposta la percentuale di triangoli da mantenere al 50%. Lascia l'errore di semplificazione al valore predefinito dell'1%. Confronta profili curvi, parti sottili e fori prima di scendere ancora. Nei modelli con più mesh controlla ogni parte, senza giudicare solo il conteggio totale.

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

Perché l'obiettivo potrebbe non essere raggiunto

Il limite di errore stabilisce l'errore di semplificazione accettabile. Un limite più severo può fermare la riduzione in anticipo. Anche bordi aperti, discontinuità degli attributi e struttura delle piccole parti possono ridurre le semplificazioni sicure disponibili. Il sito mostra il risultato misurato e le possibili cause; il motore non identifica un motivo esatto dell'arresto.

Blocca i vertici dei bordi se pezzi separati devono mantenere bordi aperti corrispondenti. Può aiutare a evitare fessure, ma lasciare più triangoli. Prova i pezzi assemblati dopo l'esportazione; il blocco non garantisce che ogni giunzione visibile resti invariata.

Risultati misurati sull'esempio ondulato

Impostazioni di semplificazioneTriangoli nel risultato
Mesh originale8.192
Obiettivo 50%, limite di errore predefinito4.095
Obiettivo 10%, errore zero, bordi bloccati8.192
Obiettivo 10%, semplificazione aggressiva812

Le prove usano lo stesso esempio originale CC0 e gltfpack nativo 1.3. I conteggi includono ogni primitiva di mesh una sola volta. I risultati dipendono dal modello; un conteggio vicino all'obiettivo non dice se la forma rimasta sia accettabile.

Confronta il profilo dalla stessa angolazione

Queste immagini mostrano i file della tabella con camera, illuminazione e materiali identici in Three.js 0.180.0. Apri un'immagine per esaminarla a dimensione intera. Inizia dai lobi esterni e dall'apertura interna; non giudicare solo dal numero di triangoli.

Modello ondulato originale visto dalla camera fissa di confronto
Originale: 8.192 triangoli
Modello ondulato con il 50 per cento dei triangoli mantenuti
50% mantenuto: 4.095 triangoli
Modello ondulato con obiettivo aggressivo del 10 per cento
10% aggressivo: 812 triangoli

Nel risultato aggressivo al 10%, l'apertura interna presenta segmenti visibilmente più dritti e angoli più marcati. Anche i lobi esterni perdono rotondità. Queste variazioni si notano poco in una miniatura, benché l'obiettivo di triangoli sia stato raggiunto.

Questo esempio non contiene skinning o animazioni. Una sola vista non può rivelare problemi di movimento, superfici nascoste o tutte le variazioni di ombreggiatura. Ruota il tuo risultato e controllalo alle dimensioni di visualizzazione previste prima di accettare meno triangoli.

Usa la semplificazione aggressiva solo dopo un confronto

La semplificazione aggressiva privilegia il conteggio richiesto e ignora il limite di errore. L'interfaccia disabilita il campo dell'errore quando questa modalità è attiva. Usala su una copia e controlla profilo e ombreggiatura. Non è una scorciatoia che conserva la qualità di un modello difficile.

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

Se meno triangoli riducono poco la dimensione del file →

Riferimento del motore: gltfpack

Apri l'ottimizzatore ↗