The format of a script is the pixel dimensions (and pixel aspect ratio) of the final output. It is, effectively, the dimensions in pixels of the paper that you are doing your drawing on. When you are doing a pencil drawing on a sheet of paper 15cm high X 21cm wide, you would be surprised if it were to suddenly reformat itself to 22cm high X 17cm wide. Digital formats are equally inflexible: they must be set correctly from the very beginning of the scripts creation and must be managed correctly throughout the making of the script.
Format management is one thing in Nuke that causes a lot of problems. The following nodes play significant parts in the managemnt of format:
The Project Settings is where the 'top level' settings for your script are stored. These are: the format that you are working in, the frame range (how many frames your project has) and the fps (frames per second). Of these the format is the most important and is the FIRST thing that you will need to set when you start your script. To find the settings simply mouse click once anywhere in the Node Graph and press the S key. If you are anywhere else other than the Node view then you might get the wrong settings (e.g. the viewer area has its own settings).
The Reformat node manages the format issues within the script and is needed in the case where your footage (from the Read node) does not conform to that of the Project Settings. It has many parameters but, for format management, the resize type and the black outside are the most important.
Black outside and Bounding Box
In the diagram below an image has been reformatted so that it lies outside the script's format bounds (yellow line). When an image is reformatted there is often 'surplus' (green area in the image below) or 'empty' (red area in the image below). 'Surplus' information is dealt with by a consideration of the Bounding Box (the white dotted line). 'Empty' information is deal with Black Outside. Though not an immediate part of the reformat workflow, reformatting often requires that these values need attention.
Each script is likley to pressent its own unique problems of format managemnt:
Easy 'in-out' case
Consider a simple color adjustment workflow where no re-formatting or complex compositing is required: footage in → color adjustment → footage out. Such a case presents no problems: just get the format of the parameter in the Project Settings to match that of the Read footage. Easy-peasy.
More complex case
If, as well as color adjusting your footage, you also need to reformat it then the following issues might be encountered:
- If the width and the height of the file is of the same proportions as that of the project settings.
- A Reformat node will automatically size it to fit.
- If the width and the height of the file is not of the same proportions.
- You need to decide whether the width of the read file is going to be preserved or the height.
- If, after choosing to preserve the width or the height, there is some 'emptiness' to deal with then Nuke will stretch the last row of pixels of the image to fill the gap (see below). To deal with the issue you might want to tick the black outside parameter. Black Outside is how Nuke deals with transparency. If, with black outside, it were merged with a new background, then this black can be premultiplied with the Alpha to create a transparency that coincides with the black.
- If, after the Read material has been reformatted, it then needs moving then a Transform node will be needed to move it into place. This should be placed before the Reformat. Such transforms are often needed on landscapes, where the horizon is too high.
Even more complex case
In a composite, it is very often the case that multiple formats will have to be accommodated within the same script. Take as an example the following situation:
- A background requires that a CG explosion is layered over it.
- The CG element is of a format that is much smaller than the background. If the explosion is simply Merged over the landscape in a simple forground-over-background manner then there will be no problem.
- If, the the situation above, a Roto is used to mask out some of the CG foreground then problems will be encountered. Heres why...
- Some of Nuke's nodes create things, like the Constant, CheckerBoard, ColorBar, Roto, RotoPaint etc). The 'canvas' within which they work is the format which has been set in the Project Settings. If the Roto is connected to the CG element via a ShuffleCopy and previewed at the ShuffleCopy node then the format of the CG element and the Roto will appear to be in agreement. However, if previewed at the Roto itself it will take on the aspect of the Project Settings format. To have aspects seemingly change size in such a whimsical manner can be hugely confusing and inconvenient.
- The solution: like all the other 'creation' modes, the Roto has a format parameter. This will force to Roto into compliance with whatever format you define. In this way multiple formats can be acomadated within the same script.
Things to remember
New formats and the format list
Formats come in standard flavors: HD, PAL, NTSC, 4K etc. The format pull down menu has all these formats ready for use. Should a Read node bring in a format that is different to any of these, then it will be available as an new option at the bottom of this list.
The Read node and its format parameter
Though it might seem strange, the format parameter in the Read node does NOT change the format of the read in file. This parameter reflects the Read nodes 'best guess' at what the format of the read-in file might be. If it guesses wrong then this value can be edited (there are a few, obscure reasons why this value might need such an edit that I shall not go into here). Generally this value should be ignored.
The merge node format inheritance
Should two different fortmats enter the Merge node, it will elect the background (B) feed as the 'true' format and perform its compositing on this assumption. Should this be a problem, dont forget the marvelous under merge operation which will place the B layer on top of the A feed (the opposite of the over operation).
Creation nodes and format
As mentioned above, Nuke's 'creation' nodes (the Constant, CheckerBoard, ColorBar, Roto, RotoPaint etc) take their format from the Project Settings. If you have not managed formats correctly within the script then prblems with these nodes will likely ocur, especially the Roto and RotoPaint nodes. See the case above above for an example of what might happen.
Externally re-formatting still images
Still images can be reformated in Photoshop. As well as being neater and requiring less processing, it also encourages a more careful consideration of the pictorial aspects of the composite.
Other uses for the Format node
This node can also be used to flip and flop the image. This is very useful in the process of checking the visual togetherness of the composite.
In Nuke, 2D positional values are refered to in the form of a coordinate (X and Y) or size (pixel dimentions). Both these make the asumption that the zero / zero value is located in the bottom left hand corner. Interesting much? A bit, maybe.