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

Blender Python问题:无法删除或访问脚本设置的关键帧

解决Blender Python关键帧删除无效的问题

我可以通过Python脚本给混合颜色节点添加关键帧,动画运行正常:

# 在自定义帧"start_frame"设置混合着色器因子的值
mix_colour.inputs[0].default_value = 0
mix_colour.inputs[0].keyframe_insert(data_path='default_value', frame=float(start_frame))

但尝试删除这些关键帧时,比如用以下代码毫无效果:

mix_colour.inputs[0].keyframe_delete(data_path='default_value')

手动能选中删除,但Python脚本操作失效。


正确的关键帧删除方法

1. 指定要删除的关键帧帧号

keyframe_delete方法如果不指定frame参数,可能无法精准定位到目标关键帧,需要明确传入帧号:

# 删除指定帧上的关键帧
mix_colour.inputs[0].keyframe_delete(data_path='default_value', frame=float(start_frame))

2. 清除该属性的所有关键帧(删除整条F曲线)

如果要删除该属性上的全部关键帧,可以直接移除对应的F曲线:

# 检查节点是否有动画数据
if mix_colour.animation_data is not None and mix_colour.animation_data.action is not None:
    # 匹配目标属性的F曲线路径
    target_path = "inputs[0].default_value"
    # 遍历并删除对应F曲线
    for fcurve in mix_colour.animation_data.action.fcurves:
        if fcurve.data_path == target_path:
            mix_colour.animation_data.action.fcurves.remove(fcurve)
            break

3. 先验证动画数据完整性

操作前先确认节点的animation_data和action不为空,避免因数据缺失导致的无响应:

if not (mix_colour.animation_data and mix_colour.animation_data.action):
    print("该节点无动画关键帧可删除")
else:
    # 执行删除操作
    pass

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:35:03