Как программно создавать логические блоки в Blender?

Я хочу, чтобы моя инициализация script создавала дополнительные датчики/контроллеры/исполнительные механизмы, необходимые для интерактивного приложения Blender (не обязательно для игры). Это предпочтительнее по двум причинам:

  • Я могу использовать этот script в нескольких приложениях. Создание общей логики снова и снова утомительно. И нет другого способа импортировать AFAIK.
  • Наличие моих модулей Python для создания логических блоков намного проще и удобнее для меня, так как я кодер. (... и код может управляться версиями, проверяться экспертами, легко документировать и т.д.).

Фактически создание файла шаблона частично разрешает первую проблему. Но тогда я не могу смешивать и сопоставлять разные части для разных проектов, или мне нужно создать шаблон для каждой возможности.

Я выполнил поиск Документация Game Engine и Python API, но не нашел никакой подсказки. __init__ методы логического кирпича даже не перечислены там.

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

ПРИМЕЧАНИЕ: с моим ограниченным знанием BGE, вы не можете, например, обращаться к нажатию клавиш непосредственно с Python. Требуется датчик.

Ответ 2

Итак - как бы то ни было, нет никакого способа создать логические кирпичи прямо из Python.

Когда вы создаете экземпляр объекта в BGE (например, с приложением добавочного объекта), к нему приходят логические кирпичи из экземпляра объекта, и вы можете изменить и переупорядочить их, включая переделку датчиков, контроллеров и приводов

Я думаю, что это текущее обходное решение: вы создаете пустую матрицу общих сеньоров, контроллеров и исполнителей, а когда вы добавляете новые объекты в сцену, вызывайте функцию, которая заполняет параметры для логических блоков и выполняет требуемый электропроводка.