Wat is het MTL-bestandsformaat?
.mtl is een materiaalconfiguratiebestand dat door 3D-modelleringsapplicaties wordt gebruikt als aanvulling op het OBJ-mesh-formaat. Oorspronkelijk ontwikkeld door Wavefront Technologies aan het eind van de jaren 80, slaat een .mtl-bestand informatie op over het uiterlijk van oppervlakken - diffuse, ambiente en speculaire kleuren, glans, opaciteit en verwijzingen naar textuurkaarten - voor elk benoemd materiaal in een scène.
Materiaaldefinities zijn gegroepeerd in blokken die worden ingeleid door het trefwoord newmtl <naam>, elk gevolgd door eigenschapsverklaringen zoals Ka (ambiente kleur), Kd (diffuse kleur), Ks (speculaire kleur), Ns (speculaire exponent), d of Tr (transparantie/oplossing), en map_Kd (pad naar een diffuse textuurafbeelding). .mtl-bestanden slaan gegevens op in platte tekst, dus elke tekstverwerker kan ze openen. Hoewel het handmatig bewerken van een .mtl-bestand mogelijk is, moet men voorzichtig zijn om de juiste syntaxis te behouden, aangezien fouten invloed kunnen hebben op hoe materiaalinstellingen in de host-applicatie worden geladen.
Een .obj-mesh verwijst naar zijn materialen via de mtllib-richtlijn, die naar een of meer .mtl-metgezellen wijst. Textuurkaarten die in materiaalblokken worden vermeld, verwijzen doorgaans naar PNG- of JPG-afbeeldingen via een relatief pad vanuit de map van het .mtl-bestand. Vanwege de open structuur in platte tekst wordt het formaat breed ondersteund door 3D-tools, waaronder Blender en MeshLab.
Beveiliging & veiligheid
RISICO: LOWEen MTL-bestand is platte tekst zonder uitvoerbare code, dus het is veilig om te openen en te lezen. De enige praktische kanttekeningen: map_*-regels wijzen naar externe afbeeldingsbestanden, dus een verkeerd geplaatste of ontbrekende textuur zorgt ervoor dat een model grijs laadt (een gegevensprobleem, geen beveiligingsprobleem); en een gemanipuleerd textuurpad is in theorie slechts een relatieve bestandsnaam die een 3D-app zal zoeken. Er bestaat geen macro- of scriptfunctionaliteit in het formaat. Zoals altijd, haal 3D-modellen van betrouwbare bronnen.
Formaatdetails
in een notendopProgramma's die MTL-bestanden openen
Technische details
diepe specificaties| Formaat-type | Platte ASCII-tekst; geen binaire structuur of magic bytes |
| Bijbehorend formaat | Wavefront OBJ (.obj); een .obj-bestand koppelt zijn .mtl via de mtllib-richtlijn |
| Trefwoord materiaalblok | newmtl <naam> - begint elke benoemde materiaaldefinitie binnen het bestand |
| Diffuse kleur | Kd r g b - RGB-floatwaarden in het bereik 0.0-1.0 |
| Ambiente kleur | Ka r g b - RGB-floatwaarden in het bereik 0.0-1.0 |
| Speculaire kleur & exponent | Ks r g b voor speculaire kleur; Ns 0-1000 voor de grootte van de highlight (glans) |
| Transparantie | d (dissolve): 1.0 = volledig ondoorzichtig, 0.0 = volledig transparant; Tr = 1 − d (omgekeerde conventie) |
| Diffuse textuurkaart | map_Kd <pad> - verwijst naar een extern PNG-, JPG- of BMP-afbeeldingsbestand |
| Extra textuurkanalen | map_Ks (speculaire kaart), map_Bump / bump (normal/bump-kaart), map_d (opaciteit/dissolve-kaart) |
| Illuminatiemodel | illum 0-10 - selecteert vlakke, Lambertiaanse, Phong, reflecterende, ray-traced of transparante arcering |
| Bestandsidentificatie | Geen binaire magic bytes; geïdentificeerd door het trefwoord newmtl in platte tekst |
| MIME-type | model/mtl |
| Afhandeling textuurpaden | Relatieve of absolute paden; relatieve paden worden opgelost vanuit de map van het .mtl-bestand |
| Ondersteuning voor meerdere materialen | Een enkel .mtl-bestand kan een onbeperkt aantal benoemde materialen definiëren; één .obj kan naar meerdere .mtl-bestanden verwijzen |
| Uitgebracht | Late 1980s (alongside the Wavefront OBJ format) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | paulbourke.net |
MTL conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over MTL-bestanden.