Réduction de polygones GLB avec gltfpack
Le contrôle de rétention des triangles définit la quantité de triangles d'origine que vous souhaitez conserver. C'est un objectif, pas une promesse. Cette page couvre la simplification de la géométrie ; cela ne change pas la taille de la texture ni l'encodage.
Commencez avec un objectif modéré
Téléchargez le modèle d'origine, conservez les textures inchangées et définissez la rétention du triangle cible sur 50%. Laissez l'erreur de simplification à sa valeur par défaut 1%. Comparez les contours courbes, les pièces fines et les trous avant de descendre. Pour les modèles comportant plusieurs mailles, vérifiez chaque pièce plutôt que de juger uniquement le nombre total.
gltfpack -i input.glb -o output.glb -si 0.5 -kn -km -ke
Pourquoi l'objectif pourrait ne pas être atteint
La limite d’erreur limite les erreurs de simplification acceptables. Une limite plus stricte peut arrêter la réduction plus tôt. Les frontières ouvertes, les coutures d'attributs et la structure de petites parties de maillage peuvent également laisser moins de choix de simplification sûrs. Le site Web rapporte le résultat mesuré et les causes possibles ; le moteur n'identifie pas une raison exacte d'arrêt.
Verrouillez les sommets de bordure lorsque des pièces séparées doivent continuer à correspondre aux bords ouverts. Cela peut aider à éviter les espaces, mais peut laisser plus de triangles. Tester les pièces assemblées après exportation ; le verrouillage des bordures ne garantit pas que chaque couture visuelle reste inchangée.
Résultats mesurés sur l'échantillon d'ondulation
| Paramètres de simplification | Triangles de sortie |
|---|---|
| Maille originale | 8,192 |
| Cible 50%, limite d'erreur par défaut | 4,095 |
| Cible 10%, zéro erreur, bordures verrouillées | 8,192 |
| Cible 10%, simplification agressive | 812 |
Les exécutions utilisent le même échantillon CC0 original et le même gltfpack 1.3 natif. Les totaux triangulaires comptent chaque primitive de maillage une fois. Les résultats dépendent du modèle et un décompte proche de la cible ne dit rien sur la question de savoir si la forme restante est acceptable.
Comparez la silhouette sous le même angle
Ces images restituent les fichiers du tableau avec la même caméra, le même éclairage et les mêmes matériaux dans Three.js 0.180.0. Ouvrez une image pour l'inspecter en taille réelle. Commencez par les lobes extérieurs et l’ouverture intérieure ; ne jugez pas le résultat uniquement à partir du nombre de triangles.



Dans le résultat agressif 10%, l'ouverture intérieure présente des segments visiblement plus droits et des coins plus pointus. Les lobes externes perdent également un peu de rondeur. Il est facile de manquer ces changements dans une petite vignette, même si l’objectif du triangle a été atteint.
Cet exemple ne comporte ni skin ni animation. Une seule vue ne peut pas révéler les problèmes de mouvement, les surfaces cachées ou chaque changement d'ombrage. Faites pivoter votre propre résultat et vérifiez-le à sa taille d'affichage prévue avant d'accepter un nombre de triangles inférieur.
Utiliser une simplification agressive uniquement après comparaison
Une simplification agressive donne la priorité au nombre demandé et ignore la limite d'erreur. L'interface désactive le champ d'erreur lorsque ce mode est actif. Utilisez-le sur une copie et inspectez la silhouette et l'ombrage de la surface. Il ne s’agit pas d’un raccourci permettant de préserver la qualité d’un modèle difficile.
gltfpack -i input.glb -o output.glb -si 0.1 -sa -kn -km -ke
Si moins de triangles réduisent à peine la taille du fichier →
Référence moteur : gltfpack
Ouvrez l'optimiseur ↗