Add-ons

Отладка многофайлового аддона в 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):

BIS – развитие. Нужно ли?

Я открыл ранний доступ к аддону Blender Interplanety Storage (BIS), хотя он все еще находится на стадии разработки.

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

Мотивом же раннего открытия послужило обсуждение в ВК-группе Blender в ходе которого была высказана мысль, что такой аддон на коммерческой основе при наличии Blender Cloud или аддона VX Matlib не нужен. Говоря простыми словами, пользователи не будут оплачивать то, что можно получить иным способом бесплатно.

Отсюда первый, и самый главный, вопрос – нужен ли вообще такой аддон? В платной версии или в бесплатной? Или может быть большинству вполне хватает существующих решений?