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

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

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

Пробежим циклом по всем открытым рабочим областям, пока не найдем область вьюпорта:

Взаимодействовать с матрицей вьюпорта можно через его 3d регион.

Получить доступ к 3d региону вьюпорта, имея его рабочую область, можно следующим образом:

Получить матрицу положения вьюпорта из региона можно через его свойство view_matrix

Для того чтобы сохранить местоположение вьюпорта, нужно сохранить эту матрицу:

Через это же свойство view_matrix можно задать для вьюпорта новое положение, присвоив ему матрицу с нужными значениями.

Например, для установки 3D вьюпорта во фронтальный вид, нужно присвоить матрице вьюпорта следующее значение:

А для того, чтобы вернуть вьюпорт в первоначальное положение – присвоить view_matrix ранее сохраненное значение.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии