Удаление материала с объекта в 3ds Max 2018
Для назначения материалов объектам в 3ds Max® используется так называемый редактор материалов. А вот для действия обратного, то есть для удаления материалов с объектов, ни в новом «Slate Material Editor» (Планшетном редакторе материалов), ни в стандартном «Compact Material Editor» (Компактном редакторе материалов), инструментов не предусмотрено. Но это вовсе не означает, что применение к объекту материала — операция необратимая. Просто в 3ds Max для «освобождения» объектов от материалов используются другие средства: команды MAXScript, сценарии MacroScript, утилита «UVW Remove» (Удаление координат наложения). И в данной статье речь пойдет о том, как удалить материал с объекта в 3ds Max 2018…
Команды MAXScript
Удалить материал с выделенного объекта можно с помощью команды:
$.material=undefined
А если немного видоизменить ее, то получится команда, которая позволит удалять материалы сразу со всех объектов сцены:
$*.material=undefined
Ввод в 3ds Max команд на языке MAXScript осуществляется либо через «MAXScript Listener» (Слушатель MAXScript), либо через «MAXScript Mini Listener» (Мини-слушатель MAXScript).
В первом случае необходимо:
- Открыть «MAXScript Listener» [1];
- Ввести в одно из его полей соответствующую команду ($.material=undefined — если требуется удалить материал только с выделенного объекта, или $*.material=undefined — если нужно удалить материалы со всех объектов на сцене);
- Нажать клавишу [Enter].
Результат выполнения команды выводится в нижнее (белое) поле окна «MAXScript Listener». В случае успеха в нем появится синяя надпись undefined. Если что-то пойдет не так, то Вы увидите в нем красное сообщение об ошибке с указанием на причину возникновения проблемы.
Во втором случае команда вводится в одну из строк «MAXScript Mini Listener», который располагается в левом нижнем углу окна 3ds Max. Сигналом к выполнению введенной команды является нажатие клавиши [Enter]. При использовании верхней (розовой) строки, после нажатия [Enter], в нижнюю (белую) строку выводится информация о результате выполнения команды: синяя надпись undefined — в случае успеха, или красный «обрывок» сообщения об ошибке — в случае сбоя. Увидеть сообщение целиком можно открыв окно «MAXScript Listener». Результаты выполнения команды, введенной в нижнюю (белую) строку «MAXScript Mini Listener», в нем не отображаются. Поэтому судить о них придется по изменениям, произошедшим (или не произошедшим) на сцене.
Удалять материалы с объектов при помощи этих команд не слишком удобно, особенно если делать это приходится часто: ведь команды довольно длинные, и на их ввод тратится много времени. Значительно ускорить процесс удаления с объектов наложенных на них материалов позволяет использование сценариев MacroScript…
Сценарии MacroScript
Сценарий MacroScript — это написанный на языке MAXScript скрипт, определяющий «Action» (Действие), то есть команду, вызов которой может происходить за счет клика по иконке на палитре инструментов, выбора пункта в меню или в четверном меню, нажатия сочетания клавиш. Таким образом, взяв за основу рассмотренные выше команды, можно написать два MacroScript, один из которых будет определять действие для удаления материалов только с выделенных объектов, а второй, соответственно, — для удаления материалов со всех объектов сцены.
В самом общем случае код скрипта, который будет определять действие для удаления материала с одного или нескольких выделенных объектов, будет выглядеть примерно так:
macroScript RemoveSelectedMaterial category:"Removing Materials" ( $.material=undefined )
Аналогичным образом может быть написан и сценарий, который будет удалять материалы со всех без исключения объектов сцены:
macroScript RemoveAllMaterials category:"Removing Materials" ( $*.material=undefined )
Где:
- macroScript — идентификатор, указывающий на то, что данный скрипт является сценарием MacroScript;
- RemoveSelectedMaterial и RemoveAllMaterials — определяемые пользователем названия сценариев;
- Removing Materials — определяемое пользователем наименование категории, в которой будут представлены данные сценарии в диалоговом окне «Customize User Interface» (Настройка пользовательского интерфейса).
Для создания сценариев подойдет любой простейший текстовый редактор наподобие стандартного Блокнота в Windows. Но гораздо удобней пользоваться встроенным в 3ds Max «MAXScript Editor» (Редактором MAXScript). Синтаксис кода в нем подсвечивается, что позволяет быстро заметить допущенную ненароком ошибку.
Таким образом, чтобы создать сценарий MacroScript, который будет удалять с объектов материалы, требуется:
- Запустить «MAXScript Editor» [2];
- Записать в нем код скрипта (примеры кода даны выше);
- В окне редактора открыть меню «File» (Файл), и выбрать из него команду «Save As…» (Сохранить как…);
- Сохранить скрипт в файл с расширением .ms.
Чтобы воспользоваться написанными сценариями, их следует загрузить в 3ds Max, для чего можно придерживаться следующей последовательности действий:
- Выбрать команду «Run Script…» (Запустить скрипт…) из меню «Scripting» (Написание скриптов) стандартного меню 3ds Max [3];
- В открывшемся диалоговом окне «Choose Editor File» (Выбор файла редактора скриптов) найти сохраненный ранее файл сценария;
- Нажать кнопку «Open» (Открыть).
После загрузки сценариев MacroScript в 3ds Max, прописанные в них действия будут, наряду с другими командами, отображаться в диалоговом окне «Customize User Interface» (Настройка пользовательского интерфейса), что позволит добавлять для них иконки на палитры инструментов, создавать для них пункты в меню или четверном меню, назначать для них клавиши быстрого доступа…
Утилита UVW Remove
Чтобы удалить материал с объекта, вовсе не обязательно говорить на скриптовом языке. Возможно, не самым быстрым, но уж точно самым понятным для подавляющего большинства пользователей 3ds Max, способом удаления с объектов материалов является использование утилиты «UVW Remove» (Удаление координат наложения).
Доступ к утилите «UVW Remove» осуществляется из «Command Panel» (Командной панели) 3ds Max. Для ее запуска необходимо:
- Переключиться на вкладку «Utilities» (Утилиты) командной панели;
- Нажать кнопку «More…» (Больше…) в свитке «Utilities» (Утилиты);
- В открывшемся диалоговом окне со списком доступных утилит, найти и выделить пункт «UVW Remove»;
- Нажать кнопку «OK».
После запуска утилиты «UVW Remove» во вкладке «Utilities» командной панели появится свиток «Parameters» (Параметры) со следующими элементами:
- Кнопкой «UVW» (Координаты наложения), нажатие которой приведет к удалению координат наложения карт со всех выделенных объектов;
- Кнопкой «Materials» (Материалы), нажатие которой приведет к удалению со всех выделенных объектов назначенных им материалов;
- Галочкой «Set Gray» (Сделать серым), установка которой приведет к тому, что при удалении материалов все объекты будут автоматически перекрашиваться в нейтральный серый цвет (RGB: 160, 160, 160).
Использование утилиты «UVW Remove» для удаления с объекта координат наложения имеет одно довольно существенное ограничение: она действует исключительно в отношении «Editable Meshes» (Редактируемых каркасов) со свернутым стеком модификаторов. Если Вы попытаетесь с ее помощью удалить координаты наложения с другого объекта, то на экран будет выведено предупреждение о том, что удаление координат наложения работает только на свернутых редактируемых каркасах.
Видео к статье
Дополнительные материалы
Файлы .ms со сценариями MacroScript для удаления материалов с объектов: Скачать
Примечания
- Открыть «MAXScript Listener» можно из стандартного меню 3ds Max: |Menu Bar| > Scripting > MAXScript Listener…
- Запустить «MAXScript Editor» можно из стандартного меню 3ds Max: |Menu Bar| > Scripting > MAXScript Editor…
- При использовании альтернативного меню 3ds Max команду «Run Script…» (Запустить скрипт…) можно найти в меню «Script» (Скрипт).