Interface

Показ пользовательской панели в Blender при нажатии клавиш

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

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

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

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

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

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

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

Адаптивная метрика

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

Выравнивание текста по центру в ячейках табличного UI

Вывести данные в форме таблицы в пользовательском интерфейсе Blender можно при помощи функций row() и column() элемента layout в классе Panel, от которого мы наследуем классы панелей пользовательского UI.

Получение всех возможных значений параметра bl_context для классов панелей UI

При размещении пользовательских панелей UI на нужной вкладке в рабочей области Properties используется параметр bl_context. Указываемое в этом параметре значение отвечает за то, на какой именно вкладке будет размещаться пользовательская панель.

Выключить опцию Load UI по умолчанию

Blender интенсивно развивается и новые версии программы выходят достаточно быстро. При этом часто страдает совместимость – при попытке открыть проект, созданный в более ранних версиях Blender, он открывается некорректно. Иногда это происходит из-за того, что Blender хранит все настройки и опции пользовательского интерфейса (UI) в каждом файле проекта blend. Помочь в этом случае может открытие проекта с отключенной опцией Load UI.

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

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

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

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

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