Render.ru
Поддержать

deleteModifier

Wats

Знаток
Рейтинг
25
Здравствуйте уважаемые. Не могли бы вы подсказать как можно удалить модификатор по имени. Допустим у меня 70 объектов и в каждом есть MeshSmooth, так вот его мне и нужно удалить. Знаю что можно удалять по индексу, например
--выделяем нужные объекты
for obj in selection do
deleteModifier obj и номер мода сверху по стеку

так вот в том и беда что MeshSmooth у меня в объектах в разброс и поэтому нужно удалять по имени или классу что ли...
deleteModifier <node> <modifier_or_index> - в хелпе написано так, а что здесь значит modifier - догнать не могу 🙁
Заранее благодарен.

Wats

Знаток
Рейтинг
25
Оказывается можно даже так, без цикла:
deleteModifier $ и номер мода сверху по стеку
Но как по имени не знаю. 🙁

RENDERATOR

Активный участник
Рейтинг
15
Например вот так:

deleteModifier $ $.modifiers["ИмяМодификатора"]
или так

deleteModifier $ $.ИмяМодификатора

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
Включи Макрорекордер и выбири нужный модификатор, и смотри в листенере систаксис команды
Поначалу хорошо помогает, если нет то смотрим хелп

Wats

Знаток
Рейтинг
25
RENDERATORНапример вот так:


deleteModifier $ $.modifiers["ИмяМодификатора"]


или так


deleteModifier $ $.ИмяМодификатора
Вот спасибо! Как раз то что нужно! Делаю вот так:
for obj in selection do
deleteModifier obj obj.meshsmooth
- все работает! Кстати оказывается еще вот так можно:
for obj in selection do
deleteModifier obj obj.modifiers[#MeshSmooth]
- имя мода не в кавычках, а решетка перед ним. 🙄
Включи Макрорекордер и выбири нужный модификатор, и смотри в листенере систаксис команды
Он у меня всегда включен 🙂, блин не посмотрел сразу как на выделение мода он реагирует, а там как раз то что нужно было - $.modifiers[#MeshSmooth] , тока на удаление смотрел - а оно там по индексу 😳
Спасибо!