Hvad er MTL-filformatet?
.mtl er en materialekonfigurationsfil, der bruges af 3D-modelleringsprogrammer som en ledsager til OBJ-mesh-formatet. Oprindeligt udviklet af Wavefront Technologies i slutningen af 1980'erne, gemmer en .mtl-fil information om overfladeudseende - diffuse, ambiente og spejlende farver, glans, opacitet og referencer til tekstur-maps - for hvert navngivet materiale i en scene.
Materialedefinitioner er grupperet i blokke introduceret af nøgleordet newmtl <navn>, hver efterfulgt af egenskabserklæringer såsom Ka (ambient farve), Kd (diffus farve), Ks (spejlende farve), Ns (spejlende eksponent), d eller Tr (gennemsigtighed/opløsning) og map_Kd (sti til et diffust teksturbillede). .mtl-filer gemmer data i almindeligt tekstformat, så enhver teksteditor kan åbne dem. Selvom manuel redigering af en .mtl-fil er mulig, skal man være omhyggelig med at bevare den korrekte syntaks, da fejl kan påvirke, hvordan materialeindstillinger indlæses i værtsapplikationen.
En .obj-mesh refererer til sine materialer via mtllib-direktivet, der peger på en eller flere .mtl-ledsagere. Tekstur-maps anført i materialeblokke refererer typisk til PNG- eller JPG-billeder via en relativ sti fra .mtl-filens mappe. På grund af dens åbne struktur i almindelig tekst er formatet bredt understøttet på tværs af 3D-værktøjer, herunder Blender og MeshLab.
Sikkerhed og tryghed
RISIKO: LOWEn MTL-fil er almindelig tekst uden eksekverbar kode, så den er sikker at åbne og læse. De eneste praktiske forbehold: map_*-linjer peger på eksterne billedfiler, så en forkert placeret eller manglende tekstur får en model til at indlæses som grå (et dataproblem, ikke et sikkerhedsproblem); og en manipuleret tekstursti er i teorien blot et relativt filnavn, som en 3D-app vil lede efter. Der findes ingen makro- eller script-funktionalitet i formatet. Som altid bør du hente 3D-modeller fra pålidelige kilder.
Formatdetaljer
kort fortaltProgrammer der åbner MTL-filer
Tekniske detaljer
dyb specifikation| Formattype | Almindelig ASCII-tekst; ingen binær struktur eller magic bytes |
| Ledsageformat | Wavefront OBJ (.obj); en .obj-fil linker til sin .mtl via mtllib-direktivet |
| Nøgleord for materialeblok | newmtl <navn> - starter hver navngivet materialedefinition i filen |
| Diffus farve | Kd r g b - RGB-floatværdier i området 0.0-1.0 |
| Ambient farve | Ka r g b - RGB-floatværdier i området 0.0-1.0 |
| Spejlende farve & eksponent | Ks r g b for spejlende farve; Ns 0-1000 for highlight-størrelse (glans) |
| Gennemsigtighed | d (dissolve): 1.0 = helt uigennemsigtig, 0.0 = helt gennemsigtig; Tr = 1 − d (omvendt konvention) |
| Diffust tekstur-map | map_Kd <sti> - refererer til en ekstern PNG, JPG eller BMP billedfil |
| Yderligere teksturkanaler | map_Ks (spejlende map), map_Bump / bump (normal/bump map), map_d (opacitet/dissolve map) |
| Illuminationsmodel | illum 0-10 - vælger flad, Lambertian, Phong, reflekterende, ray-traced eller gennemsigtig shading |
| Filidentifikation | Ingen binære magic bytes; identificeres ved nøgleordet newmtl i almindelig tekst |
| MIME-type | model/mtl |
| Håndtering af teksturstier | Relative eller absolutte stier; relative stier løses ud fra mappen med .mtl-filen |
| Understøttelse af flere materialer | En enkelt .mtl-fil kan definere et vilkårligt antal navngivne materialer; én .obj kan referere til flere .mtl-filer |
| Udgivet | Late 1980s (alongside the Wavefront OBJ format) |
| Åben standard | Ja · royaltyfri |
| Specifikation | paulbourke.net |
MTL-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om MTL-filer.