Для того, чтобы создать для выделенного меша новое свойство CustomProperties через API Blender достаточно выполнить команду:
1 |
bpy.context.active_object['property_name'] = property_value |
где:
- property_name – имя добавляемого свойства
- property_value – значение, присваиваемое этому свойству
После выполнения команды новое свойство будет доступно в окне Properties панели Object подпанели Custom Properties.
Как и любое свойство объекта, созданное нами свойство обладает рядом параметров, просмотреть которые можно нажав на кнопку Edit. К этим параметрам также можно получить доступ через API.
Если обращаться к свойству напрямую по имени, можно менять только его значение. Однако интерфейс RNA позволяет добраться через API и до его дополнительных параметров.
Следующий код создает для активного (выделенного) объекта новое свойство с именем “myCustomProp”, задает ему значение равное 11, и устанавливает определенные значения его дополнительным параметрам:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import bpy from rna_prop_ui import rna_idprop_ui_prop_get # Выделенный объект obj = bpy.context.active_object # Задание нового свойства объекту obj['myCustomProp'] = 11 # Задание дополнительных параметров prop_ui = rna_idprop_ui_prop_get(obj, 'myCustomProp') prop_ui["min"] = -5.0 prop_ui["max"] = 15.0 prop_ui["soft_min"] = -5.0 prop_ui["soft_max"] = 15.0 prop_ui["description"] = 'myProp' # Обновление экрана for area in bpy.context.screen.areas: area.tag_redraw() |
Принудительное обновление экрана в последних строчках скрипта необходимо, чтобы перерисовалась панель Custom Properties и созданное программно свойство отобразилось в интерфейсе.
К этим параметрам _также_ можно получить доступ через API.
Спасибо за правку!
Игорь, здравствуй! Рад тебя видеть!
Привет, Николай. Взаимно.)