Blender 3D

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

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

Выделение вертексов по цвету

У вертексов нет свойства “цвет”. Цвета вертексов, задаваемые раскраской в режиме Vertex Paint или любым другим способом, хранятся в атрибуте – отдельном списке значений. Для того чтобы выделить точку по цвету, назначенному ей в атрибуте, нужно связать индексы атрибута с индексом вертекса.

Создание кастомных иконок для инструментов Blender

Базовые иконки, использующихся в UI и операторах, прошиты внутри Blender, и поэтому мы не можем отредактировать или добавить новые иконки без полной перекомпиляции Blender. Иконки для панелей инструментов не привязаны сборке Blender, хранятся в отдельных файлах, и мы можем заменять или создавать и добавлять в Blender новые иконки инструментов.

Получение id для иконок инструментов

Id иконок инструментов соответствуют называниям файлов, в которых они хранятся и их можно получить просто посмотрев в соответствующую папку Blender. Однако идентификаторы иконок можно получить и через Blender Python API при помощи класса ToolSelectPanelHelper.

Создание кастомного инструмента в Blender

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

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

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