我正在 Nuke10 中编写时间线同步脚本。我应该更改全局框架设置。例子:
nuke.root().knob('first_frame').setValue(1)
nuke.root().knob('last_frame').setValue(100)
之后,我应该更改查看器播放范围。例子:
vv = nuke.activeViewer().node()
vv['frame_range_lock'].setValue(True)
vv['frame_range'].setValue('5-40')
分开它的工作。但在一起 - 不是。一开始我有全局帧范围1-10。当我运行所有这些行时 - 帧范围设置为 1-100,但播放范围设置为 5-10。
我在脚本中间添加命令来检查播放范围:
nuke.root().knob('first_frame').setValue(1)
nuke.root().knob('last_frame').setValue(100)
x = vv.playbackRange()
print(x)
vv['frame_range_lock'].setValue(True)
vv['frame_range'].setValue('5-40')
这是打印:
# Result: 1-10
我认为问题在于,在脚本完成运行之前,查看器中的数据不会更新。
如何强制 nuke 刷新查看器?
或者可能有命令等待完成之前命令的更新?
或者可能需要在查看器中指定帧范围?