Как программно создавать логические блоки в Blender? - PullRequest
10 голосов
/ 14 июля 2010

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

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

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

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

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

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

Ответы [ 2 ]

6 голосов
/ 08 июня 2013

Я знаю, что это действительно старый пост, но информация устарела. Теперь возможно добавить приводы и датчики с питоном: http://www.blender.org/documentation/blender_python_api_2_60_6/bpy.ops.logic.html

На случай, если кто-то еще ищет информацию.

2 голосов
/ 14 июля 2010

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

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

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

...