I'm running a nuke nk file from the command line through a python script. E.g. nuke -nukex -i -t [myPythonScript.py] [myNukeFile.nk] [otherParams]
I'm pretty new to nuke but I am able to set various knob values from python for this nk script and run its write node, but how do I set the render resolution so I can change the render output image size?
What's the best way to resize and how? The Read node has the format
knob but a). it is a dropdown for presets and I'd prefer giving it an actual resolution number, and b). setting it doesn't seem to work: readNode.knob("format").setValue("square_256") # doesn't work
Bonus points also if someone explains how would I form python resize and zoom the viewport (render region) as well :)
There are quite a few ways to control the image size, and it sort of depends on the content of your nuke script. Using the Read node's
format
knob is not one of them, this is only really used to calculate proxy size or set a default resolution when the source images are missing.If things are generated in nuke, they will generally default to the root format, which you can control in python as explained here: https://learn.foundry.com/nuke/developers/113/pythondevguide/formats.html
If you are reading images, Nuke will use your image resolution. In order to resize it, you need to use a reformat node. The Resize node can either use an existing format, or you can change the type to
to box
, check "force this shape" (box_fixed
knob in python), and set your desired width and height. You can also change the resize type and filtering as desired.