Блокируем вынос развертки за границы области UV

В большинстве случаев острова развертки можно беспрепятственно перемещать в рабочей области UV Edit в любое место. Однако иногда бывает нежелательно выносить развертку за границы базовой области UV, например, чтобы гарантировать, что развертка не “уедет”, при запекании в атласы.

В Blender есть простой и эффективный метод, который просто блокирует вынос элементов развертки за базовые границы.

Для его включения в меню рабочей области UV Edit нужно выбрать пункт UV и установить чекбокс в пункте “Constrain to Image Bounds”.

После этого при перемещении элементов развертки они будут останавливаться на базовой границе области и не двигаться дальше ее.

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

Этот режим можно также включать/выключать и через Blender Python API.

Для начала нужно получить указатель на рабочую область UV Edit.

Так как рабочая область UV Edit относится к общему типу IMAGE_EDITOR, чтобы гарантированно получить указатель именно на редактор разверток, мы проверяем дополнительно еще и подтип ui_type, который должен быть равен “UI”.

Получив указатель на рабочую область, через него получим указатель на нужное свойство “lock_bounds” для проверки его текущего состояния.

Значение равно False, это значит что опция не включена (чекбокс не отмечен).

Включим ее (отметим чекбокс), присвоив свойству значение True.

Для того чтобы выключить режим (снять чекбокс), присвоим свойству “lock_bounds” значение False.

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

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