Qu'est-ce que le format de fichier MTL ?
.mtl est un fichier de configuration de matériaux utilisé par les applications de modélisation 3D comme compagnon du format de maillage OBJ. Développé à l'origine par Wavefront Technologies à la fin des années 1980, un fichier .mtl stocke des informations sur l'apparence des surfaces - couleurs diffuse, ambiante et spéculaire, brillance, opacité et références aux cartes de texture - pour chaque matériau nommé dans une scène.
Les définitions de matériaux sont regroupées en blocs introduits par le mot-clé newmtl <nom>, chacun suivi de déclarations de propriétés telles que Ka (couleur ambiante), Kd (couleur diffuse), Ks (couleur spéculaire), Ns (exposant spéculaire), d ou Tr (transparence/dissolution), et map_Kd (chemin vers une image de texture diffuse). Les fichiers .mtl stockent les données au format texte brut, de sorte que n'importe quel éditeur de texte peut les ouvrir. Bien qu'il soit possible de modifier manuellement un fichier .mtl, il faut veiller à préserver la syntaxe correcte, car des erreurs peuvent affecter le chargement des paramètres de matériaux dans l'application hôte.
Un maillage .obj référence ses matériaux via la directive mtllib, pointant vers un ou plusieurs compagnons .mtl. Les cartes de texture listées dans les blocs de matériaux font généralement référence à des images PNG ou JPG par un chemin relatif à partir du répertoire du fichier .mtl. En raison de sa structure ouverte en texte brut, le format est largement pris en charge par les outils 3D, notamment Blender et MeshLab.
Sécurité et sûreté
RISQUE : LOWUn fichier MTL est du texte brut sans code exécutable, il est donc sûr à ouvrir et à lire. Les seules mises en garde pratiques : les lignes map_* pointent vers des fichiers images externes, donc une texture mal placée ou manquante rend le chargement du modèle gris (un problème de données, pas de sécurité) ; et un chemin de texture forgé n'est, en théorie, qu'un nom de fichier relatif qu'une application 3D recherchera. Aucune capacité de macro ou de script n'existe dans le format. Comme toujours, obtenez vos modèles 3D auprès de sources fiables.
Détails du format
en brefProgrammes qui ouvrent les fichiers MTL
Détails techniques
spécifications approfondies| Type de format | Texte ASCII brut ; pas de structure binaire ni de magic bytes |
| Format compagnon | Wavefront OBJ (.obj) ; un fichier .obj lie son .mtl via la directive mtllib |
| Mot-clé de bloc de matériau | newmtl <nom> - commence chaque définition de matériau nommé dans le fichier |
| Couleur diffuse | Kd r g b - valeurs flottantes RGB dans la plage 0.0-1.0 |
| Couleur ambiante | Ka r g b - valeurs flottantes RGB dans la plage 0.0-1.0 |
| Couleur spéculaire et exposant | Ks r g b pour la couleur spéculaire ; Ns 0-1000 pour la taille du reflet (brillance) |
| Transparence | d (dissolution) : 1.0 = totalement opaque, 0.0 = totalement transparent ; Tr = 1 − d (convention inverse) |
| Carte de texture diffuse | map_Kd <chemin> - référence un fichier image externe PNG, JPG ou BMP |
| Canaux de texture supplémentaires | map_Ks (carte spéculaire), map_Bump / bump (carte de normales/relief), map_d (carte d'opacité/dissolution) |
| Modèle d'illumination | illum 0-10 - sélectionne l'ombrage plat, Lambertien, Phong, réfléchissant, tracé de rayons ou transparent |
| Identification du fichier | Pas de magic bytes binaires ; identifié par le mot-clé newmtl en texte brut |
| Type MIME | model/mtl |
| Gestion des chemins de texture | Chemins relatifs ou absolus ; les chemins relatifs sont résolus à partir du répertoire du fichier .mtl |
| Support multi-matériaux | Un seul fichier .mtl peut définir n'importe quel nombre de matériaux nommés ; un .obj peut référencer plusieurs fichiers .mtl |
| Publié | Late 1980s (alongside the Wavefront OBJ format) |
| Standard ouvert | Oui · libre de droits |
| Spécification | paulbourke.net |
Conversions MTL
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers MTL.