API

Получение всех классов для меню в Blender

Для того чтобы вносить изменения в меню UI Blender, например, добавлять новые пункты или переопределять меню полностью, в первую очередь требуется узнать класс изменяемого меню.

Кастомные иконки в Blender

Чаще всего разработчики аддонов для придания кнопкам пользовательского UI индивидуальности используют иконки из встроенной в Blender библиотеки. Однако в качестве иконок в UI можно загружать и устанавливать абсолютно любые внешние изображения.

Выделение объектов по имени их UV-карты

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

Быстрая синхронизация отображения объектов во вьюпорте и для рендера

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

Положение вьюпорта

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

Перерисовка экрана

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

Как определить был ли переопределен системный оператор

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

Печать текста на экран 3D вьюпорта

При помощи модуля gpu в Blender Python API на рабочую область 3D вьюпорта можно выводить не только изображения, но и печатать произвольный текст. Печать текста осуществляется при помощи модуля blf – обертки над OpenGl.

Удаление цветов вершин со всех выделенных объектов

Информация о раскраске вершин меша хранится в его свойстве с именем vertex_colors, а также в его цветовых атрибутах color_attributes. Для того чтобы удалить с меша информацию о цветах его вершин, нужно очистить эти его свойства.

Переопределение списка выбранных объектов для оператора transform.translate

Для того чтобы оператор, вызванный из непредназначенного для него контекста, правильно выполнил свою работу, для него необходимо переопределить контекст при помощи bpy.context.temp_override.() Однако при помощи temp_override можно переопределять не только контекст вызова оператора, но и, например, стек выбранных объектов.