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

Ole*_*yna 2 python blender

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

立方体动作:
在此输入图像描述

sam*_*ler 5

使用搅拌机时,一个对象可以分配一个动作,这可以在 中找到object.animation_data.action

obj = bpy.context.object
print(obj.animation_data.action.name)
Run Code Online (Sandbox Code Playgroud)

完整的操作列表也可以在以下位置找到bpy.data.actions

for a in bpy.data.actions:
    print(a.name)
Run Code Online (Sandbox Code Playgroud)

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

当游戏引擎运行时,对象没有主动动作,需要通过动作执行器或来启动playAction()。我不知道您是否可以在游戏运行时获取操作列表,但无法创建新操作,您可以在创建游戏时将可用操作列表存储在脚本中。