Qu'est-ce que le format de fichier OBJ ?
Le format de fichier .obj est utilisé pour stocker des objets 3D créés avec divers logiciels de conception et d'édition. Chaque fichier .obj peut contenir des données telles que les coordonnées des sommets, les normales de surface, les coordonnées de texture UV et des références à des fichiers d'images de texture externes. Les fichiers .obj ne contiennent aucune donnée concernant l'environnement de l'objet - il n'y a aucune information sur l'éclairage, la caméra ou la hiérarchie de la scène. Le format a été développé par Wavefront Technologies, conçu à l'origine comme un fichier de stockage pour leur application Advanced Visualizer.
Compatibilité des fichiers OBJ et MTL
Les fichiers .obj contiennent le plus souvent des références à des fichiers compagnons .mtl, qui décrivent le matériau d'ombrage de surface de chaque objet et les données pertinentes. Chaque fichier .obj peut référencer un ou plusieurs fichiers .mtl ; sans eux, les maillages s'affichent comme une géométrie sans ombrage.
Applications du format OBJ
Le .obj est un format ouvert largement pris en charge et est considéré comme un standard de fait pour l'échange d'objets 3D. Parce qu'il s'agit de texte ASCII brut, les fichiers .obj sont lisibles par l'homme et faciles à analyser, c'est pourquoi pratiquement tous les logiciels de CAO et d'édition 3D permettent d'importer et d'exporter des données dans ce format. Ces dernières années, avec l'essor de la technologie d'impression 3D, le .obj a gagné en popularité - en particulier comme format de choix pour les flux de travail d'impression multi-couleurs et multi-matériaux. Il est couramment utilisé aux côtés de .stl et .ply dans les chaînes de fabrication additive, et de plus en plus comme format source pour la conversion vers des formats d'échange modernes tels que .gltf.
Sécurité et sûreté
RISQUE : LOWUn fichier OBJ est une donnée géométrique en texte brut - il ne contient aucun code exécutable et ne peut rien lancer, son ouverture est donc sûre. Les seuls problèmes pratiques sont non malveillants : les maillages très volumineux ou à haute densité de polygones (ex: scans 3D) peuvent être lents à charger, et un OBJ texturé a besoin de son .mtl compagnon et de ses fichiers images, sinon il apparaît gris/sans texture. Comme toujours, ne faites confiance à l'extension qu'après l'avoir vérifiée - un fichier prétendant être « model.obj » qui est en réalité un exécutable constitue le véritable risque, pas le format OBJ lui-même.
Détails du format
en bref- Fichier objet COFF (.obj) - Un fichier objet compilé produit comme intermédiaire de construction par les compilateurs C/C++, sans rapport avec le format de modèle 3D.
Programmes qui ouvrent les fichiers OBJ
Détails techniques
spécifications approfondies| Encodage du fichier | Texte ASCII brut ; compatible UTF-8, pas de sections binaires |
| Signature du fichier (octets magiques) | Aucune - identifié par les jetons de début de ligne : `v ` (sommet), `vt ` (coord UV), `vn ` (normale), `f ` (face), `mtllib` |
| Type MIME | `model/obj` |
| Système de coordonnées | Main droite ; Y vers le haut par convention (certains exportateurs utilisent Z vers le haut) |
| Primitives géométriques | Sommets (`v`), coordonnées de texture UV (`vt`), normales (`vn`), faces (`f`), lignes (`l`), points (`p`) |
| Types de polygones | Triangles, quads et n-gones arbitraires (polygones avec n'importe quel nombre de sommets par face) |
| Base d'indexation | Indices entiers commençant à 1 ; valeurs négatives autorisées comme références relatives (inverses) |
| Références de matériaux | Fichier(s) `.mtl` externe(s) déclaré(s) avec `mtllib` ; appliqué par groupe de maillage via `usemtl` |
| Structure d'objet/groupe | Les objets nommés (mot-clé `o`) et les groupes (mot-clé `g`) permettent des maillages multi-parties dans un seul fichier |
| Cartographie de texture | Coordonnées UV stockées sous forme d'entrées `vt` ; chemins des fichiers d'images de texture définis dans le `.mtl` compagnon |
| Géométrie de forme libre | Courbes NURBS et surfaces B-spline optionnelles via les mots-clés `curv` / `surf` - rarement implémentées en pratique |
| Prise en charge de l'animation | Aucune - géométrie statique uniquement ; l'animation nécessite des formats externes (FBX, glTF) |
| Données de scène | Pas d'éclairage, de caméras ou de hiérarchie de scène ; le format ne stocke que la géométrie |
| Compression | Texte brut non compressé ; les fichiers se compressent efficacement avec ZIP ou gzip |
| Aptitude à l'impression 3D | Largement accepté par les logiciels de tranchage ; préféré au STL pour l'impression FDM multi-couleurs/multi-matériaux |
| Interopérabilité | Pris en charge nativement par Blender, Autodesk Maya, Cinema 4D, ZBrush, SolidWorks et la plupart des outils CAO/DCC |
| Publié | Late 1980s (Wavefront Technologies, for The Advanced Visualizer) |
| Standard ouvert | Oui · libre de droits |
| Spécification | paulbourke.net |