Оператор для скрытия объекта во всех сценах

Для того, чтобы скрыть объект в окне 3D Viewport только для текущей сцены мы все пользуемся оператором object.hide_view_set, вызов которого равносилен нажатию на иконку с глазом в аутлайнере. Однако для того, чтобы скрыть объект во вьюпорте сразу для всех сцен проекта – нажатие на иконку с изображением монитора, специального оператора не предусмотрено. Сделаем его сами.

Свойство объекта, отвечающее за его показ или скрытие во вьюпорте глобально для всех сцен проекта:

Создадим класс оператора для изменения этого свойства у объекта:

И зарегистрируем его в Blender Python API:

При выполнении этого оператора текущий активный объект будет скрываться во вьюпорте для всех сцен проекта.

Для его вызова достаточно набрать в Python-консоли:

Для удобства работы мы можем настроить комбинацию клавиш для его вызова. Для этого перейдите в окно Preferences на вкладку KeyMap. В выпадающем меню откройте раздел 3D View – Object Mode – Object Mode (Global) и нажатием на клавишу “New” создайте новый keymap.

В поле оператора впишите object.hide_viewport, и назначьте удобное сочетание клавиш для его вызова, например, клавишу “Y”.

Теперь при нажатии на клавишу “Y” в окне 3D Viewport активный объект будет скрыт для всех сцен проекта.

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

Вместо изменения свойства hide_viewport только для активного объекта context.object, сделаем цикл по всем выделенным объектам и изменим это свойство у них всех.

Для этого строчку

заменим на:

Создадим еще один оператор, который будет выполнять обратную функцию – отображать все скрытые для всех сцен объекты.

Назовем его hide_viewport_clear

Его тоже нужно зарегистрировать в API через register_class.

Так же настроим для него вызов через сочетание клавиш, например “alt + Y”:

Полный код:


*.blend файл с примером и *.py файл с кодом для моих подписчиков на Patreon

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

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии