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

标签 python blender

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

立方体 Action :
enter image description here

最佳答案

使用 blender 时,一个对象可以分配一个 Action ,这可以在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 ,需要通过 action actuator 来启动它或playAction() 。我不知道您是否可以在游戏运行时获取操作列表,但如果无法创建新操作,您可以在创建游戏时将可用操作列表存储在脚本中。

关于python - 如何在 BGE 的 python 脚本中获取对象 Action /动画的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57041065/

相关文章:

three.js - 如何在Blender中制作骨骼动画并在Three.js中播放

python - 调整 kivy scatter 中小部件的大小

python - 贪吃蛇游戏的深度 Q 学习

javascript - 在 Three.js 中加载多个 Blender 导出的对象/网格+ Material

algorithm - 如何线性排列图形而不重叠?

适合 Blender 初学者的 Python 工作流程

Python:转换以字节数组形式编码十六进制的 json 字符串

python - Pandas - 将具有多列的数据框 reshape /转换为单列值

Python 和 rpy2 : How do I adjust/clear a graphic during runtime?

javascript - Three.js加载多个分离对象/JSONLoader