我想使用 python 脚本在 Maya 的非线性变形器中选择和设置关键帧。
我所尝试和失败的显然是基于我对这些命令的了解。
cmds.setKeyframe('some object name', time='a specific frame', attribute='attribute that i wish to key', value='value i wish to set')
但是对于弯曲变形器这样的非线性变形器,似乎如果要在曲率值中设置一个键,则需要指定变形器的输入节点的名称。
在我的大纲中,我使用 cmds.setKeyframe() 将变形器命名为“bend2_handle”,如果使用对象名称为“bend2_handle”,它将不起作用,所以我必须获取输入节点的名称:“bend2” .
在脚本编辑器中,当我手动选择“bend2_handle”时,它显示在 mel 命令中:
select -r bend2_handle ;
当我手动选择弯曲bend2(曲率值所在的位置)时,它显示在mel命令中:
select -addFirst bend2 ;
到底是什么-addFirst。但即使尝试将其用作对象名称,attribute=bend2.curvature,它仍然不起作用,而且我知道 attribute=bend2.curvature 是正确的,因为“bend2.curvature”是我在 cmds.setAttr 中使用的()
import maya.cmds as cmds
cmds.setKeyframe('bend2', time=12, attribute='bend2.curvature', value=8)
cmds.currentTime(12)
cmds.setAttr('bend2.curvature', 4)
cmds.currentTime(40)
cmds.setAttr('bend2.curvature', 8)
我尝试实现的另一种方法是打开自动关键帧,并在第一帧手动设置关键帧,使用 cmds.currentTiem() 指定时间,并使用 cmds.setAttr() 更改值,因此添加关键帧。
但我需要cmds.setKeyframe()
独占使用,没有任何手动操作!
有人可以帮忙吗!?