Add-ons

Как программно проверить, зарегистрирован ли установленный в Blender аддон

Для того, чтобы установленный в Blender аддон начал работу его необходимо зарегистрировать – отметить чекбокс рядом с названием аддона в окне User Preferences – Add-ons.

Чтобы узнать, зарегистрован ли нужный аддон, необходимо выполнить следующую команду:

где:

add-on_name – имя файла аддона (без расширения .py) или имя пакета аддона, если он установлен пакетом.

Отладка многофайлового аддона в Blender быстрой переустановкой

Для отладочного запуска разрабатываемого многофайлового аддона в Blender удобно использовать следующую систему. Однако описанный поход обладает одним недостатком: импортируемые в файле __init__.py модули становятся доступны только после выполнения самого файла (после того, как отработает функция register() ). Это означает, что любые обращения к импортируемым модулям до их регистрации вызовут ошибку. В большинстве случаев это не критично, однако вызовет проблемы, если в аддоне например используется наследование от класса, описанного в импортируемом модуле т.к. описание классов в модуле обрабатывается раньше инициализации аддона.

Чтобы получить больше свободы при работе с импортируемыми модулями, для отладки аддона можно использовать другой принцип – не запускать аддон непосредственно из директории разработки, а инсталлировать его в Blender и проверять работу сразу “на чистовую”. Однако ручная переустановка аддона требует выполнения определенного набора действий, что излишне затрудняет подобную отладку. Решить данную проблему можно проводя переустановку аддона для тестов в автоматическом режиме.

Тест моих аддонов в Blender 2.79

Протестировал работу моих аддонов в новой версии Blender 2.79.

  • BIS – Полностью функционален. Новый шейдер Principled BSDF поддерживается.
  • PartitionRender – В код внесены некоторые исправления. Необходимо переустановить аддон. Полностью функционален после переустановки.
  • Wire – Полностью функционален.
  • Accurate Render Border – Полностью функционален.

Совместимость с Blender 2.78 не утрачена.

Создание плавающей панели в аддонах Blender

Для размещения элементов пользовательского интерфейса при разработке аддонов Blender кроме обычных панелей (N/T/Properties) и их подпанелей можно использовать и так называемые плавающие панели – появляющиеся на экране в произвольном месте при нажатии пользователем определенного сочетания клавиш или при совершении им какого-либо действия. Простейшим примером таких панелей является панель, появляющаяся при нажатии клавиши f6 сразу после добавления в сцену какого-либо объекта (shift+a).

API Blender предоставляет разработчикам возможность создавать подобные панели для своих аддонов. Рассмотрим процесс создания плавающей панели на примере всплывающего окна с сообщением типа “Messagebox”.

BIS v.1.0.0 – Релиз

Релиз аддона BlS (Blender Interplanety Storage).

Наконец-то довел аддон до релиза!

  • Приведена в порядок серверная часть хранилища.
  • Сделано собственно внешнее и внутреннее оформление сайта BIS: https://bis.interplanety.org/
  • Исправлен и покорректирован код самого аддона.
  • Обновлена страничка с описанием BIS: https://b3d.interplanety.org/bis/
  • Вычещен ряд мелких багов и ошибок в работе аддона.

Аддон BIS v.0.0.3

Еще одно промежуточное обновление аддона BlS (Blender Interplanety Storage).

Аддон практически в предрелизном состоянии.

  • Поддерживаются все ноды Cycles, включая script и вложенные группы.
  • Также добавлена возможность сохранения скриптов/текстов из Text Editor.

До релиза осталось немного подчистить серверную часть (сайт) – увеличить размер превьюшек, доработать редактирование тегов и названий, сделать отдельный список для сохраненных текстов. А также протестировать работу аддона на сложных материалах.

Активные объекты

Как обращаться через Blender Python API к активным (выделенным) объектам при написании скриптов/аддонов:

  1. Активное окно (в котором происходит действие):

  1. Активная сцена:

  1. Активный (выделенный) меш:

  1. Активный (выделенный) нод материала (в окне NODE_EDITOR):

  1. Активный (выделенный) нод материала (в окне COMPOSITING):

  1. Текущий текст в окне TEXT_EDITOR:

  1. Текущая развертка (UV-Map):