Hva er MTL-filformatet?
.mtl er en materialkonfigurasjonsfil som brukes av 3D-modelleringsprogrammer som et supplement til OBJ-nettformatet. Opprinnelig utviklet av Wavefront Technologies på slutten av 1980-tallet, lagrer en .mtl-fil informasjon om overflateutseende - diffus-, ambient- og speilfarger, glans, opasitet og referanser til teksturkart - for hvert navngitte materiale i en scene.
Materialdefinisjoner er gruppert i blokker som introduseres av nøkkelordet newmtl <navn>, hver etterfulgt av egenskaper som Ka (ambient farge), Kd (diffus farge), Ks (speilfarge), Ns (speileksponent), d eller Tr (gjennomsiktighet/oppløsning), og map_Kd (sti til et diffust teksturbilde). .mtl-filer lagrer data i rent tekstformat, så alle tekstredigeringsprogrammer kan åpne dem. Selv om det er mulig å redigere en .mtl-fil manuelt, må man være nøye med å bevare riktig syntaks, da feil kan påvirke hvordan materialinnstillinger lastes inn i vertsprogrammet.
Et .obj-nett refererer til sine materialer via mtllib-direktivet, som peker til én eller flere .mtl-følgefiler. Teksturkart oppført i materialblokker refererer vanligvis til PNG- eller JPG-bilder via relativ sti fra .mtl-filens mappe. På grunn av sin åpne struktur i ren tekst, er formatet bredt støttet på tvers av 3D-verktøy, inkludert Blender og MeshLab.
Sikkerhet og trygghet
RISIKO: LOWEn MTL-fil er ren tekst uten kjørbar kode, så den er trygg å åpne og lese. De eneste praktiske forbeholdene: map_*-linjer peker til eksterne bildefiler, så en feilplassert eller manglende tekstur gjør at en modell lastes som grå (et dataproblem, ikke et sikkerhetsproblem); og en manipulert tekstursti er i teorien bare et relativt filnavn en 3D-app vil lete etter. Det finnes ingen makro- eller skriptfunksjonalitet i formatet. Som alltid bør du hente 3D-modeller fra pålitelige kilder.
Formatdetaljer
i et nøtteskallProgrammer som åpner MTL-filer
Tekniske detaljer
dyp spesifikasjon| Format-type | Ren ASCII-tekst; ingen binær struktur eller magic bytes |
| Følgeformat | Wavefront OBJ (.obj); en .obj-fil lenker til sin .mtl via mtllib-direktivet |
| Nøkkelord for materialblokk | newmtl <navn> - starter hver navngitte materialdefinisjon i filen |
| Diffus farge | Kd r g b - RGB-flyttall i området 0.0-1.0 |
| Ambient farge | Ka r g b - RGB-flyttall i området 0.0-1.0 |
| Speilfarge og eksponent | Ks r g b for speilfarge; Ns 0-1000 for størrelse på høylys (glans) |
| Gjennomsiktighet | d (dissolve): 1.0 = helt ugjennomsiktig, 0.0 = helt gjennomsiktig; Tr = 1 − d (omvendt konvensjon) |
| Diffust teksturkart | map_Kd <sti> - refererer til en ekstern PNG-, JPG- eller BMP-bildefil |
| Ekstra teksturkanaler | map_Ks (speilkart), map_Bump / bump (normal-/bump-kart), map_d (opasitets-/oppløsningskart) |
| Belysningsmodell | illum 0-10 - velger flat, Lambertian, Phong, reflekterende, ray-traced eller gjennomsiktig skyggelegging |
| Filidentifikasjon | Ingen binære magic bytes; identifiseres av nøkkelordet newmtl i ren tekst |
| MIME-type | model/mtl |
| Håndtering av teksturstier | Relative eller absolutte stier; relative stier løses ut fra mappen til .mtl-filen |
| Støtte for flere materialer | En enkelt .mtl-fil kan definere et ubegrenset antall navngitte materialer; én .obj kan referere til flere .mtl-filer |
| Utgitt | Late 1980s (alongside the Wavefront OBJ format) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | paulbourke.net |
MTL-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om MTL-filer.