Удалить объект из коллекции в Blender, а так же из всех коллекций, в которые этот объект был добавлен, можно при помощи Python API.
Чтобы удалить объект из коллекции с нужным именем, нужно вызвать метод unlink() для списка объектов этой коллекции.
Например, удалим текущий активный объект из коллекции с именем “Collection 2”:
1 2 |
obj = bpy.context.object bpy.data.collections['Collection 2'].objects.unlink(obj) |
Чтобы удалить объект из всех коллекций, пройдем в цикле по каждой коллекции и удалим объект:
1 2 3 4 5 |
obj = bpy.context.object for col in bpy.data.collections: if bpy.context.object in col.objects[:]: col.objects.unlink(obj) |
Обратите внимание, команда unlink() не проверяет наличие объекта в коллекции, поэтому, чтобы избежать появления ошибки:
RuntimeError: Error: Object ‘Suzanne’ not in collection ‘Collection 2’
Перед удалением нужно проверить, действительно ли объект находится в коллекции.