Приветствую пользователей данного портала. Представляю вам небольшой свеженький скрипт для 3DS MAX, призванный помочь вам автоматизировать некоторые рутинные действия при подготовке объектов к экспорту и генерации их материалов(а так же их непосредственному импорту в 3DS MAX). Учитывая тот факт, что стандартный CE2 и возможно CE3 exporter не может сразу создавать адекватные материалы для экспортируемых объектов, я написал автогенератор материалов(он включен в основной скрипт). Скрипт не зашифрован, соответственно любой может может изменять и дополнять его как душе угодно(адаптировать для СЕ3 и т.д).
index.php?page=Attachment&attachmentID=1811
Способ установки:
index.php?page=Attachment&attachmentID=1813
перенести файл .mcr по пути "корневая папка 3DS MAX/ui/macroscripts", запустить 3DS MAX, меню кастомизации(Customize)-> Customize User Interface-> toolbars-> category-> CE2 и перетащить действие в столбце "Action" в любое место верхней панели инструментов. Появится кнопка NifToCe,
это и будет окно скрипта.
index.php?page=Attachment&attachmentID=1812
Описание доступных функций:
Строка In определяет место, откуда скрипт будет брать файлы для импорта.
Строка mtl out определят место, куда будет генерироваться материалы .mtl
Кнопка Start - ну это слишком очевидно.
Строка file ext определяет расширение файлов, которые будут импортированы. По умолчанию стоит *.nif, но можно поставить любое поддерживаемое установленными импортерами 3DS MAX ( звёздочка перед точкой обязательна!).
Кнопка Defaults устанавливает значения строк по умолчанию.
Кнопка sel_all выделяет все объекты в сцене(удобнее их сразу добавлять в CE2 Exporter).
Кнопки lods_gen# - генерируют из текущих объектов в сцене lod объекты
Кнопки Smooth и MeshSmooth определяют будет ли наложен модификатор и какого типа.
Строка pathtotext+t определяет что будет добавлено к оригинальному пути текстуры в итоговом материале.
Строка alphatest val определяет значение прозрачности материала по контуру при доступном альфаканале в текстуре(работает только с включенной кнопкой AL_in_mtl).
physical mtl - определяет будет ли объект иметь физическую сетку.
is two sided mtl - определяет будет ли материал двухсторонним.
is skin - необходимо включить при импорте skinned geometry(одежда, броня, волосня), выполняет с моделью целый ряд необходимых действий для правильного экспорта в .chr файл(в общем, долго объяснять).
use current file directory for mtls - устанавливает путь mtl out равным пути текущего открытого .max файла.
nif has more 100+ objects - если попадётся nif файл с большим количеством подобъектов, при включении его импорт будет выполнен.
Кнопка Recreate mtls заново генерирует материалы объектов.
Небольшая рекомендация: чем больше файл по размеру, тем дольше идёт его импорт, а если таких файлов много сцена в итоге может стать перегружена.
Чтобы этого избежать, нужно смотреть на общий размер импортируемых файлов, он не должен быть больше 15 - 20 мегабайт, и то не исключены переполнения памяти. Если материалы сгенерировались не со всех объектов сцены(переполнение), значит нужно сохранить сцену, перезапустить макс и сцену, экспортировать объекты к которым материалы уже сгененированы(они будут незаморожены), удалить их и нажать Recreate mtls.
Примечание: объекты, в которых больше 32 материалов автоматически делятся на части с окончанием имени cmpl#. Т.е в итоге после импорта файла от него помимо основного объекта остаётся от нуля до нескольких обектов с окончанием имени cmpl#. И каждый объект cmpl будет содержать 32 субматериала.
Примечание2: для импорта nif файлов нужен плагин niftools установленный в 3DS MAX.