如何取消时间轴当前帧上的已选中关键帧?
取消时间轴当前帧关键帧的选中状态实现
需求说明
在已选中的关键帧中,仅取消时间轴当前帧对应的关键帧选中状态。现有代码可选中当前帧及前后各一个关键帧,但无法实现单独取消当前帧关键帧的操作。
效果示例

现有代码(选中当前帧及前后关键帧)
keyA = mc.currentTime(q = True) ttA = mc.findKeyframe(t = (keyA,keyA), w = "previous") ttB = mc.findKeyframe(t = (keyA,keyA), w = "next") cmds.selectKey(animation='objects',add=False,t=(ttA,ttB))
解决方案代码
要实现仅取消当前帧关键帧的选中状态,直接利用selectKey的remove=True参数即可:
current_frame = mc.currentTime(q=True) # 从已选中的关键帧中移除当前帧对应的关键帧 cmds.selectKey(animation='objects', t=(current_frame, current_frame), remove=True)
代码说明
current_frame获取当前时间轴的帧位置t=(current_frame, current_frame)精准定位当前帧的所有关键帧remove=True参数会将这些关键帧从已选中集合中移除,保留其他已选中的关键帧状态
内容的提问来源于stack exchange,提问作者Fenix Animator
相关产品推荐
相关产品推荐

