选择非线性变形器输入节点并使用python在maya中设置关键帧?

2024-04-29 13:29:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用python脚本在maya中的非线性变形器中选择并设置关键帧。你知道吗

我所做的尝试和失败显然是基于我对这些命令的了解。你知道吗

cmds.setKeyframe('some object name', time='a specific frame', attribute='attribute that i wish to key', value='value i wish to set')

但对于非线性变形器如弯曲变形器,似乎如果要在曲率值中设置关键点,就需要指定变形器输入节点的名称。你知道吗

在我的大纲视图中,我将变形器命名为“bend2\u handle”,使用cmds.setKeyframe(),如果使用对象名为“bend2\u handle”则不起作用,因此必须获取输入节点的名称:“bend2”。你知道吗

在脚本编辑器中,当我手动选择“bend2\u handle”时,它将在mel命令中显示:

select -r bend2_handle ;

当我手动选择bend bend2(曲率值所在的位置)时,它将显示在mel命令中:

select -addFirst bend2 ;

什么鬼东西是a-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)

我尝试实现的另一种方法是启用“自动关键帧”(autokeyframe),并在第1帧中手动设置关键帧,使用cmds.currentTiem公司()指定时间,并使用cmds.setAttr命令()更改值,因此添加关键帧。你知道吗

但是我只需要使用cmds.setKeyframe(),没有任何手动操作!你知道吗

有人能帮忙吗!?你知道吗


Tags: 命令脚本timevalueattribute手动handlecmds