Как сделать копию объекта при помощи Blender Python API

Создать копию объекта в сцене можно двумя путями:

  1. Вызывая оператор дублирования объекта,
  2. Используя метод copy() самого объекта.

Создание копии объекта с помощью оператора

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

Копируемый объект должен быть выделенным и активным.

В параметре linked передается указание, какую копию делать: полную – новый объект будет полностью независимым, или линкованную – создается инстанс объекта, данные которого ссылаются на данные исходного объекта.

Создание копии объекта методом copy()

Создать копию объекта можно и без использования операторов.

Вызвав метод copy() у исходного объекта, мы получим в результате его копию.

Добавив копию объекта в коллекцию, мы увидим его в нашей сцене.

С помощью метода copy() мы получаем инстанс объекта. Для того, чтобы сделать полную копию, нужно отдельно вызвать метод copy() для данных объекта и, если они у него есть, для ключей анимации объекта.

Оформим необходимые вызовы в функцию:

Во входных параметрах мы будем передавать:

  • obj – объект, копию которого надо сделать
  • data и actions – указания, делать полную копию или линкованную (инстанс)
  • collection – коллекция, в которую надо поместить копию объекта

Теперь для создания копии текущего активного объекта нам нужно просто вызвать созданную функцию:


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

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