Выделение всех объектов, у которых нет материала

Для быстрого поиска и выделения объектов, у которых отсутствуют материалы, можно использовать возможности Blender Python API и написать скрипт, состоящий буквально из нескольких строчек.

Для начала нам нужно пройти во всем объектам сцены в цикле и обработать только те из них, которые имеют тип “меш”:

В простейшем случае, когда меш может или иметь только один материал или не иметь материала совсем, мы можем проверить свойство меша active_material, которе отвечает за указание на текущий активный материал меша. Если это свойство не пустое – значит на меше есть материал.

Для выделения меша воспользуемся методом select_set в параметре которого будем передавать оценку наличия материала: False – если материал есть (такие меши выделять не нужно) и True – если материала нет.

Для активного объекта, у которого нет активного материала:

И все вместе:

Таким образом мы выделим те объекты, у которых нет активного материала.

Однако возможен и более сложный случай, когда у объекта есть материал, но он не активный, то есть расположен не текущем активном слоте.

Чтобы не включать подобные объекты в наше выделение, немного изменим код.

Для начала проверим, есть ли данного объекта слоты материала. Если нет – выделяем его.

Если слоты есть, проверим, есть ли хотя бы одни слот в котором есть материал и если такого слота нет – выделим объект:

Все вместе:

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии