Interface

Получение всех классов для меню в 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.

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

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

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

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