You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Maya的graph editor中使用Python获取选中关键帧对应属性

实现方案

以下是可直接运行的实现代码,可精准获取Graph Editor中选中关键帧对应的属性:

import pymel.core as pm

# 查询所有选中关键帧对应的属性全名(格式为 节点名.属性名)
selected_key_attrs = pm.keyframe(query=True, selected=True, name=True)

# 去重处理,避免同一属性下多个选中关键帧重复输出
unique_attrs = list(set(selected_key_attrs))

for full_attr in unique_attrs:
    # 拆分获取短属性名,不需要可直接打印full_attr获取完整属性路径
    attr_name = full_attr.split(".")[-1]
    print(f"选中关键帧对应属性:{attr_name},完整路径:{full_attr}")

原代码问题说明

  • 你之前使用的pm.selectionConnection('graphEditor1FromOutliner', ...)获取的是Graph Editor左侧大纲面板中选中的属性,不是曲线视图内选中关键帧对应的属性,因此会返回所有大纲选中的属性结果。
  • 直接使用keyframe命令的selected参数即可直接匹配选中关键帧的所属属性,是实现该需求最简便的方法。

扩展说明

如果需要同时获取选中关键帧的时间、数值信息,可以调整参数获取:

# 同时获取选中关键帧的时间、数值、所属属性
selected_keys = pm.keyframe(q=True, selected=True, timeChange=True, valueChange=True, name=True)
# 按 [属性名, 时间, 值] 分组返回
for i in range(0, len(selected_keys), 3):
    attr = selected_keys[i]
    time = selected_keys[i+1]
    value = selected_keys[i+2]
    print(f"属性:{attr},时间:{time},数值:{value}")

内容的提问来源于stack exchange,提问作者Josh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:54:04