Запрет на переопределение базовых операторов в Blender Python API

Начиная с версии 3.5 в Blender Python API запрещено переопределять базовые операторы.

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

При попытке переопределить базовый оператор Blender выдаст ошибку:

RuntimeError: Error: Registering operator class: ‘Override’, bl_idname ‘_bl_idname_’ could not be unregistered

Если для примера мы попробуем создать класс с оператором, переопределяющим оператор удаления объекта из сцены:

То при регистрации оператора в API Blender выдаст ошибку:

RuntimeError: Error: Registering operator class: ‘OverrideDelete’, bl_idname ‘object.delete’ could not be unregistered

и новый оператор не будет зарегистрирован.

Будьте внимательны при разработке аддонов. А если в вашем аддоне используется переопределение базовых операторов – вам будет необходимо внести исправления в код, чтобы ваш аддон мог работать в Blender версии 3.5 и выше.

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

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