创建支持服务单
关注

Q100126:如何使用python自动创建OCULA脚本

摘要

本文介绍如何使用python使用O_Solver节点自动创建Ocula脚本。

更多信息

您可以使用Nuke的python API自动创建简单的Ocula脚本,以节省您准备工作的时间。下面的示例代码显示了一种可以执行此操作的方法。
以下功能执行以下操作:
  1. 将Nuke脚本设置为具有两个视图
  2. 为给定的素材创建一个Read节点
  3. 创建一个O_Solver节点并将其连接到Read
  4. 在O_Solver节点上为Read序列的第一帧,最后一帧和中间帧创建关键帧。
 # Create an O_Solver keyed at first_frame, last_frame and the mid frame

def createOculaTree(filename, first_frame, last_frame):
  mid_frame = int( (first_frame + last_frame)/2 )

  # set up views
  nuke .root()["setlr"].execute()

  # create the read and set up for the frame range
  reader = nuke.createNode("Read",inpanel=False)
  reader.knob("file").setValue(filename)
  reader.knob("first").setValue(first_frame)
  reader.knob("last").setValue(last_frame)
  
  # set up the O_Solver node and create a key
  solver = nuke.createNode('O_Solver4_0',inpanel=False)
  solver.setInput(0, reader)
  nuke .execute(solver, nuke.FrameRanges([first_frame, mid_frame, last_frame]))
 
然后,您可以在一个指向您的素材的简单脚本中使用它,运行该函数,然后保存脚本。
 # define the location of your footage
# and the frame range stereoSequence='/path/to/stereoFootge.%V.###.ext'
first=1
last=20

# Create the Ocula script
createOculaTree(stereoSequence,first,last)

# save out your script
nuke .scriptSaveAs('/path/to/save/oculaScript.nk', True)
请注意:为了通过python执行O_Solver节点,您需要为Nuke和Ocula使用交互式许可证。
  • 如果您正在运行Nuke终端会话,那么您需要在参数中使用“-i”启动它,例如“Nuke10.0 -t -i”或“Nuke10.0 -ti”

  • 如果你在外部python会话中使用Nuke作为python模块,那么你需要在“import nuke”命令之前设置os.environ [“NUKE_INTERACTIVE”] =“1”
进一步阅读
有关如何使用Nuke的python API的更多信息,请参阅Nuke Python开发人员指南

关键词: Ocula ,蟒蛇,O_Solver

这篇文章有帮助吗?
/

We're sorry to hear that!

Please tell us why.
1 人中有 1 人觉得有帮助

评论