Python

Управление положением 3D вьюпорта через Blender Python API

При помощи Blender Python API можно управлять не только объектами, но и видом из 3D вьюпорта. Как и у любого объекта сцены, у вьюпорта есть матрица, при помощи которой вьюпорт можно перемещать в нужное положение.

Перевод значения из одного диапазона в другой

Функция range служит для перевода значения из одного диапазона, например от 0 до 1000 в другой, например от -1 до 1. Для быстрого получения значения в разных диапазонах, определим свою функцию range.

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

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

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

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

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

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

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

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