gpt4 book ai didi

timer - 如何定期执行 Maya MEL 程序

转载 作者:行者123 更新时间:2023-12-02 04:39:34 26 4
gpt4 key购买 nike

我希望每 x 秒执行一次我的 Maya MEL 程序。有什么办法吗?

最佳答案

mel 设置为

scriptJob -e "idle" "yourScriptHere()";

然而,很难从 Mel 那里得到以秒为单位的时间 - system("time/t") 会让你得到分钟而不是秒的时间。在 Unix 系统中("date +\"%H:%M:%S\"") 会得到小时、分钟和秒。

这里 scriptJob 的主要缺点是当用户或脚本运行时不会处理空闲事件 - 如果 GUI 或脚本做某事很长时间,您将不会在此期间触发任何事件。

您也可以在 Python 中使用线程执行此操作:

import threading
import time
import maya.utils as utils

def example(interval, ):
global run_timer = True
def your_function_goes_here():
print "hello"

while run_timer:
time.sleep(interval)
utils.executeDeferred(your_function_goes_here)
# always use executeDeferred or evalDeferredInMainThreadWithResult if you're running a thread in Maya!

t = threading.Thread(None, target = example, args = (1,) )
t.start()

线程更加强大和灵活 - 并且非常痛苦。它们也受到与 scriptJob 空闲事件相同的限制;如果 Maya 很忙,它们就不会开火。

关于timer - 如何定期执行 Maya MEL 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com