Q100126:如何使用 Python 自动创建 Ocula 脚本

关注

概括

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

更多信息

您可以使用Nuke的 Python API 自动创建简单的Ocula脚本,以节省准备工作的时间。下面的示例代码展示了执行此操作的一种方法。
下面的函数执行以下操作:
  1. Nuke脚本设置为具有两个视图
  2. 为给定的素材创建读取节点
  3. 创建一个 O_Solver 节点并将其连接到 Read
  4. 在 O_Solver 节点上为读取序列的第一帧、最后一帧和中间帧创建关键帧。
# 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/stereoFootage.%V.###.ext'
first=1
last=20

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

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

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

关键词: Ocula 、python、O_Solver

    我们很遗憾听到

    请告诉我们