如何在BGE的python脚本中获取对象的动作/动画的名称?

时间:2019-07-15 13:41:41

标签: python blender

有人知道如何获取对象动作的名称吗?例如,我有一个带有动画CubeAction的Cube。如何通过playAction(..)方法在python脚本中获取此名称(“ CubeAction”)以用于搅拌器游戏引擎?

CubeAction:
enter image description here

1 个答案:

答案 0 :(得分:0)

使用Blender时,可以为一个对象分配一个动作,这可以在object.animation_data.action中找到。

obj = bpy.context.object
print(obj.animation_data.action.name)

完整的操作列表也可以在bpy.data.actions

中找到
for a in bpy.data.actions:
    print(a.name)

您可以查看动作id_root以确定该动作支持的对象类型,通常是OBJECTARMATURE

游戏引擎在运行时,没有针对对象的有效操作,需要通过action actuatorplayAction()启动该对象。我不知道在游戏运行时是否可以获得动作列表,但是如果无法创建新动作列表,则可以在创建游戏时将可用动作列表存储在脚本中。