Vad är filformatet MTL?
.mtl är en materialkonfigurationsfil som används av 3D-modelleringsprogram som ett komplement till mesh-formatet OBJ. Ursprungligen utvecklat av Wavefront Technologies i slutet av 1980-talet, lagrar en .mtl-fil information om ytans utseende - diffus, ambient och spekulär färg, glans, opacitet och referenser till texturkartor - för varje namngivet material i en scen.
Materialdefinitioner grupperas i block som introduceras av nyckelordet newmtl <namn>, var och en följd av egenskapsdeklarationer såsom Ka (ambient färg), Kd (diffus färg), Ks (spekulär färg), Ns (spekulär exponent), d eller Tr (transparens/upplösning) och map_Kd (sökväg till en diffus texturbild). .mtl-filer lagrar data i vanligt textformat, så vilken textredigerare som helst kan öppna dem. Även om det är möjligt att redigera en .mtl-fil manuellt, måste man vara noga med att bevara rätt syntax, eftersom fel kan påverka hur materialinställningar laddas i värdprogrammet.
En .obj-mesh refererar till sina material via direktivet mtllib, som pekar på en eller flera .mtl-följeslagare. Texturkartor som listas inuti materialblock refererar vanligtvis till PNG- eller JPG-bilder via relativ sökväg från .mtl-filens katalog. På grund av dess öppna struktur i klartext stöds formatet brett i 3D-verktyg inklusive Blender och MeshLab.
Säkerhet & trygghet
RISK: LOWEn MTL-fil är vanlig text utan exekverbar kod, så den är säker att öppna och läsa. De enda praktiska förbehållen är: map_*-rader pekar på externa bildfiler, så en felplacerad eller saknad textur gör att modellen laddas som grå (ett dataproblem, inte ett säkerhetsproblem); och en manipulerad textursökväg är i teorin bara ett relativt filnamn som en 3D-app letar efter. Ingen makro- eller skriptfunktionalitet finns i formatet. Som alltid bör du hämta 3D-modeller från pålitliga källor.
Formatdetaljer
i ett nötskalProgram som öppnar MTL-filer
Tekniska detaljer
djup specifikation| Formattyp | Vanlig ASCII-text; ingen binär struktur eller magic bytes |
| Följeslagsformat | Wavefront OBJ (.obj); en .obj-fil länkar till sin .mtl via mtllib-direktivet |
| Nyckelord för materialblock | newmtl <namn> - påbörjar varje namngiven materialdefinition i filen |
| Diffus färg | Kd r g b - RGB-flyttalsvärden i intervallet 0.0-1.0 |
| Ambient färg | Ka r g b - RGB-flyttalsvärden i intervallet 0.0-1.0 |
| Spekulär färg & exponent | Ks r g b för spekulär färg; Ns 0-1000 för storlek på högdagrar (glans) |
| Transparens | d (dissolve): 1.0 = helt ogenomskinlig, 0.0 = helt transparent; Tr = 1 − d (omvänd konvention) |
| Diffus texturkarta | map_Kd <sökväg> - refererar till en extern PNG-, JPG- eller BMP-bildfil |
| Ytterligare texturkanaler | map_Ks (spekulär karta), map_Bump / bump (normal/bump-karta), map_d (opacitets/dissolve-karta) |
| Illuminationsmodell | illum 0-10 - väljer platt, Lambertian, Phong, reflekterande, ray-traced eller transparent skuggning |
| Filidentifiering | Inga binära magic bytes; identifieras genom nyckelordet newmtl i klartext |
| MIME-typ | model/mtl |
| Hantering av textursökvägar | Relativa eller absoluta sökvägar; relativa sökvägar utgår från katalogen där .mtl-filen ligger |
| Stöd för flera material | En enskild .mtl-fil kan definiera valfritt antal namngivna material; en .obj kan referera till flera .mtl-filer |
| Släppt | Late 1980s (alongside the Wavefront OBJ format) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | paulbourke.net |
MTL-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om MTL-filer.