python - 可以运行延迟执行的代码吗?

标签 python maya

脚本运行后是否可以自动运行一小部分代码?

我问这个问题是因为出于某种原因,如果我将这组代码添加到主脚本中,尽管它可以工作,但它会显示选项卡错误列表(它已经存在,但它指出它找不到它某种)。

我意识到运行我的脚本后,Maya 似乎“加载”了自己的刷新设置以及我公司完成的一些插件。因此,如果我在主脚本执行和 Maya/插件“刷新”之后运行一小部分代码,它可以正常工作。我希望使该过程尽可能自动化,如果可能的话,所有这些都在脚本中......

那么这样可以吗?类似于延迟排序的编码方法? 仅供引用,主脚本执行时间取决于场景中元素的数量。越多,需要的时间就越长...

最佳答案

Maya 有一个命令 Maya.cmds.evalDeferred这是为了这个目的。它会等到不再有 Maya 处理待处理,然后进行自身评估。

您还可以使用Maya.cmds.scriptJob出于同样的目的。

注意:虽然 eval 在 Maya 环境中被认为是危险且不安全的,但它确实很正常。主要是因为 Maya 中的所有内容本质上都是不安全的,因为几乎所有 GUI 项都只是用户可以修改的 eval 命令。因此,一旦您让任何人使用您的 Maya shell,您的安全就会遭到破坏。

关于python - 可以运行延迟执行的代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24609645/

相关文章:

python - 正则表达式仅用于字符串中的数字?

c++ - 在 api 中检索 Maya 着色器的颜色

c++ - Autodesk Maya、C++ 和 OpenGL 渲染引擎

algorithm - 3D三角剖分算法

python - 为什么这两种变体之间的速度差异如此之大?

python - Pandas to_sql 将列类型从 varchar 更改为 text

python - request.params 中的关键错误

python - 如何使用 python 检索 Hotmail 联系人

windows - 限制 Maya 在 Windows 上可以打开的文件数量

maya - 在 Autodesk Maya 中查找中心点