API

Размещение блока выбора изображений на панели пользователя

В Blender блок кнопок, отвечающий за выбор изображения в Image Editor, размещается по умолчанию в хедере рабочей области. При необходимости его можно так же разместить и в пользовательской панели.

Перевод координат курсора мышки в координаты текстуры

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

Блокировка курсора мышки в границах рабочей области Blender

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

Работа с базой данных PostgreSQL из Blender

Удаленное хранение данных становится все более распространенным. Все популярнее и востребованее становятся различные онлайн-библиотеки моделей, материалов, текстур и ассетов. Для хранения данных в таких библиотеках чаще всего используются базы данных.  PostgreSQL – одна из наиболее продвинутых и функциональных свободных баз данных с открытым исходным кодом, с которой можно соединяться и работать через Blender Python API.

Как изменить размер изображения в Blender

При помощи Python API в Blender очень легко можно изменять размеры изображений, как обычных, так и карт окружения .hdr и .exr. Для изменения размеров загруженных в Blender изображений используется функция scale.

Получение расширения выходного файла для рендера анимации через Blender Python API

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

Как вынести кнопку “Purge” в заголовок окна 3D вьюпорта в Blender

Нажатие на кнопку “Purge” чистит текущую открытую сцену – удаляет из нее все неиспользуемые объекты (меши, ноды, материалы, текстуры и т.д.). Однако эта кнопка расположена очень неудобно, в хедере Аутлайнера и видна только в режиме “Orphan Data”. Для быстрого доступа к этой кнопке ее можно вынести в хедер 3D вьюпорта.

Добавление объектов в сцену с учетом вероятности

Если нужно добавить несколько разных объектов в сцену, и при этом, каждый объект должен появляться в сцене с большей или меньшей вероятностью, можно воспользоваться методом генерации случайных наборов “random.choice” из модуля “numpy”.

Динамические описания в операторах

Обычно при создании оператора в Blender Python API его описание задается через параметр “bl_description”. Однако достаточно часто один и тот же оператор выполняет различные действия в разных случаях и единое описание не отражает всех возможностей оператора. В этом случае оператору можно задать динамическое описание.