Как импортировать в сцену все объекты из внешнего файла при помощи Blender Python API

Для того, чтобы добавить в сцену все объекты из внешнего blend-файла, можно воспользоваться механизмом BlendDataLibraries.

Blend-файлы устроены таким образом, что каждый из них, одновременно со своей основной функцией работы со сценами, может выполнять и функции библиотеки – контейнера, содержащего меши, материалы, кисти и другие объекты, которые можно загружать в текущую рабочую сцену.

Для того, чтобы обратиться к содержимому blend-файла и получить из него нужные объекты, воспользуемся методом bpy.data.libraries.load, указав в параметрах полный путь к файлу, содержащему нужные данные.

При таком обращении метод вернет два объекта типа bpy_lib, которые по сути являются списком атрибутов bpy.data, с которыми можно через них взаимодействовать.

Список атрибутов data_from:

Для того, чтобы добавить в сцену все объекты из исходного файла, нам нужен атрибут “objects”.

Загрузка нужного типа данных производится простым присваиванием data_to = data_from:

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

Полный код, добавляющий все объекты из внешнего файла в сцену:


*.blend-файл с примером кода для моих подписчиков на Patreon.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии