如何在Blender中以编程方式创建逻辑砖?

时间:2010-07-14 08:21:45

标签: python 3d interactive game-engine blender

我想让我的初始化脚本创建交互式Blender应用程序(不一定是游戏)所需的其他传感器/控制器/执行器。这有两个原因:

  • 我可以在多个应用程序中使用此脚本。一遍又一遍地创建通用逻辑是单调乏味的。并且没有其他方法可以导入AFAIK。
  • 让我的Python模块创建逻辑砖对我来说更容易和舒适,因为我是一名程序员。 (......代码可以是版本控制,同行评审,易于记录等。)

实际上,创建模板文件可以解决第一个问题。但是我不能为不同的项目混合和匹配不同的部分,或者我必须为每种可能性创建一个模板。

我搜索了Game Engine docsPython API但找不到任何线索。逻辑砖的__init__方法甚至没有列在那里。

但如果有任何方法可以在Python中动态创建逻辑块,我想尝试一下。

注意:由于我对BGE的了解有限,您不能直接从Python访问按键。需要一个传感器。

2 个答案:

答案 0 :(得分:6)

我知道这是一个非常古老的帖子,但信息已经过时了。 现在可以使用python添加执行器和传感器: http://www.blender.org/documentation/blender_python_api_2_60_6/bpy.ops.logic.html

如果其他人正在寻找信息。

答案 1 :(得分:2)

所以 - 事实上,没有办法直接从Python创建逻辑砖。

当你在BGE中实例化一个对象时(就像添加对象执行器一样),来自实例化对象的逻辑砖附带它 - 你可以改变它并重新安排它们 - 包括重新传输传感器,控制器和执行器< / p>

我认为这是当前的解决方法:您创建一个通用传感器,控制器和执行器的空白矩阵,当您将新对象添加到场景中时,调用一个函数来填充逻辑块的参数并执行所需的接线。