我正在寻找一种方法来撤消由一个开放的Maya函数执行的操作。我被要求为Maya制作一个工具来缩放多个选定的UV壳相对于它们自己的轴。这很好,但是我的代码并没有产生可以用undo快捷方式撤销的东西。在
我要撤销的函数是:
MFnMesh.setSomeUVs(uvIds, uValues, vValues, uvSet='')
在拉旧的UV值之后,我应用比例,然后使用这个函数将新的坐标推回到UV上。我正在寻找某种方法将我对这个函数所做的更改放到撤消队列中,这样用户就可以撤消错误了。我尽量避免使用cmds来进行缩放,因为那样会扰乱UV选择。在
这是我第一次在玛雅编程,所以任何帮助将不胜感激。在
您只需将所选内容缓存到一个变量或一个集合中并将其还原,在cmds中执行该操作。默认情况下,脚本操作是可撤消的。在
或者,可以将函数实现为MpxCommand。如果实现
doIt
、undoIt
和redoIt
方法,那么您将处于常规撤消队列中。但是,实现它们取决于您;您必须在MpxCommand实例中存储要执行的必要数据并撤消这些工作。在相关问题 更多 >
编程相关推荐