This node loads images from disk, using the native resolution and the frame range for the sequence. It converts all imported sequences to Nuke’s native 32-bit linear RGB colorspace.
The Read node supports multiple file formats, such as Cineon, TIFF, Alembic, PSD, OpenEXR, HDRI, DPX, REDCODE, ARRIRAW, and RAW camera data. It uses the file name extension to determine the format.
You can also create a Read node by pressing R on the Node Graph.
Control (UI) |
Knob (Scripting) |
Default Value |
Function |
Read Tab |
|||
file |
file |
dependent on file |
Sets the file path and name of the file to read. For frame numbers, you can use #### for each digit or the printf-style formatting %04d. |
cache locally |
cacheLocal |
auto |
Sets the local file caching behavior. Copies of the files are stored in a specified local folder for faster access times: • always - always cache this file, even if other files aren’t cached. • auto - cache this file along with other files you’re caching (default). • never - never cache this file. |
format |
format |
dependent on file |
Sets the size of the file. Typically it is guessed correctly from the file header, but you can change it to set a different pixel aspect ratio if required. |
proxy |
proxy |
none |
Sets the file path and name of a relevant proxy image. This proxy image is used if proxy mode is on and the required resolution is less than or equal to the proxy format. |
proxy format |
proxy_format |
1024x778 |
The file specified in proxy is read if the down-rez of the format is smaller or equal to this value. Typically it is guessed correctly from the file header, but you can change it to set a different pixel aspect ratio if required. |
frame range |
first |
dependent on file |
The first frame number of a sequence to display. |
before |
hold |
Sets the behavior of frames before the first frame specified: • hold - select to show a still picture of the first frame of the frame range. • loop - select to start over and keep looping the span of the frame range outside the first frame of the frame range. • bounce - select to play the span of the frame range backwards and forwards between the frame range limits. • black - select to display a black frame outside of the first frame. |
|
last |
dependent on file |
The last frame number of a sequence to display. |
|
after |
hold |
Sets the behavior of frames after the last frame specified: • hold - select to show a still picture of the last frame of the frame range. • loop - select to start over and keep looping the span of the frame range outside the last frame of the frame range. • bounce - select to play the span of the frame range backwards and forwards between the frame range limits. • black - select to display a black frame outside of the last frame. |
|
frame |
frame_mode |
expression |
Sets the frame mode: • expression - Lets you enter an expression in the field on the right. The expression changes the relation between the current frame and the frame read in. For example, if your clip begins from image.0500.rgb and you want to place this first frame at frame 1 rather than frame 500, you can use the expression frame+499. This way, 499 frames are added to the current frame to get the number of the frame that’s read in. At frame 1, image.0500.rgb is read in; at frame 2, image.0501.rgb is read in; and so on. Another example of an expression is frame*2. This expression multiplies the current frame by two to get the number of the frame that’s read in. This way, only every other frame in the clip is used. At frame 1, image.0002.rgb is read in; at frame 2, image.0004.rgb is read in; at frame 3, image.0006.rgb is read in; and so on. • startat - Lets you enter a start frame number in the field on the right. This specifies the frame where the first frame in the sequence is read in. In other words, all frames are offset so that the clip starts at the specified frame. For example, if your sequence begins from image.0500.rgb and you enter 1 in the field, image0500.rgb is read in at frame 1. Similarly, if you enter 100 in the field, image0500.rgb is read in at frame 100. • offset - Lets you enter a constant offset in the field on the right. This constant value is added to the current frame to get the number of the frame that’s read in. For example, if your clip begins from image.0500.rgb and you want to place this first frame at frame 1 rather than frame 500, you can use 499 as the constant offset. This way, 499 is added to the current frame to get the frame that’s read in. At frame 1, image.0500.rgb is read in; at frame 2, image.0501 is read in, and so on. You can also use negative values as the constant offset. For example, if you use the value -10, Nuke will subtract ten from the current frame to get the frame that’s read in. At frame 20, image.0010.rgb is read in; at frame 21, image.0011.rgb is read in; and so on. |
frame |
none |
Depending on the frame mode, you can enter a start frame, an offset, or an expression here. |
|
original range |
origfirst |
dependent on file |
Displays the original first frame. |
origlast |
dependent on file |
Displays the original last frame. |
|
missing frames |
on_error |
error |
Sets Nuke’s behavior when there is a problem with frames in the file: • error - display an error in the Viewer. • black - replace suspect frames with a black frame. • checkerboard - replace suspect frames with a checkerboard. • nearestframe - replace suspect frames with the nearest good frame. |
reload |
reload |
N/A |
Click to re-read the image from disk. |
colorspace |
colorspace |
dependent on file |
Sets the lookup table (LUT) used to convert from this file to the internal values used by Nuke. default determines the LUT from the size and type of data in the file, and other information from the file header. |
premultiplied |
premultiplied |
disabled |
When enabled, Nuke corrects the color of the partially transparent pixels produced by most renderers by dividing color data by the alpha channel before converting from the colorspace, and then multiplying by the alpha channel afterwards. |
raw data |
raw |
disabled |
When enabled, Nuke does not convert the data. For most file formats this is the same as linear colorspace but, for some, it may disable other processing such as conversion from YUV. |
auto alpha |
auto_alpha |
disabled |
When enabled, if the Read produces RGB but no alpha channel, then assume the alpha should be 1 if it's requested later on. |
exr Options (.exr reads only) |
|||
offset negative display window |
offset_negative_display_window |
enabled |
The .exr format allows the image’s lower left corner to start at any position, including negative x axis values. Nuke does not support this type of format, but compensates by offsetting the image or reducing the format size on both sides: • enabled - the image is offset so that the .exr image’s left side start at x=0. • disabled - the format is reduced on both sides by the negative x amount, as if that area was overscan. |
do not attach prefix |
noprefix |
disabled |
When enabled, metadata keys are read as they are, without attaching a prefix to them. When disabled, the prefix exr is attached to metadata keys to make them distinct from other metadata in the tree. |
mov Options (.mov reads only) |
|||
ycbcr matrix |
ycbcr_matrix |
dependent on the file |
Sets the way Y’CbCr is converted to RGB. Rec 601 and Rec 709 follow the ITU.BC specifications, whilst Nuke Legacy, Nuke Legacy Mpeg, and Nuke Legacy YUVS are retained for backwards compatibility. This setting is only available when you’re working with a Y’CbCr-based pixel type. |
codec |
codec |
dependent on the file |
Sets the way Y’CbCr is converted to RGB. Rec 601 and Rec 709 follow the ITU.BC specifications, whilst Nuke Legacy, Nuke Legacy Mpeg, and Nuke Legacy YUVS are retained for backwards compatibility. This setting is only available when you’re working with a Y’CbCr-based pixel type. |
pixel format |
pixel_format |
dependent on the codec |
Sets the codec used to read the QuickTime file. The codec dropdown defaults to a codec appropriate for the QuickTime in question, where available, and only lists those that declare themselves able to read the file. |
psd Options (PSD reads only) |
|||
Breakout Layers |
breakout |
|
Breaks out the .psd file into separate layers and recombines them with a number of PSDmerge nodes. The blend modes/operations in the merge nodes are approximated and do no match Photoshop® exactly. It’s recommended that all masks and adjustment layers are rasterized in Photoshop® before they’re imported into Nuke. |
Sequence Tab |
|||
import sequence |
import sequence |
N/A |
Click to display a browser to locate an import sequence script which builds a frame sequence list from the contents of an EDL file. These are not standard EDL files, such as CMX. Each line in the file simply defines a separate image sequence to import in the form: imagesequence.%04d.ext in out head tail Where in and out are the start/end frame numbers of the clip and head/tail are the number of frames to trim from the start and end. Each sequence in the list is expanded into the sequence control so that each line contains the name of the file to read for that frame: line 1 = frame 1, line 10 = frame 10. Finally, the script replaces the Read > file text with: [lindex [knob sequence] [frame]] This looks up the file name from the sequence control and sets the first frame to 1 through to the last frame in the expanded list. |
frame sequence |
sequence |
none |
Most easily used in conjunction with the import sequence button. Each line contains the name of the file to read for that frame: line 1 = frame 1, line 10 = frame 10. Set the Read > file control to [lindex [knob sequence] [frame]] to look up the file name from this control. This allows you to use a single Read to access multiple sequences of files where the naming does not follow any set numeric sequence, rather than using multiple Read nodes with a single file sequence per Read. |
timecode |
timecode |
none |
If a time code is included in the image file, this control display the time code, in HHMMSSFF format, of the most recently opened image. |
edge code |
edge_code |
none |
If an edge code is found in the image file, this control displays the edge code, in Nuke edge code format, of the most recently opened image. |
Importing Footage / Elements - Step Up to Nuke Tutorial 2 from The Foundry on Vimeo.
We have gone over the basics of the Nuke interface. We can now move in and import some footage and create a basic network. In order to import footage into Nuke, you have to use a Read node. There are four main ways to create a new node in Nuke. The first is to go up to the toolbar and select a node, in this case, it will be under the first icon Image and then I can select Read. I will leave this for now. The second way is to return to the Node Graph, right-click, and choose a node from the list; once again Image > Read. The third way is to press the Tab key on your keyboard, type the node name into the cell, and once you see the name, select it from your dropdown list. The fourth way is to use a pre-assigned hotkey, in this case, the Read node has the R key, so the R key on the keyboard.
Now, if you used any of those four methods, you will get this browse window. On the left, you will see all of the drives and all of the main directories. You click on a directory name one time to go into that directory. Once you get to a folder with footage, you will see it listed, in this case, I have an image sequence. Nuke automatically recognizes image sequences, assuming that they are numbered correctly. So, here the image sequence runs from 0-90. You can just click on the image sequence until it turns orange and open it. Now, if you were to open a still image, or say a QuickTime movie, you would see those listed also. You would simply click on those files until they turned orange and open those also. So, I am going to click Open now and there is a Read node. You can click+drag any of these nodes to rearrange them inside the Node Graph.
So, let’s make a simple network. What I can do is connect these two nodes together. To do that, I can click+drag the end of this input pipe on the Viewer, which looks like an arrow, and then drag+drop it on top of Read1. Once I let go of the mouse button, it makes a connection, and there you see the image sequence in the Viewer. Note the image sequence is 1920x1012. You will see that on the bounding box and also it will appear by the format. If I disconnect this, and I can do that by click+dragging the end of this pipe and letting go, I will see that the original project format is 2K. So, keep in mind, if I reconnect this that Nuke will alter the view based on the resolution of the input going into the Viewer. Now, there are ways to reformat inputs so I can change the width and height, but we'll save that for a later video. For now, this is OK.
Let’s return to the properties panel and take a look at the properties. Of course, you have your path and the name of your image sequence, the recognized resolution, also the recognized frame range, and, at the very end there, is your colorspace. Now, colorspace is set to default (linear). What that means is the Read node is not making any additional color changes to the image sequence. I should note, however, that Nuke operates in a 32-bit floating point colorspace. Whereas a regular 8-bit colorspace operates with 2⁸ of colors per channel or 256 colors per channel, Nuke potentially operates 2³² colors per channel. Also, because its floating point means that Nuke can operate with decimal places. In other words, you can have a value for a color that is something like 1.000000001 - an incredibly tiny decimal place value. So, a combination of a large bit depth and also the ability to handle decimal places means that Nuke operates in a very large, very accurate colorspace. We have imported footage and we have created a basic network, now we are ready to move on to more complex node networks.
“Tears of Steel” footage courtesy (CC) Blender Foundation - mango.blender.org