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

При разработке аддонов для Blender может понадобиться программно переключать режимы работы 3D вьюпорта – например, включать режим отображения сетки WIREFRAME.

Для того чтобы переключить 3D вьюпорт в нужный режим отображения, требуется изменить свойство “shading.type” у рабочей области вьюпорта, установив для каждого режима свое значение

Список режимов и значений для его включения:

  1. Режим сетки – значение “WIREFRAME”
  2. Основной режим работы с мешами – значение “SOLID”
  3. Отображение текстур и материалов – значение “MATERIAL”
  4. Отображение такое же, как на финальном рендере – значение “RENDERED”

Например, чтобы включить в 3D вьюпорте режим отображения сетки, нужно установить следующее значение shading.type равное “WIREFRAME”.

Не забудьте про необходимость переопределения контекста, если выполняете этот код в другой рабочей области, например в Text Editor.

Определить, какой режим отображения в 3D вьюпорте включен сейчас, можно обратившись к этому же свойству:

Кнопки переключения режимов отображения 3D вьюпорта можно вынести на пользовательскую панель.

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

Здесь переопределение контекста не требуется, так как оператор будет выполняться в контексте самого 3D вьюпорта.

Теперь определим тестовую панель, на которой разместим кнопку вызова нашего оператора.

И не забудем зарегистрировать оба наших класса в Blender Python API.

После выполнения этого кода в N-панели будет создана пользовательская панель с единственной кнопкой “WIREFRAME MODE” по нажатию на которой режим вьюпорта будет переключен в режим отображения сетки.

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

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