Nuke Python 作为包使用

从8.0开始Nuke能作为python的一个模块用了。
意味着在VFX流程中可以用python做很多以前做不了的复杂事情,可以用产品级库替换python中大部分2D,3D和视频编辑模块。

使用Nuke自带的Python,可以通过Python解释器来完成合成工作,并能访问Nuke的Python API,不再需要Nuke了。
这就是说,咱可以用很Pythonic的方式来 re-grade 2000个镜头或者根据已选的表格更改淡入淡出效果,仅仅需要5-6行代码。
更厉害的是能很容易地把Nuke连接到后端设备,集成到自有pipeline,甚至嵌入到其他程序中

使用Nuke发行的Python解释器才能使用Nuke库(其他解释器也能用此包,Nuke自带的是唯一官方支持库)

和标准Python一样,交互式和执行脚本都能玩得转。

例如,下面是交互式的例子

<Nuke8.0-install-path>$ python.exe
>>> import nuke
>>> r = nuke.nodes.Read(file='shot-90123-a.exr')
>>> g = nuke.nodes.Grade( inputs=[r] )
>>> g['black'].setValue( 0.05 )
>>> w = nuke.nodes.Write(file='shot-90123-a-graded-up.exr', inputs=[g])
>>> nuke.execute( w, 1, 1 )


IDE中的python代码。

#gradeShots.py
import nuke
shot = sys.argv[0]
r = nuke.nodes.Read(file=sys.argv[0])
g = nuke.nodes.Grade( inputs=[r] )
g['black'].setValue( 0.05 )
outName = '%s-a-grade-up.mov'%(os.path.split(shot)[0])
w = nuke.nodes.Write(file=outName, inputs=[g])
nuke.execute( w, 1, 1 )

运行代码如下:

<Nuke8.0-install-path>/python.exe gradeShots.py shot-90123-a.exr
授权

想使用Nuke的交互式授权,就得把环境变量NUKE_INTERACTIVE设置成非零的整数。
比如:

<Nuke8.0-install-path>$ python.exe >>> import os >>> os.environ[ “NUKE_INTERACTIVE” ] = “1” >>> import nuke >>> ... >>> ...

你能用Nuke的python模块干很多事情,有啥好消息请告诉我们。
作者: Frank Harrison

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,715评论 25 708
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,854评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 19,405评论 4 417
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,298评论 4 61
  • 随着社会的发展,很多家庭已经从每家一辆自行车的标配升级到每家一辆小汽车的配置。随之而产生的保养费,保险费,加油...
    尛小小2017阅读 524评论 2 0

友情链接更多精彩内容