Optimiseur GLB
Réduisez la taille d’un fichier GLB ou glTF et son coût de rendu. Déposez-en un, puis choisissez les opérations à effectuer : supprimer les données auxquelles rien ne fait référence, souder les sommets et simplifier la géométrie, fusionner les maillages pour réduire les appels de rendu, redimensionner et réencoder les textures, puis compresser l’ensemble avec Meshopt. La taille est indiquée après chaque étape, vous pouvez prévisualiser le résultat avant de le valider et aucun fichier n’est envoyé sur un serveur. L’optimisation et l’aperçu sont gratuits ; le téléchargement du résultat est inclus dans les offres Standard et Pro.
Publiez une fraction des octets.
Retirez ce que rien ne référence, soudez et simplifiez la géométrie, réencodez les textures, puis empaquetez le tout avec Meshopt. Vous obtenez un chiffre de taille après chaque étape et un aperçu du résultat avant de valider.
84% smaller. Our sample character with 10 clips baked in.
Meshopt, quantification et pourquoi Draco n’est pas proposé ici
Meshopt (EXT_meshopt_compression) est l’option par défaut et le bon choix pour tout contenu exécuté dans un navigateur. Il atteint des tailles comparables à Draco tout en se décompressant plusieurs fois plus vite, ce qui compte puisque le décodage a lieu pendant que vos joueurs regardent un écran de chargement. three.js, Babylon.js et PlayCanvas le prennent tous en charge, et le décodeur est assez léger pour être négligeable.
La quantification ne nécessite aucune extension. Elle stocke les positions, les normales et les UV dans des types numériques plus compacts, que tous les chargeurs glTF peuvent lire sans décodeur. Le gain est plus modeste, mais le fichier reste un glTF standard, ce qui en fait l’option la plus sûre pour un pipeline que vous ne contrôlez pas.
Les fichiers Draco s’ouvrent correctement ici : vous pouvez donc en décompresser un ou le convertir vers Meshopt. L’encodage en Draco est une autre affaire, et cet outil ne le propose pas. Le seul encodeur Draco fonctionnant dans un navigateur est une version asm.js qui met plusieurs minutes rien que pour s’initialiser, tandis que les paquets maintenus ne fournissent que des versions pour Node. Proposer un bouton qui bloque votre onglet serait pire que de ne pas le proposer. Si vous avez spécifiquement besoin d’une sortie Draco, la CLI glTF-Transform permet de l’obtenir avec une seule commande sur votre machine :
npx @gltf-transform/cli draco input.glb output.glbCe que fait réellement chaque étape
Supprimer les données inutilisées exécute les opérations prune et dedup. Les outils d’export laissent régulièrement des matériaux qu’aucun objet n’utilise, des textures dupliquées sous deux noms différents et des nœuds vides. Sur un fichier passé par deux ou trois outils, cette seule opération réduit souvent sa taille de façon notable, sans pouvoir modifier l’apparence du modèle.
Souder les sommets fusionne les sommets qui partagent une position et une normale, transformant un ensemble de triangles indépendants en maillage indexé. La plupart des outils d’export le font déjà ; les autres vous font stocker trois copies de chaque coin partagé.
Fusionner les maillages par matériau corrige le nombre d’appels de rendu. Si votre modèle comprend deux cents objets distincts utilisant tous le même matériau, le GPU effectue deux cents opérations au lieu d’une. Leur fusion aplatit la hiérarchie, raison pour laquelle cette option est désactivée par défaut : si votre jeu déplace des pièces individuellement ou si le modèle est riggé, vous avez besoin de cette hiérarchie.
Simplifier la géométrie réduit le maillage avec le simplificateur Meshopt afin d’atteindre le pourcentage de triangles défini. C’est le réglage adapté aux modèles numérisés ou CAO qui contiennent des centaines de milliers de triangles dont personne n’a besoin. En dessous d’environ 40 %, la réduction commence à se voir sur les formes organiques, mais moins sur les surfaces dures.
Élaguer les images clés des animations rééchantillonne les pistes d’animation et supprime les images clés situées sur une ligne droite entre leurs voisines. Pour une séquence exportée à 60 images par seconde depuis un outil qui a précalculé chaque image, ces données peuvent représenter la majeure partie du fichier.
Textures redimensionne et réencode les images. WebP pèse environ un tiers de la taille d’un fichier PNG équivalent et tous les navigateurs actuels le prennent en charge. Limiter les textures à 1024 est généralement imperceptible sur un modèle de jeu et représente souvent la plus importante réduction possible du poids du téléchargement.
La taille du téléchargement n’est pas celle occupée en mémoire
La compression réduit la taille du fichier. Elle ne change rien à la mémoire vidéo occupée par les textures une fois chargées, car les fichiers JPEG, PNG et WebP sont tous décompressés en pixels bruts sur le GPU. Une texture de 2048 × 2048 occupe environ 22 Mo de VRAM, qu’elle ait pesé 4 Mo ou 200 Ko lors du téléchargement.
Si le visualiseur GLB vous indique que le problème vient de la mémoire des textures plutôt que de la taille du fichier, la solution est KTX2, qui reste compressé pour le GPU jusqu’en mémoire. Les deux formats sont complémentaires : KTX2 pour ce que conserve le GPU, Meshopt pour ce que transporte le réseau.
Questions fréquentes
Comment compresser un fichier GLB ?
Déposez-le ci-dessus, conservez les réglages par défaut et cliquez sur Optimiser. Les réglages par défaut nettoient les données inutilisées, soudent les sommets et appliquent la compression Meshopt, une combinaison sûre pour un jeu web. La liste des étapes indique d’où provient chaque gain de taille.
De combien la taille de mon fichier sera-t-elle réduite ?
Cela dépend entièrement de son contenu. Un modèle principalement composé de maillages et non compressé perd souvent 60 à 80 % de sa taille avec Meshopt. Un fichier contenant surtout des textures PNG ne change presque pas jusqu’à leur conversion en WebP. Un fichier principalement constitué de données d’animation réagit à l’élagage des images clés, mais pas aux autres opérations. Le détail par étape vous indique dans quel cas vous vous trouvez.
L’optimisation détériore-t-elle le modèle ?
La suppression des données inutilisées, la soudure des sommets, l’élagage des images clés et la compression Meshopt sont tous sans perte visuelle. Ce n’est pas le cas de la simplification : elle supprime des triangles, ce qui devient visible avec des réglages agressifs. Le redimensionnement des textures et la conversion en JPEG entraînent également des pertes. L’aperçu affiche le résultat réel afin que vous puissiez l’examiner avant de le télécharger.
Unity ou Godot peuvent-ils ouvrir le résultat ?
La prise en charge de Meshopt dépend de l’outil d’importation et de sa version. Si le fichier doit être importé dans un moteur plutôt que dans un navigateur, choisissez la quantification, qui ne nécessite aucune extension et fonctionne partout. Meshopt est préférable lorsque la destination est une page web.
L’outil peut-il ouvrir un fichier déjà compressé ?
Oui. Les fichiers compressés avec Draco ou Meshopt sont décodés au chargement. Vous pouvez donc décompresser un fichier Draco, le convertir vers Meshopt ou le recompresser avec d’autres réglages.
Mon modèle est-il envoyé sur un serveur ?
Non. L’ensemble du pipeline s’exécute dans un Web Worker dans votre navigateur, encodeurs compris. Une fois la page chargée, l’outil fonctionne hors ligne.