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

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

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

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

Как удалить и установить аддон Blender через python API

Установкой и удалением аддонов Blender можно управлять через python API. Для этого в скрипте нужно использовать следующие команды:

Деактивация аддона:

Удаление аддона:

Читать далее «Как удалить и установить аддон Blender через python API»

Редактирование свойств Custom Properties меша через API Blender

Для того, чтобы создать для выделенного меша новое свойство CustomProperties через API Blender достаточно выполнить команду:

где:

  • property_name — имя добавляемого свойства
  • property_value — значение, присваиваемое этому свойству

После выполнения команды новое свойство будет доступно в окне Properties панели Object подпанели Custom Properties.

Как и любое свойство объекта, созданное нами свойство обладает рядом параметров, просмотреть которые можно нажав на кнопку Edit. К этим параметрам также можно получить доступ через API.

Читать далее «Редактирование свойств Custom Properties меша через API Blender»

Работа с UV через API Blender

Доступ к активной развертке:

Доступ к развертке по имени:

Читать далее «Работа с UV через API Blender»

Вращение текстуры нодами

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

Нод Mapping, совмещающий в себе инструменты перемещения, вращения и изменения масштаба текстуры, покрывает большинство задач текстурирования. Однако часто его возможностей недостаточно. Его основной недостаток в том, что он позволяет задавать значения для регулировки только в определенных полях внутри самого нода. Эти поля не имеют выходов наружу и к ним нельзя подсоединить связи от других нодов дерева.

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

Читать далее «Вращение текстуры нодами»

Еще один способ сделать резьбу в Blender

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

Читать далее «Еще один способ сделать резьбу в Blender»

Быстрый просмотр нодов в compositing

В процессе построения дерева нодов в окне композитинга очень часто нужно просмотреть, какой промежуточный результат дает та или иная часть нодового дерева. Для быстрого просмотра нужно кликнуть по нужному ноду левой кнопкой мышкой с зажатыми клавишами ctrl и shift. Blender добавляет новый нод View (или использует один из уже существующих) и соединяет с ним выход выделенного нода. Результат выводится на фон (при отмеченном чекбоксе Backdrop) или в окно UV/Image Editor для выбранного пункта Viewer Node.

Если у выделенного нода несколько выходов — каждый последующий клик на этом ноде переключает отображение на его следующий выход.

Изменение параметра модификатора одновременно у нескольких объектов

При создании сложных моделей, состоящих из множества отдельных деталей, на каждую их которых наложен модификатор Subdivision Surface, часто бывает нужно повысить или понизить количество подразбиений модификатора сразу для всех объектов. Это можно сделать выделив все нужные объекты и меняя значение параметра модификатора с зажатой клавишей alt.

Тест моих аддонов в 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».

Читать далее «Создание плавающей панели в аддонах Blender»

Создание труб и проводов в Blender с помощью кривых

Моделировать тонкие протяженные объекты вроде труб и проводов при создании сцен приходится достаточно часто — в интерьерных сценах, научных, технических или фантастических. Одним из самых простых и удобных способов создания подобных объектов — использовать кривые (curves).

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

Читать далее «Создание труб и проводов в Blender с помощью кривых»

Установка Blender на сервер Debian (Linux)

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

Для примера рассмотрим установку Blender на серверную операционную систему Debian.

Читать далее «Установка Blender на сервер Debian (Linux)»

BIS v.1.0.0 — Релиз

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

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

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

download_ru

Читать далее «BIS v.1.0.0 — Релиз»

Аддон BIS v.0.0.3

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

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

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

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

download_ru

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

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

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

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

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

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

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

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