Как сделать объект (меш) активным в Blender 2.8 Python API

Для того, чтобы сделать меш (объект) активным в Blender 2.8 Python API вместо своства context.scene используется context.view_layer.

При попытке сделать меш активным через “bpy.context.scene.objects.active” Blender сигнализирует ошибкой:

AttributeError: bpy_prop_collection: attribute “active” not found

Чтобы сделать объект активным, нужно использовать следующую команду:

 

5 1 голос
Article Rating
Подписаться
Уведомить о
guest
3 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Алексей Абрамов
5 месяцев назад

Хотя разобрался. В моем случае надо было сделать активной арматуру.

item = ‘ARMATURE’
bpy.ops.object.select_all(action=’DESELECT’)
bpy.ops.object.select_by_type(type=item)

obj = bpy.context.window.scene.objects[0]
bpy.context.view_layer.objects.active = obj

Nikita
Редактор
5 месяцев назад
Ответить на  Алексей Абрамов

Здесь
bpy.ops.object.select_by_type(type=item)
будет выделен не один объект с арматурой, а все арматуры в сцене
чтобы выделить объект по имени лучше использовать
bpy.data.objects[‘_имя_арматуры_’].select_set(True)

Алексей Абрамов
5 месяцев назад

Привет! Подскажи пожалуйста, как выделить так же, но по названию объекта?