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

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

Поиск пересечений

Одной из частых задач при построении сцены в Blender является контроль пересечения мешей. Определить пересекаются ли два меша между собой можно, используя технологию ограничивающих объемов (Bounding Volume).

Список выделенных в Аутлайнере коллекций

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

Указание параметров в макросах

Макросы в Blender отличаются от операторов тем, что не требуют жесткого задания последовательности выполняемых действия при регистрации. В операторах действия определяются в функции “execute”, для макросов же действия добавляются при помощи метода “define”.

BPY plus v 1.6.0.

Обновление BPY plus до версии 1.6.0.

  • Добавлен новый модуль output для получения выходных данных о рендере
  • Добавлен новый модуль vse для упрощения работы с Video Sequence Editor (VSE)
  • Добавлен новый модуль collections для упрощения работы с коллекциями
  • Добавлен новый модуль context для работы с контекстов

Как добавить кнопку в хедер окна в Blender

С помощью Python API в Blender можно кастомизировать интерфейс, настроив его удобным для себя образом. Например, можно вынести наиболее часто используемые операторы в хедер (верхнее меню) любой рабочей области Таким образом можно собрать собственный риббон из “быстрых” кнопок.

Рендер отдельного кадра для превью при рендере анимации

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

Получение номера свободного канала в Sequence Editor через Blender Python API

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

Аддон Blender: Viewport Purge Button

Viewport Purge Button – аддон для графического редактора Blender добавляющий в хедер окна 3D Viewport кнопку “Purge” для очистки сцены от неиспользуемых объектов (мешей, материалов и т.д.).

Простейший параллакс-шейдер в Blender

Для того, чтобы создать параллакс-шейдер в Blender не нужно собирать большое и сложное дерево нод. Простейшего эффекта параллакса можно добиться соединив всего 3 нода.

Смешивание двух видео-стрипов по маске в Blender VSE

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

Как добавить видео в sequencer VSE при помощи Blender Python API

Blender Python API может оказаться очень полезным не только для работы с мешами или нодами, но и при монтаже готовых видео в Video Sequence Editor.

Переключение вкладок в окне Properties при помощи Blender Python API

Переключится на нужную вкладку в окне Properties при помощи Blender Python API можно, изменив значение context в нужной рабочей области.

Доступ к свойству face_strength из Blender Python API

Параметр “face_strength” используется в модификаторе Weighted Normal для расчета нормалей. Задавать и изменять его значение можно, вызывая специальный оператор, или напрямую получая и записывая его значения через Blender Python API.

Выключение ноды по ее типу

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

Динамическое задание Max и Min значений для свойства в Blender Python API

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

Для того, чтобы задать минимальное и максимальное ограничения нужно указать в создаваемом свойстве параметры “min” и “max” и присвоить им нужные ограничивающие значения.