Interface

Создание пользовательских панелей UI в Blender

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

Фильтрация значений доступных для выбора в кастомном свойстве UILayout.prop()

При создании кастомных свойств, значения которых пользователь может выбирать из предлагаемого списка, часто бывает нужно ограничить перечень предлагаемых для выбора значений. Сделать предлагаемый список значений короче, убрав из него нежелательные элементы, можно при помощи функции poll.

Как вынести кнопку “Purge” в заголовок окна 3D вьюпорта в Blender

Нажатие на кнопку “Purge” чистит текущую открытую сцену – удаляет из нее все неиспользуемые объекты (меши, ноды, материалы, текстуры и т.д.). Однако эта кнопка расположена очень неудобно, в хедере Аутлайнера и видна только в режиме “Orphan Data”. Для быстрого доступа к этой кнопке ее можно вынести в хедер 3D вьюпорта.

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

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

Поиск нодов по первым буквам

Для того, чтобы быстро найти нужный нод в редакторе Node Editor в окне поиска достаточно вводить только первые буквы из названия нужного нода.

Такой метод поиска работает как в редакторе шейдерных нод, так и в Geometry Nodes.

Например для поиска нода “Set Curve Radius” в поле поиска достаточно вбить только буквы “SCR”. А для поиска нода “Principle BSDF” достаточно ввести “PB”.

Как сменить хоткей для переключения режима выбора вертекс-ребро-полигон

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

Создание одинаковых панелей UI в разных окнах Blender без дублирования кода

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

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

Создание скрытого оператора

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

Увеличиваем скорость выделения объектов в Blender

Начиная с версии 2.80, в Blender произошло значительное замедление выделения во вьюпорте. Это становится хорошо заметно, если быстро кликнуть по очереди на несколько рядом стоящих объектов. Задержка при выделении иногда бывает настолько велика, что некоторые из кликнутых объектов не будут выделены т.к. курсор уже успел переместиться к следующему объекту, а выделение текущего все еще не сработало.

Задержка выделения происходит из-за того, что по умолчанию в Blender включен режим выделения Box Select в Т-панели инструментов.