glTF JSON (.gltf)
ISO/IEC StandardLe format de transmission GL (glTF) est une spécification JSON ouverte et libre de droits, conçue pour transmettre et charger efficacement des scènes et des modèles 3D dans WebGL, WebGPU, les moteurs de jeu et les applications natives.
Convertir GLTF en GLB
Outil de conversion gratuit de GLTF vers GLB dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers glTF en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers glTF en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
7B 0A 20 20 22 61 73 73 65 74 22REPRÉSENTATION ASCII : {\n "asset"
Normalisation : ISO/IEC 12113:2022 / Norme ouverte Khronos
Spécifications techniques
| Architecture de conteneur | Document JSON lisible par l'homme décrivant le graphe de scène, les nœuds, les maillages, les accesseurs, les matériaux et les animations, et référençant des tampons externes |
| Compression | Textures externes (PNG, JPEG, WebP) et compression de géométrie Draco optionnelle |
| Ordre des octets | Texte JSON UTF-8 (référençant des tampons .bin au format petit-boutiste) |
| Espaces colorimétriques | Couleur de base sRGB, Rugosité/métallicité linéaire |
| Canaux et structure | Hiérarchie de scène, nœuds, caméras, matériaux PBR, squelettes pour l'habillage et cibles de morphing |
| Dimensions maximales | Espace de coordonnées sans limites et nombre de triangles illimité |
| Transparence | Mode alpha BLEND, MASK avec seuil de coupure, ou transmission volumétrique |
| Prise en charge du traitement en continu | glTF sépare les descriptions de scène des données binaires de géométrie et de texture. Un lecteur peut ainsi charger les composants selon ses besoins, sans attendre un fichier monolithique. |
Matrice de comparaison technique : glTF face aux concurrents
| Attribut technique | glTF (Actuel) | GLB | OBJ | FBX |
|---|---|---|---|---|
| Architecture de fichier | Texte de scène JSON + .bin / textures associés | Fichier binaire unique autonome | Sommets et faces en texte brut + .mtl | Conteneur binaire/ASCII propriétaire |
| Normes de matériaux PBR | Workflow PBR normalisé selon le modèle métallicité-rugosité | Workflow PBR normalisé selon le modèle métallicité-rugosité | Matériaux Phong/Lambert hérités | Matériaux personnalisés propriétaires |
| Prise en charge des animations | Déformation par squelette et cibles de morphing | Déformation par squelette et cibles de morphing | Aucune (géométrie statique uniquement) | Animation et os complexes |
| Performance d'exécution | Optimisé pour WebGL et les moteurs en temps réel | Optimisé pour WebGL et les moteurs en temps réel | Nécessite une analyse et une reconstruction lentes | Nécessite une analyse SDK de bureau complexe |
Modes de corruption courants et guide de restauration hexadécimale
Erreur du moteur 3D : « Échec du chargement du tampon : URI introuvable ».
Cause initiale: Le fichier binaire .bin associé ou les images de texture n'ont pas été téléchargés en même temps que le fichier .gltf.
Récupération: Regroupez tous les fichiers associés ou convertissez directement en un seul fichier GLB avec File2File.app.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les fichiers JSON glTF référencent des URI externes (URI de données ou URL distantes) qui peuvent déclencher une falsification de requête côté serveur (SSRF) ou une traversée de chemin.
Vecteurs d’attaque connus
- Traversée de chemin via des URI de tampon relatifs (ex. 'uri: ../../../etc/passwd').
- SSRF via la récupération de tampons réseau distants dans les générateurs de vignettes 3D côté serveur.
- Déni de service causé par des cycles malformés dans la hiérarchie récursive des nœuds.
Bonnes pratiques de défense: Bloquez les URL distantes et normalisez les chemins des URI de tampons locaux avant le chargement.
Origines historiques et jalons
Principaux avantages
- La structure JSON lisible par l'homme permet la modification par programmation, la création de scripts de pipeline et l'inspection visuelle.
- Conception modulaire : sépare les métadonnées de scène légères de la géométrie binaire lourde (.bin) et des textures.
- Les matériaux PBR peuvent améliorer la cohérence, mais le résultat dépend du moteur, de l’éclairage et des réglages.
Limites techniques
- Complexité liée aux fichiers multiples : partager un modèle nécessite de compresser ou de regrouper ensemble les fichiers .gltf, .bin et de texture.
- Démarrage initial légèrement plus lent sur le réseau qu'avec un fichier GLB unique, en raison de plusieurs requêtes HTTP.
- Les dépendances de chemins relatifs peuvent être rompues si les fichiers de texture associés sont renommés ou déplacés.
Faits intéressants
- glTF est officiellement surnommé « le JPEG de la 3D », car il se concentre uniquement sur la transmission et l'affichage à l'exécution, plutôt que sur la création.
- Le Khronos Group a introduit glTF pour faciliter le transfert de ressources 3D dans les applications Web et mobiles.
- La NASA fournit des modèles 3D de rovers, de satellites et d'astronautes en téléchargement public au format glTF.
Foire aux questions techniques
Pourquoi mon fichier glTF n'a-t-il pas ses couleurs ou ses formes ?
Un fichier .gltf contient uniquement les instructions de scène en JSON. Il s’appuie sur des fichiers .bin associés pour la géométrie 3D et sur des fichiers .png/.jpg pour les textures. Veillez à placer tous les fichiers associés dans le même dossier.
Comment transformer un fichier glTF en un fichier GLB unique ?
Ouvrez votre fichier .gltf avec son fichier .bin et ses textures associés dans File2File.app pour les regrouper instantanément dans un fichier .glb autonome.
Quels programmes prennent en charge glTF ?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot et Windows 3D Viewer prennent en charge glTF nativement.
Conversions associées à glTF
La conversion de ressources glTF JSON en conteneurs glTF Binary regroupe des manifestes texte séparés, des tampons binaires et des textures dans un seul fichier pour une diffusion Web plus rapide.
La conversion de GLB vers GLTF décompose un conteneur binaire unique en fichiers texte et ressources séparés afin que les développeurs puissent facilement modifier les textures et le code décrivant la géométrie 3D.
La conversion de fichiers de géométrie Wavefront OBJ en manifestes glTF JSON modernise les modèles 3D statiques en ressources prêtes pour le Web qui se chargent rapidement dans les navigateurs Web standard.