python - maya 的宏工具

标签 python scripting macros maya mel

一看到Photoshop Action,就好奇用python开发一个Maya的宏工具。所以我开始研究它。

这是我的例子,

path = "C:/Desktop/file.txt"
a = open(path, 'w')
#cmds.scriptEditorInfo(ch = True, chf = True)
cmds.scriptEditorInfo( hfn=path, wh=True)
a.close()

我能够记录所有的事情。这是我记录的信息。

CreatePolygonPyramid;
performPolyPrimitive Pyramid 0;
setToolTo CreatePolyPyramidCtx;
optionVar -query toolMessageVisible;
optionVar -query toolMessageTime;
optionVar -query toolMessageVerticalOffset;
optionVar -query toolMessageHorizontalOffset;
headsUpMessage -time 0.7 -verticalOffset -40 -horizontalOffset 0 -viewport 1 -          uvTextureEditor 0"Drag on the grid.";
changeToolIcon;
polyPyramid -ch on -o on -w 10.727425 -cuv 3 ;
escapeCurrentTool;
autoUpdateAttrEd;
updateAnimLayerEditor("AnimLayerTab");
statusLineUpdateInputField;
changeToolIcon;

问题是我无法对事物进行分类(只记录需要的事物)。它只是记录所有信息。我尝试使用各种标志的组合,如 se、sw、si、sr。但是我无法选择所需的信息。

最佳答案

您从录制中显示的输出看起来像是在脚本编辑器中启用了“Echo All Commands”。你确定那是记录 Action 所必需的吗? “Echo All”始终为您提供从初始命令执行的子命令,这些子命令通常对于调用原始命令来说是多余的。

也许您可以结合脚本编辑器的日志记录方法,关闭“Echo All”,并使用撤消队列作为额外记录:cmds.undoInfo(q=True, printQueue=True)
您要么必须在开始记录时先清除撤消队列,要么首先运行一些创建“标记”的 NOOP 命令以了解您在队列中的开始位置。像“setAttr”这样的操作会留下一个空白的命名条目,但您可以查看您的脚本编辑器记录以了解两者之间缺少的内容。也许将这两者结合起来你会得到一个更准确的宏。

关于python - maya 的宏工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9614271/

相关文章:

c - 在 Hp-UX ksh 中执行交互式命令(意外)并获取子进程

c++ - g++ 命令行宏定义字节流

python - 从 netCDF 维度中减去值

python - Python 中的概率分布函数

python - os.environ ['http_proxy' ] 不工作

java - 解析超大 Excel 2007 文件的最佳语言

qt - 在启动时作为 Linux 守护进程运行 Qt 应用程序

python - 访问绑定(bind)到事件的函数的返回值 (tkinter)

c - C 中函数重载的预编译选项

javascript - 可能的类似 Autoit 的 JavaScript 宏?