GLB Polygonreduktion mit gltfpack

Mit der Dreiecksbeibehaltungssteuerung legen Sie fest, wie viel von der ursprünglichen Dreiecksanzahl Sie behalten möchten. Es ist ein Ziel, kein Versprechen. Auf dieser Seite geht es um die Vereinfachung der Geometrie. Es ändert weder die Texturgröße noch die Kodierung.

Beginnen Sie mit einem moderaten Ziel

Laden Sie das Originalmodell hoch, lassen Sie die Texturen unverändert und stellen Sie die Zieldreiecksretention auf 50% ein. Belassen Sie den Vereinfachungsfehler auf dem Standardwert 1%. Vergleichen Sie gekrümmte Umrisse, dünne Teile und Löcher, bevor Sie tiefer gehen. Überprüfen Sie bei Modellen mit mehreren Netzen jedes Teil, anstatt nur die Gesamtzahl zu beurteilen.

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

Warum das Ziel möglicherweise nicht erreicht wird

Die Fehlergrenze schränkt den akzeptablen Vereinfachungsfehler ein. Ein strengerer Grenzwert kann die Reduzierung vorzeitig stoppen. Offene Grenzen, Attributnähte und die Struktur kleiner Netzteile können ebenfalls weniger sichere Vereinfachungsoptionen bieten. Die Website meldet das Messergebnis und mögliche Ursachen; Der Motor erkennt keinen genauen Stoppgrund.

Sperren Sie Randscheitelpunkte, wenn einzelne Teile weiterhin mit offenen Kanten übereinstimmen müssen. Dies kann helfen, Lücken zu vermeiden, aber möglicherweise entstehen mehr Dreiecke. Testen Sie die zusammengebauten Teile nach dem Export; Das Verriegeln von Rändern ist keine Garantie dafür, dass jede optische Naht unverändert bleibt.

Gemessene Ergebnisse an der Ripple-Probe

VereinfachungseinstellungenAusgabedreiecke
Originales Netz8,192
50% Ziel, Standardfehlergrenze4,095
10% Ziel, Nullfehler, gesperrte Grenzen8,192
10% Ziel, aggressive Vereinfachung812

Die Läufe verwenden das gleiche Original-CC0-Beispiel und das native gltfpack 1.3. Dreieckssummen zählen jedes Netzgrundelement einmal. Die Ergebnisse hängen vom Modell ab und eine Zählung nahe dem Ziel sagt nichts darüber aus, ob die verbleibende Form akzeptabel ist.

Vergleichen Sie die Silhouette im gleichen Winkel

Diese Bilder rendern die Dateien in der Tabelle mit derselben Kamera, derselben Beleuchtung und denselben Materialien in Three.js 0.180.0. Öffnen Sie ein Bild, um es in voller Größe zu betrachten. Beginnen Sie mit den Außenlappen und der Innenöffnung; Beurteilen Sie das Ergebnis nicht allein anhand der Dreieckszählung.

Ursprüngliches Ripple-Modell, betrachtet von der festen Vergleichskamera
Original: 8.192 Dreiecke
Ripple-Modell nach 50-prozentiger Dreiecksretention
50% der Dreiecke beibehalten: 4.095 Dreiecke
Ripple-Modell nach aggressivem Einbehalt von 10 Prozent
Aggressive Vereinfachung auf 10%: 812 Dreiecke

Beim aggressiven 10%-Ergebnis weist die Innenöffnung sichtbar geradere Segmente und spitzere Ecken auf. Auch die Außenlappen verlieren etwas an Rundheit. Diese Änderungen sind in einer kleinen Miniaturansicht leicht zu übersehen, auch wenn das Dreiecksziel erreicht wurde.

Dieses Beispiel enthält weder Skinning noch Animationen. Eine Einzelansicht kann nicht Bewegungsprobleme, verdeckte Flächen oder jede Verschattungsänderung aufdecken. Drehen Sie Ihr eigenes Ergebnis und überprüfen Sie es in der vorgesehenen Anzeigegröße, bevor Sie eine niedrigere Dreiecksanzahl akzeptieren.

Verwenden Sie eine aggressive Vereinfachung erst nach dem Vergleich

Eine aggressive Vereinfachung priorisiert die angeforderte Anzahl und ignoriert die Fehlergrenze. Die Schnittstelle deaktiviert das Fehlerfeld, während dieser Modus aktiv ist. Verwenden Sie es auf einer Kopie und überprüfen Sie die Silhouette und die Oberflächenschattierung. Es ist keine qualitätserhaltende Abkürzung für ein schwieriges Modell.

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

Wenn weniger Dreiecke vorhanden sind, verringert sich die Dateigröße kaum →

Motorreferenz: gltfpack

Öffnen Sie den Optimierer ↗