glTF JSON (.gltf)

ISO/IEC Standard

Le 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 :

Sélectionnez ou déposez des fichiers ici

Privé - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet envoyé vers des serveurs externes. Tout le traitement a eu lieu localement dans le bac à sable de votre navigateur.

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 22

REPRÉSENTATION ASCII : {\n "asset"

Normalisation : ISO/IEC 12113:2022 / Norme ouverte Khronos

Spécifications techniques

Architecture de conteneurDocument 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
CompressionTextures externes (PNG, JPEG, WebP) et compression de géométrie Draco optionnelle
Ordre des octetsTexte JSON UTF-8 (référençant des tampons .bin au format petit-boutiste)
Espaces colorimétriquesCouleur de base sRGB, Rugosité/métallicité linéaire
Canaux et structureHiérarchie de scène, nœuds, caméras, matériaux PBR, squelettes pour l'habillage et cibles de morphing
Dimensions maximalesEspace de coordonnées sans limites et nombre de triangles illimité
TransparenceMode alpha BLEND, MASK avec seuil de coupure, ou transmission volumétrique
Prise en charge du traitement en continuglTF 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 techniqueglTF (Actuel)GLBOBJFBX
Architecture de fichierTexte de scène JSON + .bin / textures associésFichier binaire unique autonomeSommets et faces en texte brut + .mtlConteneur binaire/ASCII propriétaire
Normes de matériaux PBRWorkflow 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ésMatériaux personnalisés propriétaires
Prise en charge des animationsDéformation par squelette et cibles de morphingDéformation par squelette et cibles de morphingAucune (géométrie statique uniquement)Animation et os complexes
Performance d'exécutionOptimisé pour WebGL et les moteurs en temps réelOptimisé pour WebGL et les moteurs en temps réelNécessite une analyse et une reconstruction lentesNé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

2022glTF 2.0 obtient la ratification internationale en tant qu'ISO/IEC 12113:2022.
2017Le groupe Khronos publie glTF 2.0, qui fait du rendu basé sur la physique (PBR) une fonctionnalité centrale.
2015glTF 1.0 est annoncé à SIGGRAPH. Il a été conçu par Fabrice Robinet, Neil Trevett et Tony Parisi.

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.