如何在Blender中以编程方式创建逻辑砖?
我想让我的初始化脚本创建一些额外的传感器、控制器和执行器,这样可以用于一个互动的Blender应用程序(不一定是游戏)。这样做有两个好处:
- 我可以在多个应用程序中使用这个脚本。重复创建相同的逻辑太麻烦了。而且据我所知,没有其他方法可以导入。
- 对我来说,让我的Python模块创建逻辑块要简单得多,因为我是一名程序员。(...而且代码可以进行版本控制、同行评审、轻松记录等。)
实际上,创建一个模板文件在一定程度上解决了第一个问题。但这样一来,我就不能为不同的项目混合和匹配不同的部分,或者我得为每种可能性都创建一个模板。
我查阅了游戏引擎文档和Python API,但没有找到任何线索。逻辑块的__init__
方法甚至没有列在那里。
不过,如果有任何方法可以在Python中动态创建逻辑块,我想尝试一下。
注意:根据我对BGE的有限了解,你不能直接从Python访问按键。需要一个传感器。
2 个回答
2
所以——
目前来说,直接通过Python创建逻辑砖是不可能的。
当你在BGE中实例化一个对象(比如使用添加对象的执行器时),这个实例化的对象会带上它自己的逻辑砖——你可以对这些逻辑砖进行修改和重新排列,包括重新连接传感器、控制器和执行器。
我认为现在的解决办法是:你先创建一个空的矩阵,里面放一些通用的传感器、控制器和执行器,然后当你在场景中添加新对象时,调用一个函数来填充逻辑块的参数,并进行必要的连接。
6
我知道这是一篇很老的帖子,但里面的信息已经过时了。现在可以用Python来添加执行器和传感器了:http://www.blender.org/documentation/blender_python_api_2_60_6/bpy.ops.logic.html
如果还有其他人想找这个信息的话。