Что такое формат файла MTL?
.mtl - это файл конфигурации материалов, используемый приложениями для 3D-моделирования в качестве дополнения к формату сетки OBJ. Первоначально разработанный Wavefront Technologies в конце 1980-х годов, файл .mtl хранит информацию о внешнем виде поверхностей - диффузных, фоновых и зеркальных цветах, блеске, непрозрачности и ссылках на карты текстур - для каждого именованного материала в сцене.
Определения материалов сгруппированы в блоки, начинающиеся с ключевого слова newmtl <name>, за каждым из которых следуют операторы свойств, такие как Ka (фоновый цвет), Kd (диффузный цвет), Ks (зеркальный цвет), Ns (показатель зеркального отражения), d или Tr (прозрачность/растворение) и map_Kd (путь к изображению диффузной текстуры). Файлы .mtl хранят данные в текстовом формате, поэтому их может открыть любой текстовый редактор. Хотя ручное редактирование файла .mtl возможно, следует соблюдать осторожность, чтобы сохранить правильный синтаксис, так как ошибки могут повлиять на загрузку настроек материалов в хост-приложении.
Сетка .obj ссылается на свои материалы через директиву mtllib, указывающую на один или несколько сопутствующих файлов .mtl. Карты текстур, перечисленные внутри блоков материалов, обычно ссылаются на изображения PNG или JPG по относительному пути из каталога файла .mtl. Благодаря своей открытой текстовой структуре формат широко поддерживается различными 3D-инструментами, включая Blender и MeshLab.
Безопасность и защита
РИСК: LOWФайл MTL - это обычный текст без исполняемого кода, поэтому его безопасно открывать и читать. Единственные практические нюансы: строки map_* указывают на внешние файлы изображений, поэтому неправильно расположенная или отсутствующая текстура приведет к загрузке модели серой (проблема данных, а не безопасности); а специально созданный путь к текстуре теоретически является просто относительным именем файла, который будет искать 3D-приложение. В формате отсутствуют возможности макросов или скриптов. Как всегда, получайте 3D-модели из надежных источников.
Детали формата
в двух словахПрограммы, открывающие файлы MTL
Технические подробности
глубокая спецификация| Тип формата | Простой текст ASCII; нет бинарной структуры или магических байтов |
| Сопутствующий формат | Wavefront OBJ (.obj); файл .obj ссылается на свой .mtl через директиву mtllib |
| Ключевое слово блока материала | newmtl <name> - начинает каждое именованное определение материала в файле |
| Диффузный цвет | Kd r g b - значения RGB с плавающей запятой в диапазоне 0.0-1.0 |
| Фоновый цвет | Ka r g b - значения RGB с плавающей запятой в диапазоне 0.0-1.0 |
| Зеркальный цвет и показатель | Ks r g b для зеркального цвета; Ns 0-1000 для размера блика (блеска) |
| Прозрачность | d (dissolve): 1.0 = полностью непрозрачный, 0.0 = полностью прозрачный; Tr = 1 − d (обратное соглашение) |
| Карта диффузной текстуры | map_Kd <path> - ссылается на внешний файл изображения PNG, JPG или BMP |
| Дополнительные каналы текстур | map_Ks (зеркальная карта), map_Bump / bump (карта нормалей/рельефа), map_d (карта непрозрачности) |
| Модель освещения | illum 0-10 - выбирает плоское, Ламбертово, Фонговское, отражающее, трассируемое или прозрачное затенение |
| Идентификация файла | Нет бинарных магических байтов; идентифицируется по ключевому слову newmtl в обычном тексте |
| MIME-тип | model/mtl |
| Обработка путей к текстурам | Относительные или абсолютные пути; относительные пути разрешаются относительно каталога файла .mtl |
| Поддержка нескольких материалов | Один файл .mtl может определять любое количество именованных материалов; один .obj может ссылаться на несколько файлов .mtl |
| Выпущен | Late 1980s (alongside the Wavefront OBJ format) |
| Открыть стандартное | Да · без роялти |
| Спецификация | paulbourke.net |
Конвертации MTL
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах MTL.