Python

Устанавливаем иконку с панели инструментов на кнопку в пользовательской панели UI в Blender

Для того чтобы установить иконку на кнопки в кастомных пользовательских панелях UI в Blender, мы ищем текстовый идентификатор нужной иконки (обычно при помощи встроенного аддона Icon Viewer) и устанавливаем его значение в параметр icon, при привязке к кнопке нужного оператора. Однако иконки, используемые в панели инструментов отсутствуют в перечне стандартных иконок Blender.

Переключение между режимами DEFAULT и FALLBACK для инструмента в Blender

Переключение между режимами “DEFAULT” и “FALLBACK” в Blender позволяет задействовать инструмент в первом случае выполняя драг мышкой в любом месте 3D вьюпорта, а во втором – только внутри области, ограниченной управляющим кольцом.

Сдвиг дерева нодов в начало координат рабочей области

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

Выбор инструмента через Blender Python API в Blender 3.6

Для смены активного инструмента через Blender Python API необходимо использовать оператор wm.tool_set_by_id, передавая в его параметре идентификатор требуемого инструмента. В ранних версиях Blender, для того чтобы вызвать этот оператор из окна с другим контекстом, например, из текстового редактора Text Edit, необходимо было переопределять контекст.

Показ индексов точек в окне 3D вьюпорта в Blender

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

Снятие выделения в объекте Bmesh

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

Показ и скрытие N-панели UI при помощи Blender Python API

Наряду с объектами сцены, Blender Python API позволяет взаимодействовать и с интерфейсом самого Blender. Например, при помощи Python API можно показывать и скрывать самую часто используемую панель с инструментами – N-панель.

Создание и удаление вертексов через объект BMesh

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