gpt4 book ai didi

python - Nuke Viewer 设置帧范围问题

转载 作者:行者123 更新时间:2023-11-28 21:42:54 24 4
gpt4 key购买 nike

我正在 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

我认为问题在于查看器中的数据直到脚本运行完毕才更新。

如何强制核弹刷新查看器?

或者可能有一个命令等待完成对之前命令的更新?

或者可能需要在查看器中指定帧范围?

最佳答案

你只需要说查看器节点重绘然后它会正确更新范围。

这是一个工作示例

vv = nuke.activeViewer().node()
nuke.root().knob('first_frame').setValue(1)
nuke.root().knob('last_frame').setValue(100)

vv.redraw()
vv['frame_range_lock'].setValue(True)
vv['frame_range'].setValue('25-40')
x = vv.playbackRange()
print(x)

关于python - Nuke Viewer 设置帧范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43045169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com