Python

Вектор направления взгляда из 3D вьюпорта

Для того чтобы получить вектор направления 3D вьюпорта, например, чтобы определить расположение вьюпорта относительно какого-либо объекта сцены, можно воспользоваться функцией region_2d_to_vector_3d из модуля view3d_utils.

Рисование изображения при помощи модуля gpu в пространстве сцены и вьюпорта

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

Обрезание значения по границам

Для того чтобы обрезать (clip) значение по границам – проверить, не выходит ли значение за заданные пределы и если нет – то вернуть само значение, а если выходит – максимально возможное граничное значение, можно с помощью очень простой функции.

Переопределяем контекстное меню полностью

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

Загружаем аддон всегда последним

В некоторых случаях, необходимо обеспечить, чтобы аддон всегда загружался при запуске Blender последним, после того, как будут загружены все остальные аддоны. Это может понадобиться, если аддон конфликтует с какими-то другими аддонами или использует функционал из других аддонов, который должен быть доступен уже при старте аддона.

Порядок загрузки аддонов

При старте Blender все активные аддоны загружаются последовательно, один за другим. Какой из аддонов будет загружен раньше, определяется его порядковым номером в списке bpy.context.preferences.addons.

Получение координат точек Lattice

Модификатор Lattice используется для упрощения процесса деформации высокополигональных мешей при помощи несложных каркасных объектов с небольшим числом точек. Каркас накладывается на меш и связывается с ним, после чего манипулируя точками каркаса можно деформировать сам меш. Для получения координат точек каркаса через Blender Python API, нужно обратиться к свойству каркаса “points”.