Was ist das MTL-Dateiformat?
.mtl ist eine Materialkonfigurationsdatei, die von 3D-Modellierungsanwendungen als Begleitung zum OBJ-Mesh-Format verwendet wird. Ursprünglich von Wavefront Technologies Ende der 1980er Jahre entwickelt, speichert eine .mtl-Datei Informationen über Oberflächenerscheinungen - diffuse, ambiente und spiegelnde Farben, Glanzgrad, Deckfähigkeit und Texturkarten-Referenzen - für jedes benannte Material in einer Szene.
Materialdefinitionen sind in Blöcken gruppiert, die durch das Schlüsselwort newmtl <name> eingeleitet werden, jeweils gefolgt von Eigenschaftsangaben wie Ka (ambiente Farbe), Kd (diffuse Farbe), Ks (spiegelnde Farbe), Ns (Spiegelungsexponent), d oder Tr (Transparenz/Auflösung) und map_Kd (Pfad zu einem diffusen Texturbild). .mtl-Dateien speichern Daten im Klartextformat, so dass jeder Texteditor sie öffnen kann. Obwohl das manuelle Bearbeiten einer .mtl-Datei möglich ist, muss die korrekte Syntax gewahrt werden, da Fehler beeinflussen können, wie Materialeinstellungen in der Host-Anwendung geladen werden.
Ein .obj-Mesh referenziert seine Materialien über die mtllib-Direktive, die auf eine oder mehrere .mtl-Begleitdateien verweist. Texturkarten, die in Materialblöcken aufgeführt sind, referenzieren in der Regel PNG- oder JPG-Bilder durch einen relativen Pfad vom Verzeichnis der .mtl-Datei aus. Aufgrund seiner Klartext-Offenstruktur ist das Format weit verbreitet in 3D-Werkzeugen wie Blender und MeshLab.
Sicherheit
RISIKO: LOWEine MTL-Datei ist Klartext ohne ausführbaren Code, daher ist das Öffnen und Lesen sicher. Die einzigen praktischen Hinweise: map_*-Zeilen verweisen auf externe Bilddateien, so dass eine fehlende oder falsch platzierte Textur dazu führt, dass ein Modell grau geladen wird (ein Datenproblem, kein Sicherheitsproblem); und ein manipulierter Texturpfad ist theoretisch nur ein relativer Dateiname, nach dem eine 3D-App sucht. Das Format hat keine Makro- oder Skriptfähigkeiten. Beziehen Sie 3D-Modelle wie immer aus seriösen Quellen.
Formatdetails
kurz gefasstProgramme zum Öffnen von MTL-Dateien
Technische Details
technische Spezifikation| Formattyp | Einfacher ASCII-Text; keine binäre Struktur oder Magic Bytes |
| Begleitformat | Wavefront OBJ (.obj); eine .obj-Datei verknüpft ihre .mtl über die mtllib-Direktive |
| Materialblock-Schlüsselwort | newmtl <name> - beginnt jede benannte Materialdefinition in der Datei |
| Diffuse Farbe | Kd r g b - RGB-Fließkommawerte im Bereich 0,0-1,0 |
| Ambiente Farbe | Ka r g b - RGB-Fließkommawerte im Bereich 0,0-1,0 |
| Spiegelnde Farbe & Exponent | Ks r g b für spiegelnde Farbe; Ns 0-1000 für Glanzgröße (Shininess) |
| Transparenz | d (Auflösung): 1,0 = vollständig undurchsichtig, 0,0 = vollständig transparent; Tr = 1 − d (umgekehrte Konvention) |
| Diffuse Texturkarte | map_Kd <Pfad> - referenziert eine externe PNG-, JPG- oder BMP-Bilddatei |
| Zusätzliche Texturkanäle | map_Ks (Spiegelungskarte), map_Bump / bump (Normal-/Bump-Map), map_d (Deckfähigkeit-/Auflösungskarte) |
| Beleuchtungsmodell | illum 0-10 - wählt flache, Lambertian-, Phong-, reflektierende, strahlenverfolgte oder transparente Schattierung |
| Dateiidentifikation | Keine binären Magic Bytes; identifiziert durch das Schlüsselwort newmtl im Klartext |
| MIME-Typ | model/mtl |
| Texturpfadhandhabung | Relative oder absolute Pfade; relative Pfade werden relativ zum Verzeichnis der .mtl-Datei aufgelöst |
| Multi-Material-Unterstützung | Eine einzelne .mtl-Datei kann beliebig viele benannte Materialien definieren; eine .obj kann mehrere .mtl-Dateien referenzieren |
| Veröffentlicht | Late 1980s (alongside the Wavefront OBJ format) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | paulbourke.net |
MTL-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu MTL-Dateien.