Python

Создание плавающей панели в аддонах 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):

Как получить структуру объекта Blender

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

Подключение к базе данных MySQL из Blender

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

Взаимодействие Blender с базой данных MySQL через Python API не преставляет особых сложностей, однако сначала необходимо выполнить некоторую подготовку:

Привязка к кадрам

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

В качестве примера создадим несложную анимацию, последовательно превращающую одну из букв произвольного текста из строчной в заглавную.

Аддон PartitionRender v.0.0.5

Обновление аддона PartitionRender до версии 0.0.5

  • Добавлен флажок SaveMultilayer

Если флажок установлен, промежуточные результаты рендера сохраняются в формате OpenEXR Multilayer со всеми слоями и пассами для возможного дальнейшего использования. Автоматически собирается только финальное изображение. Сборку отдельных пассов при необходимости нужно проводить вручную.

PartitonRender v.0.05

Аддон PartitionRender v.0.0.4

Обновление аддона PartitionRender до версии 0.0.4

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