美文网首页CgTd
Nuke Python 线程

Nuke Python 线程

作者: N景波 | 来源:发表于2016-11-22 11:54 被阅读0次

线程很重要,你可以在后台干事,而不让nuke假死。这样背后运行系统命令,程序啥的就很方便。
根据你想干啥,可以很方便地调用python的Threading借口来实现:

threading.Thread( target=<function_name>, args=<tuple_of_arguments> ).start()

也可以用threading.Thread创建自己的线程类:

class MyClass( threading.Thread ):

    def __init__( self ):
    threading.Thread.__init__( self )

当想从子线程和主线程通信(nuke session),下面的方法就可用:

executeInMainThread(call, args=(), kwargs={})

args是可选参数,kwargs是有名字的参数,在nuke主线程执行完立马返回

executeInMainThreadWithResult(call, args=(), kwargs={})

参数同上,执行后等待结果可用才返回。

注意: 不要在nuke 主线程运行上述函数,nuke会挂起

Examples
MirrorNodes

Node graph里面的mirrors小工具,在组织复杂节点数的时候很有帮助。这段脚本利用线程来慢慢将节点移动到新位置(而不是瞬间),显式的过程,疑惑更少,也更有趣。先来看下基础,下面的代码片段显示了如何平行移动所选节点 。

nodes = nuke.selectedNodes()
positions = [ n.xpos()+n.screenWidth()/2 for n in nodes]
axis = float( sum( positions ) ) / len( positions )

相关文章

  • Nuke Python 线程

    线程很重要,你可以在后台干事,而不让nuke假死。这样背后运行系统命令,程序啥的就很方便。根据你想干啥,可以很方便...

  • Nuke Python 使用命令行

    nuke的命令行如何执行python脚本,请听详细分解 在python模式下运行nuke 通过 -t 参数,可以在...

  • Nuke Python 用PyQt扩展Nuke

    虽然nuke内置了pyside,但是想用pyqt还是可以的。配置pyqt需要几个步骤,当然Python26也要安装...

  • Nuke Python 用PySide扩展Nuke

    可以用python和pyside来扩展nuke的UI,6.3v5以上已经自带PySide了。 第一个PySide窗...

  • Nuke Python 始

    这部分解释Nuke启动后运行的脚本 评估顺序 Nuke 初始化脚本的运行顺序和插件路径的顺序是相反的。插件默认路径...

  • Nuke Python roto

    怎么创建roto 图形和 画笔当获取或者设置roto,rotopaint节点时,需要读取节点的curves kno...

  • Nuke Python 数学

    本章讲解了一些数学模块的特性,详解了矢量和矩阵对象以及它们的成员函数。你可以在Nukepedia上找到一个很棒的教...

  • Nuke Python 格式

    这部分将如何处理格式 读取格式 使用nuke.formats()可会获取nuke支持的格式 各种方法展示如下: 结...

  • Nuke Python Metadata

    这章介绍如何读写Metadata。 读取metadata 函数metadata() 返回一个字典,包含了特点指定节...

  • Nuke Python 入门

    本章的例子帮你初步了解Nuke Python API的使用。 脚本大小写敏感,需要输入正确才能运行。拷贝时注意缩进...

网友评论

    本文标题:Nuke Python 线程

    本文链接:https://www.haomeiwen.com/subject/ammppttx.html