API

Включаем и выключаем рендер-пасы при помощи Blender Ptyhon API

Так называемые рендер-пасы или рендер-проходы, это дополнительные изображения, которые создаются при рендере и которые несут в себе какую-то отдельную дополнительную информацию о рендере. Например, это может быть карта глубины – черно-белое изображение на котором яркость белого цвета соответствует удаленности объектов от камеры. Создание таких рендер-пасов может включаться в Blender пользователем вручную в рабочей области Properties на вкладке View Layer или же с использованием Blender Python API.

Как правильно указывать в коде тип, возвращаемый функцией execute оператора Blender

При использовании типизации в коде, обращающемся к Blender Python API, обычно мы не сталкиваемся с какими-то проблемами. Однако указание типа возвращаемого значения для функции execute() оператора Blender, не совсем очевидно.

Выравниваем ориджин по низу для всех выделенных объектов при помощи Blender Python API

Геометрия объектов в Blender всегда строится вокруг ориджина (origin) – точки, которая в локальной системе объекта берется за начальную. И если ориджин не лежит в плоскости основания объекта, бывает сложно разместить этот объект на поверхности другого объекта. Быстро поставить ориджин в нижнюю точку для всех выделенных объектов сцены мы можем при помощи скрипта на Blender Python API.

Как добавить ключ анимации на объект в Blender через Python API

Ключи анимации на объекты сцены можно расставлять как вручную (нажимая клавишу i), так и через Blender Python API, для этого разработчиками предусмотрена функция keyframe_insert().

Убираем кастомные нормали со всех выделенных объектов в Blender

Чаще всего необходимость очистить кастомные нормали возникает при импорте объектов из внешних сцен. Удалить кастомные нормали можно вручную, последовательно выбирая меши в сцене и нажимая на кнопку Clear Custom Split Normals Data в панели Properties на вкладке Data объекта. Однако если таких объектов много, можно написать простейший скрипт на Blender Python API, который быстро очистит нормали на всех выделенных объектах.

Программное переключение режимов 3D вьюпорта через Blender Python API

При разработке аддонов для Blender может понадобиться программно переключать режимы работы 3D вьюпорта – например, включать режим отображения сетки WIREFRAME.

Удаляем модификатор со всех выделенных объектов через Blender Python API

Назначение и удаление модификаторов в Blender выполняется отдельно для каждого объекта. Однако, если требуется, например, удалить модификатор со многих объектов в сложной сцене, удалять их с каждого объекта по отдельности будет долго и неэффективно. При помощи Blender Ptyhon API можно написать простейший скрипт, который удалит модификаторы со всех выделенных объектов в сцене.

Переносим кнопки из меню Quick Favorites на пользовательскую панель

К сожалению, доступа к меню Quick Favorites через Python API в Blender разработчики пока не предусмотрели. Однако, возможность перенести все меню целиком на пользовательскую панель есть. Мы можем просто отрисовать контент Quick Favorites на layout пользовательской панели.

Находим центр полигона

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

Матрица поворота из одного вектора в другой в 2D

Рассчитать матрицу поворота из одного вектора в другой в 2D пространстве нам может понадобиться, например, при работе с UV – картами развертки. Часто это бывает нужно, чтобы подогнать один UV-остров развертки под другой.